Scan Report
25 /100
crypto-news
加密快讯抓取与筛选技能,从 BlockBeats 官方开放接口并发抓取最新快讯
Skill is a legitimate crypto news fetcher but has significant doc-to-code mismatch: push-news.js and send-feishu.js with hardcoded gateway tokens and message-sending behavior are entirely undeclared in SKILL.md.
Safe to install
Document the full skill surface including push-news.js, the gateway token mechanism, and the feishu messaging capability. Avoid hardcoding credentials; use environment variables instead.
Findings 4 items
| Severity | Finding | Location |
|---|---|---|
| Medium | Undeclared messaging capability with hardcoded gateway token Doc Mismatch | push-news.js:9 |
| Medium | Undeclared shell execution via execSync Doc Mismatch | push-news.js:38 |
| Low | Hardcoded credentials not in environment variables Credential Theft | push-news.js:9 |
| Low | Undeclared filesystem:WRITE (cache file write) Priv Escalation | push-news.js:30 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ | READ | ✓ Aligned | new.js reads API response; push-news.js reads .sent-news.json |
| Filesystem | NONE | WRITE | ✓ Aligned | push-news.js writes .sent-news.json; not declared in SKILL.md |
| Network | READ | READ | ✓ Aligned | new.js fetches BlockBeats API (GET); documented in SKILL.md |
| Network | NONE | WRITE | ✗ Violation | push-news.js POSTs to gateway; send-feishu.js POSTs to gateway; SKILL.md declare… |
| Shell | NONE | WRITE | ✗ Violation | push-news.js uses execSync (line 38); not declared in SKILL.md |
19 findings
Medium External URL 外部 URL
https://m.theblockbeats.info/flash/336035 .sent-news.json:3 Medium External URL 外部 URL
https://m.theblockbeats.info/flash/336027 .sent-news.json:4 Medium External URL 外部 URL
https://m.theblockbeats.info/flash/336021 .sent-news.json:5 Medium External URL 外部 URL
https://m.theblockbeats.info/flash/336002 .sent-news.json:6 Medium External URL 外部 URL
https://m.theblockbeats.info/flash/335968 .sent-news.json:7 Medium External URL 外部 URL
https://m.theblockbeats.info/flash/335961 .sent-news.json:8 Medium External URL 外部 URL
https://m.theblockbeats.info/flash/335952 .sent-news.json:9 Medium External URL 外部 URL
https://m.theblockbeats.info/flash/335944 .sent-news.json:10 Medium External URL 外部 URL
https://m.theblockbeats.info/flash/335927 .sent-news.json:11 Medium External URL 外部 URL
https://m.theblockbeats.info/flash/335925 .sent-news.json:12 Medium External URL 外部 URL
https://m.theblockbeats.info/flash/335883 .sent-news.json:13 Medium External URL 外部 URL
https://m.theblockbeats.info/flash/335822 .sent-news.json:14 Medium External URL 外部 URL
https://m.theblockbeats.info/flash/335808 .sent-news.json:15 Medium External URL 外部 URL
https://m.theblockbeats.info/flash/335654 .sent-news.json:16 Medium External URL 外部 URL
https://m.theblockbeats.info/flash/335515 .sent-news.json:17 Medium External URL 外部 URL
https://m.theblockbeats.info/flash/336114 .sent-news.json:18 Medium External URL 外部 URL
https://api.theblockbeats.news/v1/open-api/open-flash SKILL.md:12 Medium External URL 外部 URL
https://m.theblockbeats.info/flash/335678 SKILL.md:75 Medium External URL 外部 URL
http://127.0.0.1:18789 push-news.js:9 File Tree
7 files · 20.6 KB · 690 lines JavaScript 3f · 540L
Markdown 1f · 92L
JSON 3f · 58L
├─
.sent-news.json
JSON
├─
new.js
JavaScript
├─
package-lock.json
JSON
├─
package.json
JSON
├─
push-news.js
JavaScript
├─
send-feishu.js
JavaScript
└─
SKILL.md
Markdown
Dependencies 1 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
ws | ^8.19.0 | npm | No | Well-known WebSocket library, version range is slightly broad but acceptable |
Security Positives
✓ No base64-encoded strings or obfuscated code found
✓ No credential harvesting (no iteration over os.environ for secrets)
✓ No access to sensitive paths (~/.ssh, ~/.aws, .env)
✓ No curl|bash or wget|sh remote script execution
✓ No reverse shell, C2 communication, or data exfiltration to external IPs
✓ No eval(), new Function(), or dynamic code execution
✓ Dependency (ws) is a well-known, widely-used legitimate package
✓ new.js is a clean, straightforward news fetcher that matches its documentation