扫描报告
22 /100
skroller
Automated social media content collection and analysis across 10 platforms (Twitter/X, Instagram, TikTok, Reddit, LinkedIn, YouTube, Product Hunt, Medium, GitHub, Pinterest) using Playwright browser automation
Legitimate social media scraping skill with minor documentation gap around undeclared shell execution via execSync for Bear/Apple Notes export. No malicious behavior, credential theft, or data exfiltration observed.
可以安装
Add explicit documentation in SKILL.md about shell execution via execSync for Bear and osascript for Apple Notes exports. Consider using a safer IPC mechanism instead of execSync where possible.
安全发现 3 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 中危 | Shell execution via execSync not declared in SKILL.md 文档欺骗 | scripts/export-to-notes.js:56 |
| 低危 | Environment variable credential access not declared in SKILL.md 文档欺骗 | scripts/export-to-notes.js:239 |
| 低危 | Credential environment variables encourage credential-in-env pattern 敏感访问 | SKILL.md:144 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 网络访问 | READ | READ | ✓ 一致 | Playwright page.goto() for scraping; fetch() for Notion/OneNote API calls |
| 文件系统 | READ+WRITE | READ+WRITE | ✓ 一致 | Reads .skroller-config.json, writes JSON/CSV/Markdown output, writes to Obsidian… |
| 命令执行 | NONE | WRITE | ✗ 越权 | scripts/export-to-notes.js:56 execSync('which grizzly'), line 74 execSync(comman… |
| 环境变量 | NONE | READ | ✗ 越权 | process.env.NOTION_API_KEY, MS_GRAPH_TOKEN, SKROLLR_TWITTER_COOKIE, SKROLLR_INST… |
| 浏览器 | READ | READ | ✓ 一致 | Playwright chromium.launch() for scraping all 10 platforms |
51 项发现
中危 外部 URL 外部 URL
https://twitter.com/... SKILL.md:215 中危 外部 URL 外部 URL
https://www.reddit.com/search.json?q=test assets/selector-reference.md:84 中危 外部 URL 外部 URL
https://news.ycombinator.com/search?query=test assets/selector-reference.md:315 中危 外部 URL 外部 URL
https://twitter.com/ references/platform-details.md:20 中危 外部 URL 外部 URL
https://twitter.com/search?q= references/platform-details.md:21 中危 外部 URL 外部 URL
https://twitter.com/search?q=%23 references/platform-details.md:22 中危 外部 URL 外部 URL
https://www.reddit.com/search/?q= references/platform-details.md:51 中危 外部 URL 外部 URL
https://www.reddit.com/r/ references/platform-details.md:52 中危 外部 URL 外部 URL
https://www.reddit.com/user/ references/platform-details.md:53 中危 外部 URL 外部 URL
https://oauth.reddit.com references/platform-details.md:65 中危 外部 URL 外部 URL
https://www.reddit.com/ references/platform-details.md:66 中危 外部 URL 外部 URL
https://oauth.reddit.com/search.json?q=$ references/platform-details.md:73 中危 外部 URL 外部 URL
https://www.instagram.com/ references/platform-details.md:84 中危 外部 URL 外部 URL
https://www.instagram.com/explore/tags/ references/platform-details.md:85 中危 外部 URL 外部 URL
https://www.instagram.com/reels/ references/platform-details.md:86 中危 外部 URL 外部 URL
https://www.tiktok.com/search?q= references/platform-details.md:115 中危 外部 URL 外部 URL
https://www.tiktok.com/@ references/platform-details.md:116 中危 外部 URL 外部 URL
https://www.tiktok.com/tag/ references/platform-details.md:117 中危 外部 URL 外部 URL
https://www.linkedin.com/search/results/content/?keywords= references/platform-details.md:146 中危 外部 URL 外部 URL
https://www.linkedin.com/in/ references/platform-details.md:147 中危 外部 URL 外部 URL
https://www.linkedin.com/company/ references/platform-details.md:148 中危 外部 URL 外部 URL
https://www.youtube.com/results?search_query= references/platform-details.md:177 中危 外部 URL 外部 URL
https://www.youtube.com/@ references/platform-details.md:178 中危 外部 URL 外部 URL
https://www.youtube.com/watch?v= references/platform-details.md:179 中危 外部 URL 外部 URL
https://news.ycombinator.com/search?query= references/platform-details.md:231 中危 外部 URL 外部 URL
https://news.ycombinator.com/ references/platform-details.md:232 中危 外部 URL 外部 URL
https://news.ycombinator.com/newest references/platform-details.md:233 中危 外部 URL 外部 URL
https://www.producthunt.com/search?q= references/platform-details.md:256 中危 外部 URL 外部 URL
https://www.producthunt.com/topics/ references/platform-details.md:257 中危 外部 URL 外部 URL
https://www.producthunt.com/leaderboard references/platform-details.md:258 中危 外部 URL 外部 URL
https://medium.com/search?q= references/platform-details.md:279 中危 外部 URL 外部 URL
https://medium.com/ references/platform-details.md:280 中危 外部 URL 外部 URL
https://medium.com/@ references/platform-details.md:281 中危 外部 URL 外部 URL
https://www.pinterest.com/search/pins/?q= references/platform-details.md:333 中危 外部 URL 外部 URL
https://www.pinterest.com/ references/platform-details.md:334 中危 外部 URL 外部 URL
https://api.notion.com/v1/pages scripts/export-to-notes.js:253 中危 外部 URL 外部 URL
http://xml.evernote.com/pub/evernote-export4.dtd scripts/export-to-notes.js:321 中危 外部 URL 外部 URL
https://graph.microsoft.com/v1.0/me/onenote/sections/$ scripts/export-to-notes.js:387 中危 外部 URL 外部 URL
https://graph.microsoft.com/v1.0/me/onenote/pages scripts/export-to-notes.js:388 中危 外部 URL 外部 URL
https://keep.google.com scripts/export-to-notes.js:441 中危 外部 URL 外部 URL
https://twitter.com/$ scripts/skroller.js:24 中危 外部 URL 外部 URL
https://twitter.com/search?q=$ scripts/skroller.js:25 中危 外部 URL 外部 URL
https://www.reddit.com/search/?q=$ scripts/skroller.js:38 中危 外部 URL 外部 URL
https://www.instagram.com/$ scripts/skroller.js:51 中危 外部 URL 外部 URL
https://www.instagram.com/explore/tags/$ scripts/skroller.js:52 中危 外部 URL 外部 URL
https://www.tiktok.com/search?q=$ scripts/skroller.js:63 中危 外部 URL 外部 URL
https://www.linkedin.com/search/results/content/?keywords=$ scripts/skroller.js:74 中危 外部 URL 外部 URL
https://www.youtube.com/results?search_query=$ scripts/skroller.js:86 中危 外部 URL 外部 URL
https://www.producthunt.com/search?q=$ scripts/skroller.js:97 中危 外部 URL 外部 URL
https://medium.com/search?q=$ scripts/skroller.js:108 中危 外部 URL 外部 URL
https://www.pinterest.com/search/pins/?q=$ scripts/skroller.js:132 目录结构
9 文件 · 70.1 KB · 2491 行 Markdown 4f · 1293L
JavaScript 3f · 1135L
JSON 2f · 63L
├─
▾
assets
│ └─
selector-reference.md
Markdown
├─
▾
references
│ ├─
platform-details.md
Markdown
│ └─
rate-limits.md
Markdown
├─
▾
scripts
│ ├─
export-to-notes.js
JavaScript
│ ├─
feed-digest.js
JavaScript
│ └─
skroller.js
JavaScript
├─
.skroller-config.example.json
JSON
├─
package.json
JSON
└─
SKILL.md
Markdown
依赖分析 1 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
playwright | ^1.40.0 | npm | 否 | Version range allows minor updates, consider pinning to 1.40.0 |
安全亮点
✓ No base64-encoded payloads, reverse shells, or C2 communication
✓ No access to ~/.ssh, ~/.aws, or other sensitive host paths
✓ No credential harvesting or exfiltration to external IPs beyond declared API calls
✓ No obfuscation techniques (eval, atob, etc.) detected
✓ playwright dependency is pinned to ^1.40.0
✓ All network calls are to legitimate platform URLs (Twitter, Reddit, Notion API, Microsoft Graph) and are documented
✓ Data exfiltration is limited to user-requested exports to their own note apps
✓ Compliance notices present in all scripts regarding ToS, GDPR, and CCPA
✓ Screenshots and deduplication state stored locally only