扫描报告
10 /100
baton
Baton — AI orchestrator for OpenClaw. Routes every request to subagents. Never does work itself.
Baton 是一个合法的 OpenClaw AI 代理编排器,声明权限与实际行为高度一致,无恶意行为发现。
可以安装
无需阻止,可安全使用。建议后续在 SKILL.md 中补充说明 HTTP 速率限制探测行为以提升透明度。
安全发现 2 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | SKILL.md 文档未明确声明 HTTP 网络调用 文档欺骗 | SKILL.md:1 |
| 低危 | install.sh 修改工作区引导文件未在 SKILL.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
│ ├─
onboarding-guide.md
Markdown
│ ├─
orchestration.md
Markdown
│ ├─
resilience.md
Markdown
│ ├─
task-schema.md
Markdown
│ └─
task-types.md
Markdown
├─
▾
scripts
│ ├─
install.sh
Shell
│ ├─
probe-limits.js
JavaScript
│ ├─
provider-probes.json
JSON
│ └─
task-manager.js
JavaScript
├─
BOOT.md
Markdown
├─
package.json
JSON
└─
SKILL.md
Markdown
依赖分析 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 管道、隐藏指令等高危指标