安全决策报告
introspection-debugger
调试框架功能基本正常,但 webhook 通知机制会发送完整错误堆栈信息到外部端点,存在数据外泄风险,且文档未明确声明此行为。npm install 无版本锁定存在供应链风险。
最直接的威胁证据
为什么得出这个结论
1/4 个维度触发 阻止
声明与实际能力
发现 1 项声明之外的能力或越权行为。
通过
隐藏执行与外联
当前没有明显的高危外联或执行信号。
通过
攻击链与高危发现
没有形成明确的恶意路径。
复核
依赖与供应链卫生
发现 1 项需要关注的依赖或供应链线索。
风险分是怎么被拉高的
未声明的数据外传行为 +20
notifyHuman() 通过 webhook 发送完整错误报告(包含堆栈)到外部端点,SKILL.md 未明确说明
供应链风险 +10
无 package.json,npm install 无版本锁定
文档-行为轻微差异 +10
fixPermissions 自动 chmod +x 在文档中未明确声明
最关键的证据
中危 数据外泄
Webhook 通知机制发送完整错误报告到外部端点
notifyHuman() 方法支持通过 HTTP POST 将完整错误报告发送到配置的 webhook URL。报告包含错误消息、堆栈跟踪、源信息等,可能泄露敏感路径信息(如 ~/.ssh、/home/xxx 等路径结构)。SKILL.md 仅说明'无法修复时通知人类',未明确声明会发送完整堆栈信息。
introspection-debugger.js:424 1) 在 SKILL.md 中明确说明 webhook 会发送的数据类型;2) 在发送前过滤敏感路径和凭证;3) 提供数据脱敏选项
中危 供应链
缺少依赖锁定文件
无 package.json 文件,installDependency() 执行 'npm install' 时无版本锁定,存在供应链攻击风险。
introspection-debugger.js:157 添加 package.json 并使用 'npm install package@version' 锁定版本
低危 文档欺骗
fixPermissions 自动修改权限未在文档中明确声明
fixPermissions 方法自动执行 'chmod +x' 修改文件权限,属于权限提升操作,但 SKILL.md 仅简单列出'自动修复'功能,未明确说明此权限修改行为。
introspection-debugger.js:140 在 SKILL.md 中明确说明'自动修复'包含权限修改操作
声明能力 vs 实际能力
文件系统 通过
声明 WRITE
→ 推断 WRITE
SKILL.md:createMissingFile 声明自动创建文件,代码一致 命令执行 通过
声明 WRITE
→ 推断 WRITE
SKILL.md:installDependency 声明自动安装依赖,代码一致 网络访问 阻止
声明 NONE
→ 推断 WRITE
introspection-debugger.js:424 notifyHuman() 发送 HTTP POST 到外部 webhook,但 SKILL.md 未声明此能力 可疑产物与外联
没有提取到明显 IOC。
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| node:fs | built-in | Node.js | 否 | 内置模块 |
| node:child_process | built-in | Node.js | 否 | 内置模块 |
| node:https | built-in | Node.js | 否 | 内置模块 |
| npm (运行时) | unlocked | shell | 否 | installDependency 无版本锁定 |
文件构成
2 个文件 · 614 行
JavaScript 1 个文件 · 526 行Markdown 1 个文件 · 88 行
需关注文件 · 1
introspection-debugger.js Webhook 通知机制发送完整错误报告到外部端点 · 缺少依赖锁定文件 · fixPermissions 自动修改权限未在文档中明确声明
其他文件 · SKILL.md
安全亮点
代码结构清晰,使用 EventEmitter 模式
错误处理规则库设计合理,覆盖常见错误类型
修复方法与错误类型匹配度高
无 base64/eval 等反分析技术
无凭证收割代码
无明显的恶意行为