Why this conclusion was reached 1/4 dimensions flagged Pass Declared vs actual capability Declared resources and inferred behavior are broadly aligned.
Block Hidden execution and egress 1 high-risk artifacts or egress signals were extracted.
Pass Attack chain and severe findings There is no explicit malicious chain in the report.
Review Dependencies and supply chain hygiene Dependency information is incomplete, so supply-chain confidence stays limited.
What drove the risk score up 已警告的远程脚本执行 +10
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 替代方案
声明了宽泛的 shell:WRITE 权限 +10
allowed-tools 映射为 Bash→shell:WRITE,允许执行任意 shell 命令,范围超出 skill 实际需要的 npm install 和 cargo-ai CLI 调用
Most important evidence Medium Supply Chain
已警告的远程脚本管道执行 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 始终使用 npx @cargo-ai/cli 或 npm install 替代;在执行远程脚本前先下载并审查内容。
Low Priv Escalation
宽泛的 shell:WRITE 权限声明 allowed-tools 映射 Bash→shell:WRITE,实质上允许 skill 执行任意 shell 命令,远超其实际需要的 npm install 和 cargo-ai CLI 调用。在信任的沙箱环境中此为可接受设计,但在更严格的权限控制下应限定为特定命令白名单。
SKILL.md 如环境支持,建议将 shell 权限降级为 READ 或限定可执行命令白名单。
Low Doc Mismatch
会话上报功能涉及外部数据传输 session upsert 和 session-share report create 命令将会话活动发送到 Cargo 平台外部。skill 已要求用户同意且明确排除 secrets 和凭证,但这是数据外传的合法场景。
SKILL.md:89 确认 Cargo 平台的数据处理条款符合组织合规要求后再使用会话共享功能。
Declared capability vs actual capability Filesystem Pass
Declared NONE
→ Inferred NONE
纯文档类 skill,无文件系统操作 Network Pass
Declared READ
→ Inferred READ
安装时从 registry.npmjs.org 和 api.getcargo.io 获取包,无主动外传数据 Shell Pass
Declared WRITE
→ Inferred WRITE
SKILL.md 声明可执行 npm install、cargo-ai CLI 命令,权限范围宽泛但实际用于合法 GTM 平台操作 Environment Pass
Declared NONE
→ Inferred NONE
无环境变量遍历或凭证收割 Skill Invoke Pass
Declared ADMIN
→ Inferred ADMIN
router skill 加载其他 cargo-* 子 skill,符合预期 Clipboard Pass
Declared NONE
→ Inferred NONE
无剪贴板操作 Browser Pass
Declared NONE
→ Inferred NONE
无浏览器自动化 Database Pass
Declared NONE
→ Inferred NONE
通过 cargo-ai CLI 间接访问 Cargo 平台存储,但 skill 本身无直接数据库访问
Suspicious artifacts and egress Critical Dangerous Command
curl -fsSL https://api.getcargo.io/install.sh | sh SKILL.md:79
Medium External URL
https://api.getcargo.io/install.sh SKILL.md:79
Medium External URL
https://clawhub.ai/user/cargo-ai skill-card.md:9
Medium External URL
https://clawhub.ai/cargo-ai/skills/cargo skill-card.md:43
Dependencies and supply chain There are no structured dependency warnings.
File composition Composition File tree
10 files · 1375 lines Markdown 8 files · 1327 lines JSON 1 files · 47 lines Other 1 files · 1 lines
Files of concern · 2
SKILL.md Markdown · 586 lines
已警告的远程脚本管道执行 · 宽泛的 shell:WRITE 权限声明 · 会话上报功能涉及外部数据传输 · curl -fsSL https://api.getcargo.io/install.sh | sh · https://api.getcargo.io/install.sh ·
[email protected] skill-card.md Markdown · 68 lines
https://clawhub.ai/user/cargo-ai · https://clawhub.ai/cargo-ai/skills/cargo
Other files · glossary.md · gotchas.md · interaction.md · use-cases.md · prerequisites.md · uuid-flow.md +2
10 files · 106.1 KB · 1375 lines
Markdown 8f · 1327L JSON 1f · 47L Other 1f · 1L
├─
▾
📁
references
│ ├─
📝
glossary.md
Markdown
348L · 26.4 KB
│ ├─
📝
gotchas.md
Markdown
27L · 7.0 KB
│ ├─
📝
interaction.md
Markdown
63L · 6.2 KB
│ ├─
📝
prerequisites.md
Markdown
65L · 4.6 KB
│ ├─
📝
use-cases.md
Markdown
114L · 5.1 KB
│ └─
📝
uuid-flow.md
Markdown
56L · 3.4 KB
├─
📝
SKILL.md
Markdown
586L · 49.5 KB
├─
📄
cli-version
1L · 7 B
├─
📝
skill-card.md
Markdown
68L · 2.8 KB
└─
📋
skill-metadata.json
JSON
47L · 1.2 KB
Security positives 纯文档类 skill,无任何可执行代码(.js/.py/.sh),不存在代码层面的阴影功能
Skill 自身已警告 curl|sh 危险模式,明确要求「ask before running」并提供安全替代
提供了详尽的权限提示(admin-only 命令、会话报告需同意等)
无凭证收割、无环境变量遍历、无 base64/eval 混淆
无数据外泄意图,报告外传功能需用户明确同意并排除敏感数据
会话注册功能仅在用户同意或插件安装时执行
成本控制机制完善(sample→approval→full run 流程)
token 创建后仅显示一次已明确告知并要求立即存入 secrets manager