可信 — 风险评分 5/100
上次扫描:4 小时前 重新扫描
5 /100
castreader
Read any web page aloud with natural AI voices. Extract article text from any URL and convert it to audio (MP3).
CastReader 是一个合法的文本转语音(Text-to-Speech)工具,功能为从 URL 提取内容并生成 MP3 音频。预扫描发现的 IOC 均为误报:Base64 解码用于 TTS API 返回的音频数据,131.0.0.0 是占位符 IP。代码无恶意行为,无阴影功能,文档与实现完全一致。
技能名称castreader
分析耗时34.8s
引擎pi
ClawHub Castreader Openclaw Skill v2.1.1 by vinxu
📥 278 📦 1
ClawHub 判定 可疑 dangerous_execenv_credential_accesspotential_exfiltrationvt_suspicious
可以安装
无需修改,可直接使用。建议锁定 puppeteer 依赖版本以提升供应链稳定性。

安全发现 3 项

严重性 安全发现 位置
低危
puppeteer 依赖无版本锁定 供应链
package.json 中 puppeteer 版本为 ^23.0.0,允许自动升级到次版本或修订版本,可能引入非预期变更
"puppeteer": "^23.0.0"
→ 建议固定版本:"puppeteer": "23.0.0"
package.json:12
提示
Base64 音频解码(误报) 代码混淆
预扫描标记 Buffer.from(audioBase64, 'base64') 为代码混淆。经分析,这是 TTS API 返回音频数据的标准解码方式,非恶意代码混淆
Buffer.from(audioBase64, 'base64')
→ 无需操作,已确认为合法用途
scripts/generate-paragraph.js:94
提示
硬编码 IP 地址(误报) 敏感访问
预扫描标记 131.0.0.0 为硬编码 IP。经分析,代码中未使用该 IP 进行实际网络通信,为占位符
无实际使用
→ 无需操作,已确认为占位符
scripts/extract.js:42
资源类型声明权限推断权限状态证据
文件系统 READ READ ✓ 一致 read-url.js:67 fs.readFileSync
网络访问 READ READ ✓ 一致 generate-text.js:45 fetch to CASTREADER_API_URL
命令执行 NONE NONE 无 shell 执行
1 严重 1 高危 16 项发现
🔒
严重 编码执行 Base64 编码执行(代码混淆)
Buffer.from(audioBase64, 'base64'
scripts/generate-paragraph.js:94
📡
高危 IP 地址 硬编码 IP 地址
131.0.0.0
scripts/extract.js:42
🔗
中危 外部 URL 外部 URL
https://img.shields.io/badge/OpenClaw-Skill-blue
README.md:3
🔗
中危 外部 URL 外部 URL
https://clawhub.com/castreader
README.md:3
🔗
中危 外部 URL 外部 URL
https://img.shields.io/badge/License-MIT-green.svg
README.md:4
🔗
中危 外部 URL 外部 URL
https://img.shields.io/badge/platform-macOS%20%7C%20Linux%20%7C%20Windows-lightgrey
README.md:5
🔗
中危 外部 URL 外部 URL
https://en.wikipedia.org/wiki/Text-to-speech
README.md:46
🔗
中危 外部 URL 外部 URL
https://notion.so/my-page
README.md:99
🔗
中危 外部 URL 外部 URL
https://chromewebstore.google.com/detail/castreader-tts-reader/foammmkhpbeladledijkdljlechlclpb
README.md:102
🔗
中危 外部 URL 外部 URL
http://api.castreader.ai:8123
README.md:134
🔗
中危 外部 URL 外部 URL
https://castreader.ai
README.md:161
🔗
中危 外部 URL 外部 URL
https://castreader.ai/openclaw
README.md:162
🔗
中危 外部 URL 外部 URL
https://microsoftedge.microsoft.com/addons/detail/niidajfbelfcgnkmnpcmdlioclhljaaj
README.md:164
🔗
中危 外部 URL 外部 URL
https://www.patreon.com/feross
package-lock.json:248
🔗
中危 外部 URL 外部 URL
https://feross.org/support
package-lock.json:252
🔗
中危 外部 URL 外部 URL
https://alistapart.com/blog/post/successful-or-unsuccessful-the-post-good-design-vocabulary/
scripts/demo.js:58

目录结构

11 文件 · 84.4 KB · 2592 行
JSON 2f · 1222L JavaScript 6f · 1028L Markdown 3f · 342L
├─ 📁 references
│ └─ 📝 castreader-api.md Markdown 76L · 2.2 KB
├─ 📁 scripts
│ ├─ 📜 demo.js JavaScript 169L · 4.7 KB
│ ├─ 📜 extract.js JavaScript 87L · 2.3 KB
│ ├─ 📜 generate-paragraph.js JavaScript 155L · 4.6 KB
│ ├─ 📜 generate-text.js JavaScript 123L · 3.3 KB
│ ├─ 📜 read-aloud.js JavaScript 280L · 9.3 KB
│ └─ 📜 read-url.js JavaScript 214L · 6.2 KB
├─ 📋 package-lock.json JSON 1208L · 42.3 KB
├─ 📋 package.json JSON 14L · 391 B
├─ 📝 README.md Markdown 169L · 6.4 KB
└─ 📝 SKILL.md Markdown 97L · 2.8 KB

依赖分析 1 项

包名版本来源已知漏洞备注
puppeteer ^23.0.0 npm 无版本锁定,建议固定版本

安全亮点

✓ 文档与实现完全一致,无阴影功能
✓ 无敏感文件路径访问(~/.ssh、~/.aws、.env 等)
✓ 无凭证收割或环境变量遍历
✓ 无远程代码执行或反向 shell
✓ 无数据外泄或 C2 通信
✓ API 端点可配置,支持自托管
✓ 使用 fetch API 而非 curl/bash 管道