可信 — 风险评分 10/100
上次扫描:10 小时前 重新扫描
10 /100
baton
Baton — AI orchestrator for OpenClaw. Routes every request to subagents. Never does work itself.
Baton 是一个合法的 OpenClaw AI 代理编排器,声明权限与实际行为高度一致,无恶意行为发现。
技能名称baton
分析耗时69.7s
引擎pi
可以安装
无需阻止,可安全使用。建议后续在 SKILL.md 中补充说明 HTTP 速率限制探测行为以提升透明度。

安全发现 2 项

严重性 安全发现 位置
低危
SKILL.md 文档未明确声明 HTTP 网络调用 文档欺骗
SKILL.md 声明的权限为 read:config, read:agents, exec:scripts, read:env,未提及网络操作。但 probe-limits.js 通过 fetch() 向 provider 速率限制 API 发起 HTTP GET 请求。此行为在 BOOT.md consent 流程('reads your openclaw.json provider config...and runs helper scripts')中已间接覆盖,且代码本身有 SECURITY NOTICE 注释。
metadata: {"permissions":["read:config","read:agents","exec:scripts","read:env"]}
→ 在 SKILL.md 的 ## References 段落后添加 ## Network Behavior 说明,表明辅助脚本会发起速率限制查询且 API key 已做输出脱敏处理。
SKILL.md:1
低危
install.sh 修改工作区引导文件未在 SKILL.md 说明 文档欺骗
install.sh 会修改 $WORKSPACE/BOOT.md 和 $WORKSPACE/AGENTS.md,属于文件写入行为(filesystem:WRITE),但 SKILL.md 仅声明 exec:scripts。虽然 exec:scripts 语义上覆盖辅助脚本执行,但文件修改的具体范围应更明确。
echo "$BOOT_CONTENT" > "$BOOT_MD"
→ 在 SKILL.md 安装说明中注明 install.sh 会向 BOOT.md 和 AGENTS.md 追加内容。
scripts/install.sh:30
资源类型声明权限推断权限状态证据
文件系统 NONE WRITE ✓ 一致 scripts/install.sh:56-58 写 BOOT.md/AGENTS.md; scripts/task-manager.js:47-48 写 ba…
网络访问 NONE READ ✓ 一致 scripts/probe-limits.js:67-73 fetch() 调用用于探测 provider 速率限制 API,BOOT.md consent 流…
命令执行 NONE NONE scripts/install.sh 使用 bash;scripts/probe-limits.js 使用 execSync 执行 openclaw CLI,均…
环境变量 READ READ ✓ 一致 scripts/probe-limits.js:49-51 resolveApiKey() 读取 API key 用于速率限制查询,有 sanitiseOutp…
技能调用 NONE NONE SKILL.md 仅通过 sessions_spawn 委托子代理,无直接 skill_invoke
剪贴板 NONE NONE 无剪贴板操作
浏览器 NONE NONE 无浏览器操作
数据库 NONE NONE 无数据库操作

目录结构

13 文件 · 79.2 KB · 1963 行
JavaScript 2f · 1103L Markdown 8f · 701L Shell 1f · 118L JSON 2f · 41L
├─ 📁 references
│ ├─ 📝 model-profiles.md Markdown 37L · 1.3 KB
│ ├─ 📝 onboarding-guide.md Markdown 111L · 3.4 KB
│ ├─ 📝 orchestration.md Markdown 266L · 9.1 KB
│ ├─ 📝 resilience.md Markdown 80L · 2.9 KB
│ ├─ 📝 task-schema.md Markdown 65L · 2.7 KB
│ └─ 📝 task-types.md Markdown 24L · 946 B
├─ 📁 scripts
│ ├─ 🔧 install.sh Shell 118L · 5.1 KB
│ ├─ 📜 probe-limits.js JavaScript 412L · 21.9 KB
│ ├─ 📋 provider-probes.json JSON 32L · 1.7 KB
│ └─ 📜 task-manager.js JavaScript 691L · 23.7 KB
├─ 📝 BOOT.md Markdown 26L · 1.5 KB
├─ 📋 package.json JSON 9L · 185 B
└─ 📝 SKILL.md Markdown 92L · 4.8 KB

依赖分析 1 项

包名版本来源已知漏洞备注
无第三方 npm 依赖 N/A npm package.json 仅声明 node>=18 engine,无实际依赖

安全亮点

✓ API key 脱敏机制完善:probe-limits.js:41-56 sanitiseOutput() 在输出前过滤 apiKey/api_key/key/secret/token/password/authorization/auth/credential 字段
✓ consent 流程设计良好:BOOT.md:6-10 要求用户在首次运行前明确同意 API key 读取行为
✓ SECURITY NOTICE 头部注释:probe-limits.js:1-14 明确声明 API key 仅用于速率限制查询、不记录不存储
✓ 配置文件哈希追踪:probe-limits.js --check-config-hash 可检测 openclaw.json 变更并触发重新 onboard
✓ 纯任务编排无执行:SKILL.md 硬性规则要求 baton 本身永不执行任务,仅委托子代理
✓ 代码结构清晰,逻辑内聚:task-manager.js 专注任务状态管理,probe-limits.js 专注模型注册与限流探测
✓ 无外部依赖风险:package.json 无第三方 npm 依赖(engines only)
✓ 无硬编码凭证、base64 管道、隐藏指令等高危指标