安全决策报告

fin-advisor

脚本存在未声明的网络访问和环境变量读取操作,但未发现明显的凭证收割或数据外泄行为,属于边界可疑技能。

安装决策优先 来源: ClawHub 扫描时间: 2026/4/9
文件 9
IOC 0
越权项 1
发现 3
最直接的威胁证据

为什么得出这个结论

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

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

通过
隐藏执行与外联

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

通过
攻击链与高危发现

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

复核
依赖与供应链卫生

没有完整依赖信息,供应链判断需要保留弹性。

风险分是怎么被拉高的

未声明的网络访问 +15

SKILL.md 未声明网络访问能力,但 scripts/slot-filling.sh 使用 curl 向外部服务发送 HTTP POST 请求

环境变量读取 +10

脚本读取 SLOT_SERVICE_TOKEN 等环境变量,虽未外泄但未在文档说明

边界行为 +10

脚本行为超出声明范围:向外部服务传输 query 数据并接收实体数据

最关键的证据

中危 文档欺骗

未声明的网络访问能力

scripts/slot-filling.sh 使用 curl 向 SLOT_SERVICE_URL 发送 HTTP POST 请求,但 SKILL.md 的 allowed-tools 仅声明 Bash(mcporter:*) 和 Read(*.md),未声明网络访问能力。

scripts/slot-filling.sh:63
在 SKILL.md 的 allowed-tools 中添加网络访问声明,说明 slot-filling 服务的调用目的和数据用途
低危 敏感访问

环境变量读取未在文档说明

脚本读取 SLOT_SERVICE_TOKEN 等多个环境变量用于外部服务认证,虽未外泄凭证,但 SKILL.md 未说明需要哪些环境变量。

scripts/slot-filling.sh:16
在文档中说明必需的环境变量,或将敏感配置移至非脚本位置
低危 供应链

外部服务依赖未声明

脚本依赖外部 slot-filling 服务获取实体数据,但未在文档中说明该外部依赖的存在和用途。

scripts/slot-filling.sh:50
在 SKILL.md 中说明外部服务依赖,建议添加 mock 模式作为回退方案(已实现但默认关闭)

声明能力 vs 实际能力

命令执行 通过
声明 WRITE
推断 WRITE
SKILL.md:3 scripts/slot-filling.sh:63-71
文件系统 通过
声明 READ
推断 READ
SKILL.md:3 仅限 *.md 文件
网络访问 阻止
声明 NONE
推断 READ
scripts/slot-filling.sh:63-71 curl POST 到外部服务

可疑产物与外联

没有提取到明显 IOC。

依赖与供应链

没有结构化依赖告警。

文件构成

9 个文件 · 678 行
Markdown 8 个文件 · 552 行Shell 1 个文件 · 126 行
需关注文件 · 1
scripts/slot-filling.sh Shell · 126 行
未声明的网络访问能力 · 环境变量读取未在文档说明 · 外部服务依赖未声明
其他文件 · SKILL.md · tool-guide.md · domain-knowledge.md · output-guide.md · compliance.md · friendly.md +2

安全亮点

脚本包含完善的错误处理机制,失败时优雅降级返回原始工具列表
实现了 MOCK_MODE 支持,可在测试环境避免真实网络调用
响应数据经过 JSON 校验,非有效响应不处理
没有代码混淆或可疑的动态执行
合规文档完善,包含投资建议的红线和正确表达方式