安全决策报告

skroller

合法的社交媒体内容收集工具,代码结构清晰,无恶意行为证据,存在轻微供应链风险(依赖无版本锁定)。

安装决策优先 来源: ClawHub 扫描时间: 2026/4/6
文件 9
IOC 51
越权项 0
发现 3

为什么得出这个结论

0/4 个维度触发
通过
声明与实际能力

声明资源与推断能力基本一致。

复核
隐藏执行与外联

提取到 51 个一般风险产物,需要结合上下文判断。

通过
攻击链与高危发现

没有形成明确的恶意路径。

通过
依赖与供应链卫生

依赖结构存在,但暂未看到明显高危告警。

风险分是怎么被拉高的

依赖无版本锁定 +15

package.json 中 playwright 使用 ^1.40.0 语义化版本,可能安装不兼容更新

外部网络请求 +5

脚本需访问多个社交媒体平台,属于声明范围内的合法操作

平台ToS合规风险 +5

SKILL.md 提及合规要求,但爬虫行为本身可能触发平台反爬机制

最关键的证据

低危 供应链

依赖版本未精确锁定

playwright 使用 ^1.40.0 语义化版本控制,可能自动安装不兼容的更新版本

package.json:18
改为精确版本或锁定次版本:如 "playwright": "1.40.0" 或 "~1.40.0"
低危 文档欺骗

shell执行能力未在文档声明

export-to-notes.js 使用 execSync 执行 shell 命令(用于 Bear 导出调用 grizzly CLI),但 SKILL.md 中未声明 shell 权限需求

scripts/export-to-notes.js:323
在 SKILL.md 中声明需要 shell:WRITE 权限用于调用 grizzly CLI
提示 敏感访问

AppleScript 执行涉及系统交互

Apple Notes 导出通过 osascript 执行 AppleScript,可能触发系统权限提示

scripts/export-to-notes.js:357
这是 macOS 笔记应用导出的标准方式,属于合法用途

声明能力 vs 实际能力

文件系统 通过
声明 WRITE
→
推断 WRITE
scripts/skroller.js:234 fs.writeFileSync(output, content)
网络访问 通过
声明 READ
→
推断 READ
scripts/skroller.js:166 await page.goto(url)
命令执行 通过
声明 NONE
→
推断 WRITE
scripts/export-to-notes.js:323 execSync(command, { stdio: 'inherit' })

可疑产物与外联

中危 外部 URL
https://twitter.com/...

SKILL.md:215

中危 外部 URL
https://www.reddit.com/search.json?q=test

assets/selector-reference.md:84

中危 外部 URL
https://news.ycombinator.com/search?query=test

assets/selector-reference.md:315

中危 外部 URL
https://twitter.com/

references/platform-details.md:20

中危 外部 URL
https://twitter.com/search?q=

references/platform-details.md:21

中危 外部 URL
https://twitter.com/search?q=%23

references/platform-details.md:22

中危 外部 URL
https://www.reddit.com/search/?q=

references/platform-details.md:51

中危 外部 URL
https://www.reddit.com/r/

references/platform-details.md:52

中危 外部 URL
https://www.reddit.com/user/

references/platform-details.md:53

中危 外部 URL
https://oauth.reddit.com

references/platform-details.md:65

中危 外部 URL
https://www.reddit.com/

references/platform-details.md:66

中危 外部 URL
https://oauth.reddit.com/search.json?q=$

references/platform-details.md:73

依赖与供应链

包名版本来源漏洞备注
playwright ^1.40.0 npm 否 使用语义化版本,建议锁定精确版本

文件构成

9 个文件 · 2491 行
Markdown 4 个文件 · 1293 行JavaScript 3 个文件 · 1135 行JSON 2 个文件 · 63 行
需关注文件 · 6
scripts/export-to-notes.js JavaScript · 655 行
shell执行能力未在文档声明 · AppleScript 执行涉及系统交互 · https://api.notion.com/v1/pages · http://xml.evernote.com/pub/evernote-export4.dtd · https://graph.microsoft.com/v1.0/me/onenote/sections/$ · https://graph.microsoft.com/v1.0/me/onenote/pages · https://keep.google.com
scripts/skroller.js JavaScript · 309 行
https://twitter.com/$ · https://twitter.com/search?q=$ · https://www.reddit.com/search/?q=$ · https://www.instagram.com/$ · https://www.instagram.com/explore/tags/$ · https://www.tiktok.com/search?q=$ · https://www.linkedin.com/search/results/content/?keywords=$ · https://www.youtube.com/results?search_query=$ · https://www.producthunt.com/search?q=$ · https://medium.com/search?q=$ · https://www.pinterest.com/search/pins/?q=$
SKILL.md Markdown · 307 行
https://twitter.com/...
references/platform-details.md Markdown · 350 行
https://twitter.com/ · https://twitter.com/search?q= · https://twitter.com/search?q=%23 · https://www.reddit.com/search/?q= · https://www.reddit.com/r/ · https://www.reddit.com/user/ · https://oauth.reddit.com · https://www.reddit.com/ · https://oauth.reddit.com/search.json?q=$ · https://www.instagram.com/ · https://www.instagram.com/explore/tags/ · https://www.instagram.com/reels/ · https://www.tiktok.com/search?q= · https://www.tiktok.com/@ · https://www.tiktok.com/tag/ · https://www.linkedin.com/search/results/content/?keywords= · https://www.linkedin.com/in/ · https://www.linkedin.com/company/ · https://www.youtube.com/results?search_query= · https://www.youtube.com/@ · https://www.youtube.com/watch?v= · https://news.ycombinator.com/search?query= · https://news.ycombinator.com/ · https://news.ycombinator.com/newest · https://www.producthunt.com/search?q= · https://www.producthunt.com/topics/ · https://www.producthunt.com/leaderboard · https://medium.com/search?q= · https://medium.com/ · https://medium.com/@ · https://www.pinterest.com/search/pins/?q= · https://www.pinterest.com/
assets/selector-reference.md Markdown · 414 行
https://www.reddit.com/search.json?q=test · https://news.ycombinator.com/search?query=test
package.json JSON · 26 行
依赖版本未精确锁定
其他文件 · rate-limits.md · feed-digest.js · .skroller-config.example.json

安全亮点

代码结构清晰,注释完整,包含合规声明
无 base64 编码或混淆代码
无凭证收割、环境变量遍历或敏感路径访问
无外部 IP 或 C2 通信
所有网络请求指向合法社交媒体平台
支持 dry-run 模式,可预览操作
支持多平台笔记应用导出,功能透明