安全决策报告
ClawSentry
该技能为合法的 OpenClaw 安全插件安装工具,但代码严重混淆且网络目标指向测试环境,存在供应链风险和权限声明宽泛问题。
最直接的威胁证据
为什么得出这个结论
1/4 个维度触发 阻止
声明与实际能力
发现 1 项声明之外的能力或越权行为。
复核
隐藏执行与外联
提取到 5 个一般风险产物,需要结合上下文判断。
通过
攻击链与高危发现
没有形成明确的恶意路径。
复核
依赖与供应链卫生
发现 1 项需要关注的依赖或供应链线索。
风险分是怎么被拉高的
代码严重混淆 +15
bundle.cjs 为 esbuild 压缩后单行代码,无法直接阅读,增加审计难度
网络目标指向测试环境 +10
baseURL: openclaw-innersit.sdk.access-test.clawsentry.cn 包含 test 环境标识
shell:ADMIN 权限声明宽泛 +10
实际仅需调用 openclaw CLI,但声明了最高 ADMIN 权限
敏感数据通过命令行传递 +5
ApiKey/AppId 通过 execSync 参数传递可能暴露在进程列表
依赖 node-machine-id +5
该包声称不收集 MAC/主机名,但存在第三方依赖风险
最关键的证据
中危 代码混淆
代码高度混淆难以审计
bundle.cjs 为单行压缩代码(150行压缩为1行),使用变量名替换(a/b/c/d/e/f等),极大增加安全审计难度
scripts/bundle.cjs:1 应要求提供未混淆的源代码进行独立审计
中危 供应链
网络目标指向测试环境
internalConfig.baseURL 指向 'openclaw-innersit.sdk.access-test.clawsentry.cn' 包含 test/innersit 标识,非生产环境域名
scripts/bundle.cjs:1 确认该 URL 为官方正式域名,非测试/开发环境
中危 权限提升
权限声明与实际不符
shell 权限声明为 ADMIN(最高级),但实际仅需调用 openclaw CLI 进行插件管理
SKILL.md:1 权限声明应精确到实际需要的操作类型
低危 敏感访问
凭证通过命令行参数传递
ApiKey 和 AppId 通过 execSync 命令行参数写入配置文件,可能暴露在 /proc 或审计日志中
scripts/bundle.cjs:1 考虑使用环境变量或 stdin 传递敏感凭证
低危 供应链
依赖 node-machine-id 无版本锁定
依赖 node-machine-id ^1.1.12,^ 表示接受次要版本更新,存在供应链风险
scripts/bundle.cjs:1 固定到具体版本并验证哈希
声明能力 vs 实际能力
文件系统 通过
声明 WRITE
→ 推断 WRITE
scripts/bundle.cjs:1 - 压缩代码读写 .state/ 目录 网络访问 通过
声明 READ
→ 推断 READ+WRITE
scripts/bundle.cjs - HTTPS POST 请求到 API 端点 命令执行 阻止
声明 ADMIN
→ 推断 WRITE
scripts/bundle.cjs - execSync 调用 openclaw 命令,实际仅需 plugin 管理权限 环境变量 通过
声明 NONE
→ 推断 NONE
未发现环境变量遍历 可疑产物与外联
中危 外部 URL
https://www.volcengine.com/ README.md:61
中危 外部 URL
https://bytedance.larkoffice.com/share/base/form/shrcngOInnpkzC7OyN1y7QcwQJ8 README.md:67
中危 外部 URL
https://applink.larkoffice.com/client/chat/chatter/add_by_link?link_token=845sa75d-18de-4b53-a623-42c4db4b25de README.md:73
中危 外部 URL
https://openclaw-innersit.sdk.access-test.clawsentry.cn scripts/bundle.cjs:2
中危 外部 URL
https://console.clawsentry.cn/ai-assistant-security-dev/openclaw?loginToken= scripts/bundle.cjs:2
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| node-machine-id | ^1.1.12 | bundle | 否 | 无版本锁定,仅声明不收集 MAC/主机名 |
| fs | builtin | node | 否 | Node.js 内置模块 |
| child_process | builtin | node | 否 | Node.js 内置模块 |
| https | builtin | node | 否 | Node.js 内置模块 |
| crypto | builtin | node | 否 | Node.js 内置模块 |
文件构成
3 个文件 · 150 行
Markdown 2 个文件 · 139 行JavaScript 1 个文件 · 11 行
需关注文件 · 3
scripts/bundle.cjs 代码高度混淆难以审计 · 网络目标指向测试环境 · 凭证通过命令行参数传递 · 依赖 node-machine-id 无版本锁定 · https://openclaw-innersit.sdk.access-test.clawsentry.cn · https://console.clawsentry.cn/ai-assistant-security-dev/openclaw?loginToken=
README.md https://www.volcengine.com/ · https://bytedance.larkoffice.com/share/base/form/shrcngOInnpkzC7OyN1y7QcwQJ8 · https://applink.larkoffice.com/client/chat/chatter/add_by_link?link_token=845sa75d-18de-4b53-a623-42c4db4b25de
SKILL.md 权限声明与实际不符
安全亮点
SKILL.md 文档较为详细,声明了网络目标、本地文件修改和凭证处理行为
设备指纹仅使用本地生成的 UUID 并发送 SHA-256 哈希,未收集真实硬件信息
未发现直接的凭证收割或外传行为
未发现外部 C2 通信或反向 shell
登录状态持久化在本地 .state/ 目录,未强制外传
openclaw CLI 调用符合其作为 OpenClaw 插件安装工具的定位