polymarket-opportunities-scanning
Skill declares only network:READ via public API, but actual code uses shell:WRITE (execSync/osascript) and filesystem:WRITE without disclosure in documentation.
SKILL.md states 'No external API keys required' and implies only network:READ via public fetch. However, send-report.js uses execSync to spawn shell processes and osascript for AppleScript execution — shell:WRITE capability not disclosed.
scripts/send-report.js:47 Why this conclusion was reached
2/4 dimensions flagged3 undeclared or violating capabilities were inferred.
3 lower-risk artifacts were extracted and still need context.
The report includes 0 attack-chain steps and 2 severe findings.
Dependency information is incomplete, so supply-chain confidence stays limited.
What drove the risk score up
SKILL.md claims no external deps, only network:READ, but send-report.js uses execSync to run node commands
AppleScript execution via osascript not declared — allows arbitrary macOS command execution
Writes opportunities.json without declaration in SKILL.md
Most important evidence
Shell execution undeclared in SKILL.md
SKILL.md states 'No external API keys required' and implies only network:READ via public fetch. However, send-report.js uses execSync to spawn shell processes and osascript for AppleScript execution — shell:WRITE capability not disclosed.
scripts/send-report.js:47 osascript/AppleScript execution undeclared
Email delivery via osascript is not mentioned in SKILL.md. This allows arbitrary macOS command execution through AppleScript, a significant attack vector if the .env is compromised or the script is modified.
scripts/send-report.js:55 Filesystem write access not declared
SKILL.md does not mention that scanner.js writes opportunities.json to disk. While legitimate for the use case, this filesystem:WRITE capability should be declared.
scripts/scanner.js:217 .env loading not documented
send-report.js loads configuration from .env file but this behavior is not mentioned in SKILL.md setup instructions (only references/setup.md).
scripts/send-report.js:15 Declared capability vs actual capability
scanner.js:13 fetches gamma-api.polymarket.com send-report.js:47 execSync, send-report.js:55 osascript scanner.js:217 fs.writeFileSync send-report.js:15-24 .env loading Suspicious artifacts and egress
https://polymarket.com/event/... SKILL.md:65
https://gamma-api.polymarket.com scripts/scanner.js:12
https://polymarket.com/event/$ scripts/scanner.js:151
Dependencies and supply chain
There are no structured dependency warnings.
File composition
scripts/scanner.js scripts/send-report.js SKILL.md