自动化与运维 static-analysissupply-chain-securitymcpsecurity-scanningsarifci-cdpythonvulnerability-detection

Prism Scanner 智能体技能安全扫描器

在安装前静态检测 AI Agent 技能、插件与 MCP 服务器中的恶意代码,安装后清理系统残留,覆盖完整生命周期。

FollowSkills 评估 · FSRS-2.0
谨慎使用
55/ 100 五分制 2.8 / 5
1 2 3 4 5 6
1信任安全14 / 25 · 2.8/5

SKILL.md 本身权限克制(Read/Grep/Glob/Bash),核心扫描为静态分析、不执行被扫代码;clean --apply 涉及系统文件删除但有 scan→plan→apply→rollback 流程与备份设计;说明文档(SECURITY.md)披露了沙箱与安全设计。扣分:实际删除操作的确认机制在 SKILL.md 中仅是流程描述,publisher 未验证,依赖经 pip 安装,回滚可靠性未经执行验证。

2可靠稳定9 / 20 · 2.3/5

仓库含 CI(多 OS/多 Python 版本)、成体系测试与 fixture、版本号一致(SKILL.md 0.1.0 略滞后于 pyproject 0.2.2)。SKILL.md 与工具描述的命令面一致。扣分:静态评审无法执行复现;SKILL.md 版本落后(0.1.0 vs 0.2.2);历史存在大量误报(changelog 自述 FP 率问题),异常输入下的失败反馈质量仅由文档声明支撑。

3适用触发11 / 15 · 3.7/5

description 触发词明确(含中文触发词),适用场景(安装前检查、供应链审查、残留清理)清晰,多平台(ClawHub/MCP/npm/pip)与离线模式标注。扣分:对误报边界、非适用范围(如二进制/混淆代码漏检)披露有限;扫描远端仓库需访问 GitHub,未讨论中国大陆可达性。

4规范维护10 / 15 · 3.3/5

文档分层清晰(SKILL.md→README→CONTRIBUTING/SECURITY),Apache-2.0、changelog 规范、pyproject 元数据完整、维护责任声明存在。扣分:SKILL.md 版本字段与 pyproject 不一致;README 徽章(tests 40 vs 81 vs 97)与 changelog 数字互相矛盾;'Anthropic 源码泄露'引用链接可疑(外链与所述内容未必对应),部分佐证链接为占位(wired.com 主页)。

5有效结果6 / 15 · 2.0/5

核心任务(扫描并给出分级建议)流程完整,输出格式(JSON/SARIF/HTML)多样,相对替代方案(黑盒信任分)有差异化价值。扣分:静态评审无法验证代表性输出正确性;changelog 自述历史上对真实 ClawHub 技能误报严重(211→18 仍偏多),A/B 分级'可安全使用'的结论可靠性存疑,产出仍需人工复核。

6证据核验5 / 10 · 2.5/5

含真实 CI 工作流、已提交的测试套件覆盖主要引擎路径、可复核的 fixture,属于可审计的一手材料,达到静态评审上限 5。扣分:无法独立复现执行结果;宣称的外部研究/事件佐证链接不完整,验证覆盖率有限。

证据充分度: 评估于 2026年9月10日 审查版本 4194331c9f75
使用前请注意
  • SKILL.md 版本号(0.1.0/39 条规则)落后于 pyproject(0.2.2/41 条规则),文档不同步,使用前请确认实际安装版本。
  • changelog 自述曾对真实 ClawHub 技能产生大量误报(211→18),A/B 级'可安全安装'结论不应作为唯一依据,务必人工复核。
  • prism clean --apply 会删除系统文件,执行前务必运行 --plan 审查清单并确认备份可用。
  • README 中测试数量徽章(40/81/97)互相矛盾,且引用的研究/泄露事件外链不完整,宣传性声明需独立核实。
  • 远端扫描依赖 GitHub 访问,中国大陆网络环境下可能不可达;建议使用 --offline 模式扫描本地目标。
  • 发布者未经 FollowSkills 验证,身份未知,不构成扣分依据但请注意供应链来源。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

Prism Scanner 是一个开源(Apache 2.0)的命令行安全扫描工具,面向 AI Agent 生态中的技能、插件和 MCP 服务器。它采用纯静态分析,不执行被扫描的代码,通过 39 条以上检测规则覆盖三个层面:代码行为、元数据与系统残留。扫描结果以 A 到 F 的等级评定,D 或 F 级强烈建议不要安装。它还可在卸载技能后扫描并安全清理 LaunchAgents、crontab 等持久化残留,并支持以 MCP 服务器或 GitHub Action 形式集成。

对本地目录、GitHub 仓库或包(ClawHub、npm、pip、MCP)运行 prism scan,执行基于 AST 的行为分析(S1-S14:Shell 执行、数据外泄、持久化、污点跟踪)、正则/清单元数据分析(M1-M6、P1-P9:硬编码凭证、抢注域名、混淆代码、提示注入)以及系统残留扫描(R1-R10:LaunchAgents、crontab、shell 配置篡改)。输出分级结果(A-F),支持 JSON、HTML、SARIF 格式,--fail-on 可在 CI 中按严重度失败退出。prism clean --scan/--plan/--apply 三步清理卸载残留并自动备份。也可作为 MCP 服务器暴露 prism_scan、prism_grade、prism_clean_scan、prism_clean_plan 四个工具。

  1. 开发者在从 ClawHub、GitHub、npm 或 PyPI 安装新技能前,想确认其不含恶意代码再决定是否安装
  2. 安全工程师在 CI/CD 流水线中用 SARIF 输出和 --fail-on high 门禁拦截高危依赖
  3. 用户卸载了某个技能后,想检查系统中是否遗留 LaunchAgent、crontab 或 shell 配置污染
  4. 团队审阅第三方 MCP 服务器或插件时,需要代码级、逐规则的透明审查而非黑盒评分
  5. 检测技能描述或提示词中嵌入的心理操纵模式(P10),如煤气灯效应、权威冒充、制造紧迫感

这个 Skill 有哪些优点和局限?

优点
  • 纯静态分析,从不执行被扫描代码,离线模式可用
  • 覆盖安装前(代码分析)、卸载后(残留清理)的完整生命周期,跨 ClawHub/MCP/npm/pip 多平台
  • 41 条规则含污点分析,并声称可检测提示词心理操纵(P10)和发布卫生问题(M7)
  • 输出格式丰富:终端、JSON、HTML、SARIF,可直接接入 GitHub Code Scanning
  • Apache 2.0 开源,规则以 YAML 定义可自行扩展
局限
  • README 中版本号存在不一致(徽章显示 0.2.2,SKILL.md 为 0.1.0,示例输出为 0.1.0);描述中的 39 条规则与 v0.2.x 的 41 条不一致
  • 静态分析存在固有局限,无法检测运行时才触发的行为;污点分析仅限单文件内
  • 自定义规则的实际 schema 仅在目录结构层面提及,文档未给出字段级说明
  • 诚实等级与测试声明的独立性未知:README 称 40 项测试通过但未附 CI 徽章链接可验证

如何安装这个 Skill?

pip install prism-scanner(需要 Python 3.10+)。macOS 也可用 Homebrew:brew tap prismlab/tools && brew install prism-scanner;或免安装运行 npx prism-scanner。MCP 模式:pip install "prism-scanner[mcp]",然后在 Claude Desktop 配置中添加 mcpServers 条目,或在 Claude Code 中运行 claude mcp add prism-scanner prism-mcp。亦有 Docker 镜像 ghcr.io/prismlab/prism-scanner 和官方 GitHub Action aidongise-cell/prism-scanner@main。

如何使用这个 Skill?

安装后运行 prism scan <路径或GitHub URL>;可用 --platform clawhub|mcp|npm|pip 指定平台,--format /html/sarif 指定输出格式,-o 指定报告文件,--fail-on 设置 CI 失败阈值。清理残留:prism clean --scan 查看残留,--plan 生成计划,--apply 执行(自动备份,支持 --rollback)。在 Agent 中使用时,直接要求"扫描一下这个技能"或"这个插件安全吗"即可触发。可用 .prismignore 按规则 ID 抑制已知发现,--offline 跳过外部查询。

相关 Skills