安全决策报告

digital-twin-patient-builder

合法医疗建模工具,代码无恶意行为,但存在文档-行为不一致(声明网络访问但实际未使用)

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

为什么得出这个结论

1/4 个维度触发
阻止
声明与实际能力

发现 1 项声明之外的能力或越权行为。

通过
隐藏执行与外联

当前没有明显的高危外联或执行信号。

通过
攻击链与高危发现

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

通过
依赖与供应链卫生

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

风险分是怎么被拉高的

文档-行为不一致 +15

SKILL.md声明'External API calls'和'Network Access: High',但scripts/main.py中无任何网络请求代码

声明权限过宽 +5

Security Checklist声称9项未勾选,实际代码不涉及敏感操作

最关键的证据

低危 文档欺骗

文档声明网络访问但实际未使用

SKILL.md的Risk Assessment声明'Network Access: High',Technical Architecture提及'External API calls',但scripts/main.py中完全没有网络请求代码(无requests/urllib/httpx/curl等)。这是轻微的文档欺骗,不影响安全性。

SKILL.md:36
修正SKILL.md,移除关于网络访问的声明,或补充实际使用的API端点
低危 文档欺骗

Security Checklist声称多项未实现但实际不适用

SKILL.md的Security Checklist包含12项安全措施,全部未勾选,但这些措施(如API timeout、HTTPS检查)对于本地计算工具并不适用。

SKILL.md:96
根据实际功能调整安全清单,移除不适用的网络相关项目
提示 供应链

依赖声明不完整

SKILL.md声明需要scipy和pandas,但requirements.txt只列出dataclasses(标准库)、enum(标准库)、numpy。代码中确实只使用了numpy。

SKILL.md:67
移除requirements.txt中不使用的scipy和pandas声明

声明能力 vs 实际能力

文件系统 通过
声明 WRITE
→
推断 READ+WRITE
scripts/main.py:360-363 读取JSON文件,scripts/main.py:379-380 写入结果
网络访问 阻止
声明 READ (声明外部API调用)
→
推断 NONE
scripts/main.py全文无requests/urllib/http.client/curl等网络相关导入或调用
命令执行 通过
声明 NONE
→
推断 NONE
无subprocess/popen/os.system调用
环境变量 通过
声明 NONE
→
推断 NONE
无os.environ访问
技能调用 通过
声明 NONE
→
推断 NONE
无动态技能调用
剪贴板 通过
声明 NONE
→
推断 NONE
无剪贴板访问
浏览器 通过
声明 NONE
→
推断 NONE
无浏览器自动化代码
数据库 通过
声明 NONE
→
推断 NONE
无数据库连接代码

可疑产物与外联

没有提取到明显 IOC。

依赖与供应链

包名版本来源漏洞备注
numpy 未指定 requirements.txt 否 核心依赖,用于数值计算
scipy 未使用 SKILL.md声明 否 文档声明但代码中未导入
pandas 未使用 SKILL.md声明 否 文档声明但代码中未导入

文件构成

3 个文件 · 695 行
Python 1 个文件 · 485 行Markdown 1 个文件 · 207 行Text 1 个文件 · 3 行
需关注文件 · 1
SKILL.md Markdown · 207 行
文档声明网络访问但实际未使用 · Security Checklist声称多项未实现但实际不适用 · 依赖声明不完整
其他文件 · main.py · requirements.txt

安全亮点

纯本地计算,无网络通信风险
无subprocess/shell执行,无代码注入风险
无环境变量遍历,无凭证收割风险
无访问敏感路径(~/.ssh、~/.aws、.env)
代码结构清晰,药代动力学模型实现规范
依赖简单,仅使用numpy进行数值计算
输入验证通过argparse规范化