可信 — 风险评分 5/100
上次扫描:2 天前 重新扫描
5 /100
baoyu-url-to-markdown
Fetch any URL and convert to markdown using Chrome CDP, with HTML snapshot, media localization, and Defuddle-first conversion pipeline
baoyu-url-to-markdown v1.58.1 是一个合法的网页抓取+Markdown转换工具,所有网络/文件系统/shell操作均与声明功能一致,预扫描报告的「硬编码IP 130.0.0.0」实为 Chrome User-Agent 版本占位符而非真实外连地址,无恶意行为。
技能名称baoyu-url-to-markdown
分析耗时66.2s
引擎pi
可以安装
可直接使用。静态扫描器将 Chrome UA 版本号误报为硬编码 IP,建议更新扫描规则排除此类误报。

安全发现 3 项

严重性 安全发现 位置
提示
预扫描器误报:硬编码 IP 实为 Chrome UA 版本占位符
预扫描报告 scripts/constants.ts:4 标记 '130.0.0.0' 为高危硬编码 IP。经代码审查,该值为 'Chrome/130.0.0.0' User-Agent 字符串中 Chrome 版本号的一部分,并非任何网络连接目标。Chrome 标准 UA 格式为 'Chrome/XXX.0.0.0',这里的占位版本号不会导致出站连接。
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36
→ 更新预扫描规则:将 IP 地址 IOC 检测与 User-Agent 字符串中的版本占位符区分开来,避免将 'Chrome/XXX.0.0.0' 模式误报为硬编码 IP
scripts/constants.ts:4
提示
defuddle/node 导入路径未在 package.json 中显式声明
defuddle-converter.ts 导入 'defuddle/node',但 package.json 仅声明 'defuddle': '^0.12.0'。defuddle 包的 node 导出可能依赖包内部约定。运行时若失败会以 'defuddle.md API fallback' 降级处理,不影响整体功能。
import { Defuddle } from 'defuddle/node'
→ 确认 defuddle 包版本 ^0.12.0 确实支持 'defuddle/node' 导入路径,或在 package.json 中添加 'defuddle': 'file:./vendor/defuddle' 等本地路径
scripts/defuddle-converter.ts:1
提示
baoyu-chrome-cdp 为本地 vendor 库
package.json 依赖 'baoyu-chrome-cdp': 'file:./vendor/baoyu-chrome-cdp',非 npm 官方发布包。vendor 包为 private 类型,代码由 baoyu-skills 项目自维护,经代码审查未发现恶意逻辑。
baoyu-chrome-cdp: file:./vendor/baoyu-chrome-cdp
→ 定期审查 vendor/baoyu-chrome-cdp 源码更新,确保与上游保持同步
scripts/package.json:8
资源类型声明权限推断权限状态证据
网络访问 READ READ ✓ 一致 main.ts:101 访问 https://defuddle.md/<url>(SKILL.md:207 声明的 fallback API); media-l…
命令执行 WRITE WRITE ✓ 一致 cdp.ts 通过 spawn() 启动 Chrome 进程(vendor/index.ts:438),与 SKILL.md 声明的「Chrome CDP」功能…
文件系统 WRITE WRITE ✓ 一致 main.ts 保存 markdown 和 HTML 快照到用户指定输出目录(SKILL.md:88 声明); media-localizer.ts 下载图片/…
环境变量 READ READ ✓ 一致 paths.ts 读取 URL_CHROME_PATH、URL_DATA_DIR、URL_CHROME_PROFILE_DIR(SKILL.md:143 声明)…
浏览器 WRITE WRITE ✓ 一致 cdp.ts 通过 Chrome DevTools Protocol 控制 Chrome 行为(SKILL.md 核心功能声明)
1 高危 5 项发现
📡
高危 IP 地址 硬编码 IP 地址
130.0.0.0
scripts/constants.ts:4
🔗
中危 外部 URL 外部 URL
https://defuddle.md/
SKILL.md:207
🔗
中危 外部 URL 外部 URL
https://defuddle.md/stephango.com
SKILL.md:255
🔗
中危 外部 URL 外部 URL
https://defuddle.md/$
scripts/main.ts:101
🔗
中危 外部 URL 外部 URL
https://gemini.google.com/app
scripts/vendor/baoyu-chrome-cdp/src/index.test.ts:242

目录结构

15 文件 · 104.6 KB · 3199 行
TypeScript 11f · 2809L Markdown 2f · 367L JSON 2f · 23L
├─ 📁 references
│ └─ 📁 config
│ └─ 📝 first-time-setup.md Markdown 106L · 2.4 KB
├─ 📁 scripts
│ ├─ 📁 vendor
│ │ └─ 📁 baoyu-chrome-cdp
│ │ ├─ 📁 src
│ │ │ ├─ 📜 index.test.ts TypeScript 307L · 9.3 KB
│ │ │ └─ 📜 index.ts TypeScript 523L · 16.8 KB
│ │ └─ 📋 package.json JSON 9L · 140 B
│ ├─ 📜 cdp.ts TypeScript 179L · 5.7 KB
│ ├─ 📜 constants.ts TypeScript 13L · 544 B
│ ├─ 📜 defuddle-converter.ts TypeScript 58L · 1.9 KB
│ ├─ 📜 html-to-markdown.ts TypeScript 135L · 4.3 KB
│ ├─ 📜 legacy-converter.ts TypeScript 629L · 17.9 KB
│ ├─ 📜 main.ts TypeScript 314L · 11.1 KB
│ ├─ 📜 markdown-conversion-shared.ts TypeScript 305L · 9.7 KB
│ ├─ 📜 media-localizer.ts TypeScript 317L · 9.5 KB
│ ├─ 📋 package.json JSON 14L · 347 B
│ └─ 📜 paths.ts TypeScript 29L · 1.1 KB
└─ 📝 SKILL.md Markdown 261L · 13.9 KB

依赖分析 7 项

包名版本来源已知漏洞备注
defuddle ^0.12.0 npm package.json 声明 ^0.12.0;代码使用 'defuddle/node' 子路径导入,需确认包版本支持此路径
baoyu-chrome-cdp 0.1.0 (local) file:./vendor/baoyu-chrome-cdp 本地 vendor 库,非 npm 官方包;经代码审查无恶意逻辑
@mozilla/readability ^0.6.0 npm Mozilla 官方项目
jsdom ^24.1.3 npm 知名 DOM 模拟库
turndown ^7.2.2 npm HTML→Markdown 转换库
turndown-plugin-gfm ^1.0.2 npm Turndown GitHub 风格 Markdown 插件
linkedom ^0.18.12 npm 轻量级 HTML/DOM 替代库

安全亮点

✓ SKILL.md 文档完整,所有脚本目录、CLI 参数、转换流程、fallback 机制均有清晰说明
✓ 声明的能力(Chrome CDP、URL 抓取、Markdown 转换、媒体下载)与实际代码完全对应,无阴影功能
✓ credential 处理规范:只读取 Chrome profile 目录,无 SSH/AWS 等敏感凭证路径访问
✓ 外部网络访问范围受控:仅 defuddle.md fallback API + 用户 markdown 中引用的媒体资源,无裸 IP 连接
✓ 依赖生态干净:均为成熟的网页处理库(@mozilla/readability、turndown、jsdom、defuddle),无可疑第三方包
✓ 敏感文件检查:未发现 .env、~/.ssh、~/.aws 等敏感路径访问
✓ 无 eval/字符串动态执行、无 base64 解码管道、无远程脚本下载(curl | bash / wget | sh)