solo-mission
技能核心功能正常但存在供应链风险:wallet-setup.md 引用的远程脚本安装命令未在 SKILL.md 声明权限中明确说明,且与私钥处理的安全谨慎态度不一致。
wallet-setup.md:29 包含 `curl -L https://foundry.paradigm.xyz | bash`,通过 bash 管道执行远程脚本安装 Foundry。SKILL.md 的 compatibility 字段声明了依赖但未说明安装方式,skill-card.md 的 declaredPermissions 中无对应记录。这是典型的远程代码执行风险,且与 skill 对私钥处理的极度谨慎态度不一致('NEVER ask for PRIVATE_KEY')。
references/wallet-setup.md:29 为什么得出这个结论
3/4 个维度触发发现 1 项声明之外的能力或越权行为。
提取到 1 个高危 IOC 或外联信号。
报告包含 0 步攻击链,另有 1 项高危或严重发现。
没有完整依赖信息,供应链判断需要保留弹性。
风险分是怎么被拉高的
wallet-setup.md:29 包含 `curl -L https://foundry.paradigm.xyz | bash`,用于安装 Foundry,但 SKILL.md 的 compatibility 字段仅声明 '需要 Foundry cast',未说明安装方式,也未在 skill-card.md 声明。
Agent Registration 流程将 SOLO_AGENT_KEY 写入 .claude/settings.local.json,该行为在 skill-card.md 'Known Risks' 中已披露但未在 declaredPermissions 明确声明 filesystem:WRITE 权限范围。
私钥处理有完善的生命周期管理(加密存储→运行时解密→立即 unset),API 凭证仅用于平台通信,不访问系统凭证,shell 执行均为必需的链上操作。
wallet-setup.md 开头明确标注 'Skip this if you already have a funding tool',且包含人工操作警告,降低了自动执行风险。
最关键的证据
未声明的远程脚本执行(Foundry 安装)
wallet-setup.md:29 包含 `curl -L https://foundry.paradigm.xyz | bash`,通过 bash 管道执行远程脚本安装 Foundry。SKILL.md 的 compatibility 字段声明了依赖但未说明安装方式,skill-card.md 的 declaredPermissions 中无对应记录。这是典型的远程代码执行风险,且与 skill 对私钥处理的极度谨慎态度不一致('NEVER ask for PRIVATE_KEY')。
references/wallet-setup.md:29 凭证持久化行为权限未声明
Agent Registration 流程将 SOLO_AGENT_KEY 持久化写入 .claude/settings.local.json,属于 filesystem:WRITE 操作。skill-card.md 'Known Risks' 中有文字描述但未在 declaredPermissions 中明确声明 filesystem 权限,且写入路径 (.claude/settings.local.json) 未限制。
SKILL.md:56 依赖声明粒度不足
SKILL.md 声明 'Requires curl and jq. On-chain missions additionally require Foundry cast and openssl',但未区分工具依赖 vs 安装方式。wallet-setup.md 中的远程脚本执行是对该声明的具体化,但未形成明确的引用关系。
SKILL.md:7 声明能力 vs 实际能力
SKILL.md:13 X-Agent-Key 调用 API SKILL.md:26-28 session start scan, cast send calls SKILL.md:56 mkdir + jq 写入 .claude/settings.local.json; skill-card.md 未声明 SKILL.md:8 primaryEnv: SOLO_AGENT_KEY N/A 可疑产物与外联
curl -L https://foundry.paradigm.xyz | bash references/wallet-setup.md:29
https://api.mission.projectsolo.xyz SKILL.md:47
https://api.mission.projectsolo.xyz/agent/missions?limit=100&page=$PAGE SKILL.md:83
https://api.mission.projectsolo.xyz/agent/register SKILL.md:109
https://sepolia.base.org SKILL.md:232
https://api.mission.projectsolo.xyz/agent/missions/$MISSION_ID/confirm-funding SKILL.md:258
https://mission.projectsolo.xyz/missions/ SKILL.md:274
https://api.mission.projectsolo.xyz/agent/missions/$MISSION_ID/cancel-params SKILL.md:391
https://api.mission.projectsolo.xyz/agent/missions/$MISSION_ID/confirm-cancel SKILL.md:400
https://api.mission.projectsolo.xyz/agent/missions/$MISSION_ID/emergency-refund-params SKILL.md:408
https://api.mission.projectsolo.xyz/agent/missions/$MISSION_ID/confirm-emergency-refund SKILL.md:417
https://api.mission.projectsolo.xyz/agent/missions SKILL.md:476
依赖与供应链
没有结构化依赖告警。
文件构成
SKILL.md references/rest-api.md references/onchain.md references/wallet-setup.md skill-card.md