低风险 — 风险评分 20/100
上次扫描:2 天前 重新扫描
20 /100
mia-trust
MIA-Trust - Memory-Intelligent Assistant Trust Pipeline(信任守门+记忆进化 pipeline)
MIA-Trust 是一个合法的 AI Agent 安全 pipeline 工具,但 SKILL.md 文档透明度不足,未声明实际使用的网络访问、文件写入和环境变量读取等权限。代码本身无恶意行为,防护逻辑合理。
技能名称mia-trust
分析耗时53.1s
引擎pi
可以安装
建议补充 SKILL.md 文档,明确声明 network:READ、filesystem:WRITE、environment:READ 权限,以及外部 API 调用和记忆存储功能。

安全发现 5 项

严重性 安全发现 位置
中危
文档透明度不足 - 未声明网络访问
SKILL.md 未声明该技能会通过 HTTP 调用外部 LLM API (MIA_TRUST_URL/MIA_PLANNER_URL)。trust/mia-trust.mjs 的 callLLM() 和 planner/mia-planner.mjs 均会发起外部网络请求。
const response = await fetch(CHAT_URL, { method: 'POST', headers, body: JSON.stringify(body) })
→ 在 SKILL.md 中声明允许 network:READ,并说明需要配置 MIA_TRUST_API_KEY 等环境变量
trust/mia-trust.mjs:226
中危
文档透明度不足 - 未声明文件系统写入
代码会写入多个数据文件 (memory.jsonl, feedback.jsonl, trust_experience.json),但 SKILL.md 未声明 filesystem:WRITE 权限。
appendFileSync(DEFAULTS.MIA_MEMORY_FILE, JSON.stringify(memoryRecord) + '\n')
→ 在 SKILL.md 中声明允许 filesystem:WRITE,并列出所有数据存储路径
run.mjs:99
中危
文档透明度不足 - 未声明环境变量读取
代码读取多个环境变量 (API_KEY, URL, MODEL 等敏感配置),SKILL.md 仅提到部分配置要求,未明确声明 environment:READ 权限。
const API_KEY = process.env.MIA_TRUST_API_KEY || process.env.TAME_API_KEY || process.env.MIA_PLANNER_API_KEY
→ 在 SKILL.md 中声明允许 environment:READ,并列出所有需要的环境变量
trust/mia-trust.mjs:35
低危
未声明的子进程执行
run.mjs 使用 execSync 执行 node 子进程命令,SKILL.md 未声明 shell:WRITE 权限。
execSync(`node ${join(__dirname, 'trust/mia-trust.mjs')} guard_blocked...`, { encoding: 'utf-8', timeout: 60000 })
→ 在 SKILL.md 中声明允许 shell:WRITE 用于执行 pipeline 脚本
run.mjs:56
提示
依赖版本未锁定
package.json 中 node-fetch 版本为 ^3.3.2,未锁定具体版本。
"node-fetch": "^3.3.2"
→ 建议锁定具体版本以确保构建可重现性
package.json:17
资源类型声明权限推断权限状态证据
网络访问 NONE READ ✓ 一致 trust/mia-trust.mjs:226-246 callLLM() 通过 fetch 发送 HTTP 请求
文件系统 NONE WRITE ✓ 一致 run.mjs:99 写入 memory.jsonl; trust/mia-trust.mjs:182 appendFileSync 写入经验库
环境变量 NONE READ ✓ 一致 trust/mia-trust.mjs:35-39 读取 MIA_TRUST_API_KEY 等多个配置变量
命令执行 NONE WRITE ✓ 一致 run.mjs:56-62 使用 execSync 执行 node 子进程
3 项发现
🔗
中危 外部 URL 外部 URL
https://your-api-endpoint/v1/chat/completions
PIPELINE.md:134
🔗
中危 外部 URL 外部 URL
https://paypal.me/jimmywarting
package-lock.json:35
🔗
中危 外部 URL 外部 URL
https://opencollective.com/node-fetch
package-lock.json:94

目录结构

11 文件 · 211.5 KB · 3056 行
JavaScript 6f · 2064L JSON 3f · 716L Markdown 2f · 276L
├─ 📁 feedback
│ └─ 📜 mia-feedback.mjs JavaScript 95L · 2.4 KB
├─ 📁 memory
│ └─ 📜 mia-memory.mjs JavaScript 426L · 12.4 KB
├─ 📁 planner
│ └─ 📜 mia-planner.mjs JavaScript 191L · 6.0 KB
├─ 📁 trust
│ ├─ 📜 mia-trust.mjs JavaScript 1190L · 47.8 KB
│ └─ 📋 trust_experience.json JSON 579L · 128.2 KB
├─ 📜 _sync_trust_exp.mjs JavaScript 5L · 266 B
├─ 📋 package-lock.json JSON 107L · 3.3 KB
├─ 📋 package.json JSON 30L · 691 B
├─ 📝 PIPELINE.md Markdown 157L · 3.5 KB
├─ 📜 run.mjs JavaScript 157L · 4.2 KB
└─ 📝 SKILL.md Markdown 119L · 2.6 KB

依赖分析 1 项

包名版本来源已知漏洞备注
node-fetch ^3.3.2 npm 无版本锁定,建议固定具体版本

安全亮点

✓ 代码实现了合理的安全防护逻辑 (guard_blocked, evaluate_plan)
✓ 包含正则快扫 + LLM 深度分析的二级防护机制
✓ 有历史经验库用于风险评估借鉴
✓ 无凭证收割、远程代码执行等恶意行为
✓ 经验库 trust_experience.json 包含实际防护案例样例
✓ 代码结构清晰,功能模块化