cargo
Cargo CLI 路由技能包,纯文档类 skill,声明了宽泛的 shell:WRITE 权限且包含已警告的 curl|sh 安装模式,但整体为合法 GTM 平台文档,无恶意代码或阴影功能。
为什么得出这个结论
1/4 个维度触发声明资源与推断能力基本一致。
提取到 1 个高危 IOC 或外联信号。
没有形成明确的恶意路径。
没有完整依赖信息,供应链判断需要保留弹性。
风险分是怎么被拉高的
SKILL.md:79 包含 curl -fsSL https://api.getcargo.io/install.sh | sh,skill 自身已明确警告「Never run that installer on the user's behalf without asking」并提供了安全的 npx 替代方案
allowed-tools 映射为 Bash→shell:WRITE,允许执行任意 shell 命令,范围超出 skill 实际需要的 npm install 和 cargo-ai CLI 调用
最关键的证据
已警告的远程脚本管道执行
SKILL.md:79 文档化了 curl -fsSL https://api.getcargo.io/install.sh | sh 安装模式,这是已知的高危模式。但 skill 自身已明确警告「Never run that installer on the user's behalf without asking」且提供了安全的 npx 替代方案,属于已声明风险的合法文档。
SKILL.md:79 宽泛的 shell:WRITE 权限声明
allowed-tools 映射 Bash→shell:WRITE,实质上允许 skill 执行任意 shell 命令,远超其实际需要的 npm install 和 cargo-ai CLI 调用。在信任的沙箱环境中此为可接受设计,但在更严格的权限控制下应限定为特定命令白名单。
SKILL.md 会话上报功能涉及外部数据传输
session upsert 和 session-share report create 命令将会话活动发送到 Cargo 平台外部。skill 已要求用户同意且明确排除 secrets 和凭证,但这是数据外传的合法场景。
SKILL.md:89 声明能力 vs 实际能力
纯文档类 skill,无文件系统操作 安装时从 registry.npmjs.org 和 api.getcargo.io 获取包,无主动外传数据 SKILL.md 声明可执行 npm install、cargo-ai CLI 命令,权限范围宽泛但实际用于合法 GTM 平台操作 无环境变量遍历或凭证收割 router skill 加载其他 cargo-* 子 skill,符合预期 无剪贴板操作 无浏览器自动化 通过 cargo-ai CLI 间接访问 Cargo 平台存储,但 skill 本身无直接数据库访问 可疑产物与外联
curl -fsSL https://api.getcargo.io/install.sh | sh SKILL.md:79
https://api.getcargo.io/install.sh SKILL.md:79
https://clawhub.ai/user/cargo-ai skill-card.md:9
https://clawhub.ai/cargo-ai/skills/cargo skill-card.md:43
依赖与供应链
没有结构化依赖告警。
文件构成
SKILL.md skill-card.md