Install
openclaw skills install @yottameta/yotta-verify元信 —— 装任何技能/包前的确定性安全扫描器:prompt injection(提示注入)+ 危险模式 + SKILL.md 完整性 + 权限需求,输出 verdict(SAFE TO INSTALL / INSTALL WITH CAUTION / REVIEW REQUIRED / DO NOT INSTALL)+ audited 徽章。触发:安装/评估任何技能或 npm 包前、给技能做安全验证、生成 audited 徽章、CI 装前闸门;或用户说 装前扫描/验证/audited/安全验证/verify-skill/可信 等。边界:只做确定性静态扫描与报告,不执行被测代码、不联网、不装包、不修复;结论需人工确认,不代替最终决策。
openclaw skills install @yottameta/yotta-verify装任何技能 / 包之前的「确定性安全验证」——扫描 prompt injection、危险模式、SKILL.md 完整性 与权限需求,给出一句话 verdict 与可随包发布的 audited 徽章:
元阁安装链路会读取 skill-manifest.json 中的 before_install 声明:扫描不通过时阻断落位并保留旧版本,证据写入元阁本地审计日志。
零依赖(Python 3.8+ 标准库),Windows + Linux + macOS 通用。危险模式规则与元安 (yotta-security-audit)共用(scripts/verify_rules.py 为同步副本,勿手改)。
Do NOT trigger:本工具只做确定性静态扫描与报告——不执行被测技能代码、不联网、不装包、 不修复、不做动态分析;最终结论必须由人类确认,不代替安装决策。
# 装前扫描一个技能目录 / npm 包目录 / tarball
python3 scripts/yotta_verify.py scan ./some-skill
# JSON + Markdown 报告 + audited 徽章
python3 scripts/yotta_verify.py scan ./some-skill --json --report report.md --badge
# 生成 audited 徽章(可合并元审/元安 verdict 与 validate-skill 结果)
python3 scripts/yotta_verify.py badge ./some-skill --validate-skill pass --vetter-verdict "SAFE TO INSTALL" --audit-verdict "SAFE TO INSTALL" --tests 52
# CI 闸门:最严重级超过 medium 即失败(exit != 0)
python3 scripts/yotta_verify.py gate ./some-skill --max-severity medium
| 最高严重级 | verdict | 退出码 |
|---|---|---|
| critical | DO NOT INSTALL | 3 |
| high | INSTALL WITH CAUTION | 2 |
| medium | REVIEW REQUIRED | 1 |
| low/info | SAFE TO INSTALL | 0 |
exit code 与元安 / 元审一致(0 / 1 / 2 / 3 / 4 = 错误)。
威胁捕获模型(8 检测点):供应链风险 / 命令执行风险 / 网络请求与数据外传 / 文件操作与敏感路径访问 / Prompt 注入风险 / 远程脚本下载执行 / 可疑编码·混淆 / 其他安全风险; 报告按 8 类逐类给 verdict(danger / suspicious / safe / n/a)。
Prompt Injection(提示注入):指令覆盖(ignore-previous-instructions 类)、角色伪造、 隐藏/编码指令(base64 解码命令)、数据外传指令、分隔符逃逸 / 伪系统标签、工具自执行指令、 越权 / 隐藏意图(don't-tell-the-user 类)、凭据 / 输入采集。详见 references/injection-patterns.md。
危险模式(与元安共用规则,54 → 61):下载即执行 / 混淆执行 / 持久化 / 数据外传 / 凭据窃取 / 网络调用 / 权限提升 / 社会工程 + 新增 路径穿越(PathTraversal)/ MCP 命令执行(MCPCommandExec)/ MCP 任意文件读写(MCPFileAccess)。 2.5 MCP 工具面(L3):识别 MCP server 工具集,追踪「工具参数 → 危险 sink」, 恶意 MCP(参数流入 spawnSync / execSync / 任意文件读写)判 DO NOT INSTALL。 2.6 数据流(L2):argv 注入面 → 子进程 sink 无防护判 medium。
SKILL.md 完整性:frontmatter 必需字段、name 与目录一致、markdown 围栏平衡、无占位符残留。
权限需求:脚本引用的网络调用 / 命令执行 / 文件写入 / 敏感文件读取范围(按 8 类归口提示)。
元信自扫(dogfooding)通过:对自身安装目录扫描无 critical / high。扫描器规则表 (verify_rules.py 等)为签名数据自动跳过;测试文件(构造样例)扫描跳过、发布包排除测试; 正例 yotta-memory v0.8.5(修复后)判 SAFE;报告中的 URL 类 low 提示属预期(shields.io 链接)。