大数跨境

ClawScan :OpenClaw 开源、面向 Agent 智能体技能的可组合安全扫描编排框架

ClawScan :OpenClaw 开源、面向 Agent 智能体技能的可组合安全扫描编排框架 苏哲管理咨询
2026-10-04
6
导读:ClawScan 是 OpenClaw 开源、面向 Agent 智能体技能的可组合安全扫描编排框架,核心思路是聚合多款异构扫描工具,结合大模型判定器综合评估 Agent 技能安全,解决单一扫描工具检出

编者摘要:ClawScan 是 OpenClaw 开源、面向 Agent 智能体技能的可组合安全扫描编排框架,核心思路是聚合多款异构扫描工具,结合大模型判定器综合评估 Agent 技能安全,解决单一扫描工具检出能力不足的问题。工具以 CLI 形式交付,适配技能上架准入、批量安全扫描与安全基准测评场景。

它内置 Docker 沙箱,默认在隔离容器中执行扫描任务,规避恶意技能污染主机。支持接入多款主流扫描器,包含 NVIDIA SkillSpector、腾讯 AI-Infra-Guard、Cisco 扫描器、Snyk、VirusTotal 等,同时自带 clawscan-static 静态扫描器;Relyable 扫描器专门校验技能功能是否匹配文档声明,不做恶意代码检测。

框架支持 Profile 预定义扫描策略,内置clawhub生产配置,复刻 ClawHub 线上扫描流程,也可通过.clawscan.yml编写自定义策略。Judge 判定组件聚合各扫描器原始证据,调用外部大模型输出统一安全裁决。

工具可集成 OpenClaw 安装准入链路,在技能 / 插件安装前自动扫描,返回放行、警告或阻断决策。支持 SkillTrustBench、ClawHub 安全信号两大基准数据集,用于评估扫描策略检出效果,方便研究者复现实验、迭代检测规则。

使用时需启动 Docker,通过简单命令即可多扫描器并行扫描,输出结构化 JSON 报告。整套体系支持 CI 流水线接入,适合 Agent 平台、安全研究员开展 Agent 技能安全检测与评测。

ClawScan 10 个关键 Q&A

  1. Q:ClawScan 是什么?
    A:OpenClaw 开源的 Agent 技能安全编排框架,CLI 工具,用来调度多款安全扫描器,汇总证据交给 Judge 综合判定,评估 Agent 技能 / 插件安全。
  2. Q:ClawScan 本身是扫描器吗?
    A:不是。它是编排调度框架,仅内置 clawscan-static 静态扫描器;其余如 NVIDIA SkillSpector、腾讯 AIG、Cisco 扫描器都是作为外部适配器接入。
  3. Q:核心优势是什么?
    A:多扫描器联合研判,效果优于单扫描工具;内置 Docker 沙箱隔离;支持预设扫描配置;可对接基准数据集做测评,方便复现实验。
  4. Q:Relyable 扫描器的作用是查恶意代码吗?
    A:不是。它只做功能一致性核验,验证技能行为是否匹配文档描述,不检测恶意代码、注入攻击。
  5. Q:Profile 配置集的作用?
    A:一键加载预设「扫描器 + Judge」组合。内置clawhub复刻线上生产策略,也支持.clawscan.yml自定义扫描方案。
  6. Q:Judge 判定器干什么?
    A:接收所有扫描器输出的原始风险证据,调用外部大模型综合分析,输出最终安全裁决结果。
  7. Q:沙箱默认机制?
    A:默认使用专用 Docker 镜像隔离执行扫描任务,防止恶意技能污染主机;仅在可信隔离环境才可关闭沙箱。
  8. Q:可以集成到 OpenClaw 平台吗?
    A:可以。作为外部安装策略组件,在技能 / 插件安装前扫描源码,返回 allow/warn/block 决策。
  9. Q:支持哪些基准测评数据集?
    A:ClawHub Security Signals、SkillTrustBench,用于批量评估整套扫描策略的检出能力。
  10. Q:使用前置条件?
    A:安装 Node.js 并通过 npm 全局安装 ClawScan;本地需运行 Docker。部分扫描器需要 LLM、VT、Snyk 等 API 密钥。

附录:ClawScan :面向Agent 智能体技能(agent skills)的可组合安全扫描框架

ClawScan 是面向Agent 智能体技能(agent skills)的可组合安全扫描框架(composable security scanning harness),由 OpenClaw 开源。 一句话定位:把多款不同厂商的 Agent 技能安全扫描器统一调度,收集扫描证据,交给判定器(judge)做综合研判,并且支持对照多个 Agent 安全基准数据集做测评。

一、定位与动机

Agent 技能安全是新兴领域,各家研究团队、厂商都有独立扫描工具、测评数据集和判定框架。论文(arXiv:2606.01494)验证:多扫描器组合 + 可配置判定器,效果优于单一扫描器。 ClawScan 把这套思路封装成可重复执行的 CLI 工具。内置 clawhub配置集,复刻 ClawHub 生产环境扫描策略,方便研究者复现结果、迭代检测能力,适配每周更新的 ClawHub 安全信号数据集。

适用对象:Agent 插件 / 技能开发者、安全研究员、平台方(OpenClaw)做技能上架前安全准入。 核心场景:Agent 技能安装前安全检测、批量扫描、安全基准评测、CI 流水线集成。

二、快速上手 Quick Start

1. 安装

npm install -g @openclaw/clawscan

默认:命令行类扫描器、判定器会跑在 ClawScan 提供的 Docker 运行时里,本地使用需要保持 Docker 运行。

2. 基础扫描:用 NVIDIA SkillSpector + Cisco 扫描本地 skills 目录

clawscan --scanner skillspector --scanner cisco

3. 实战样例:扫描已知恶意技能(Trail of Bits csv-summarizer)

这个技能宣称用来汇总 CSV,但执行时会读取并打印全部环境变量。

git clone https://github.com/trailofbits/overtly-malicious-skills.git /tmp/overtly-malicious-skills
cd /tmp/overtly-malicious-skills
git checkout 4ffbf9461ef0505f9ce76a0d3694a18ec33ea531

clawscan skills/csv-summarizer \
  --scanner skillspector \
  --scanner cisco \
  --output /tmp/clawscan-csv-summarizer.json

输出样例:

targets: 1
scanner_completed: 2
scanner_failed: 0
scanner_skipped: 0
issues_found: 2
gate: pass
errors: 0
full_results: /tmp/clawscan-csv-summarizer.json

结果包包含顶层汇总报告 + 每款扫描器独立 JSON 原始报告。

三、命令一览

命令
用途

clawscan <target> --scanner <id>
对指定技能 / OpenClaw 插件执行一个或多个扫描器;不填 target 则扫描./skills下子目录,不会自动发现插件

`clawscan scanners [list
<scanner-id>]`
查看支持的扫描器列表、所需环境变量、文档、安装指引
clawscan profiles [-v]
查看内置扫描配置集,-v输出 YAML 完整目录

`clawscan benchmark [list
<benchmark-id>]`
使用选定扫描器 / 配置 / 判定器,执行安全基准测评
clawscan install <scanner-id> [...]
安装 / 校验扫描器本地依赖(ClawScan 注册表的安装方案)

clawscan openclaw-install-policy
作为 OpenClaw 外部安全准入命令,从标准输入读取待安装请求,返回 allow/warn/block 的 JSON 决策

四、OpenClaw 安装策略(install policy)

ClawScan 在 OpenClaw 的 security.installPolicy边界做集成。

  • 不注册安装钩子,不依赖插件激活
  • 在 OpenClaw 正式安装 / 更新技能 / 插件之前,扫描待部署的源码目录
  • 读取待安装的sourcePath,输出安全决策(放行 / 警告 / 阻断)
  • 详细可信执行程序、配置、载荷协议见文档:docs/openclaw-install-policy.md

五、支持的扫描器 Scanners

--scanner可以多次叠加,一次性并行调用多个扫描器,各自输出原始 JSON 证据。 clawscan scanners查看全部列表,clawscan scanners skillspector查看单个扫描器详情。

ID
名称
简要说明
关键依赖
agentverus
AgentVerus
本地目录扫描器
npm
aig
Tencent AI-Infra-Guard
腾讯朱雀实验室技能扫描,输出 SARIF 2.1.0,产出 SkillTrustBench 证据
LLM_API_KEY
/ OPENAI_API_KEY,pip 安装 aig-skill-scan
cisco
Cisco AI Defense skill-scanner
Cisco AI 防御扫描器,输出 JSON 报告,可接入 LLM、VT 分析
uv
clawscan-static
ClawScan Static
内置静态扫描器
,识别高风险技能 / 插件模式;识别 Python 字节码、NUL 混淆文本
无需额外安装
relyable
Relyable
功能一致性核验
:验证技能行为是否匹配文档声明,不是恶意代码检测,仅做功能验证;代码在 Docker 沙箱运行
可选 LLM 密钥开启 cold_golden 模式
skillspector
NVIDIA SkillSpector
NVIDIA 的 Agent 技能扫描器;设置 LLM 环境变量启用 LLM 增强模式,否则纯静态--no-llm
uv
snyk
Snyk Agent Scan
Snyk Agent 扫描
SNYK_TOKEN
,uvx
socket
Socket CLI
Socket 安全 CLI 全盘扫描
SOCKET_CLI_API_TOKEN
,npm
virustotal
VirusTotal API
对技能目录打包成 ZIP,文件哈希查询 VT 云端
VIRUSTOTAL_API_KEY

v0.1.2 变更:aig扫描器改用本地包,废弃旧 AIG Docker/API 服务;环境变量改名: AIG_MODEL→ DEFAULT_MODELAIG_MODEL_BASE_URL→ DEFAULT_BASE_URLAIG_MODEL_API_KEY→ LLM_API_KEY/ OPENAI_API_KEY只支持目录作为扫描目标,文件 / URL 需要先转为技能目录。

六、Profiles 扫描配置集(预定义扫描器 + 判定器组合)

--profile一次性加载一套预定义扫描器 + judge 策略。最常用内置 clawhub,复刻 ClawHub 生产策略。

clawscan ./my-skill --profile clawhub

内置 Profile

Profile
扫描器
Judge 判定器
clawhub
skillspector、clawscan-static、aig
Codex gpt-6-luna,高推理能力,内置 ClawHub 提示词与 Schema
clawhub-aig
skillspector、aig
Codex gpt-6-luna
openclaw-install-policy
skillspector、clawscan-static
无

环境变量透传示例: SKILLSPECTOR_MODEL=gpt-6-luna和 SKILLSPECTOR_REASONING_EFFORT=high传给 SkillSpector 沙箱。

自定义 Profile:.clawscan.yml

版本控制自定义扫描策略,示例:

# yaml-language-server: $schema=https://raw.githubusercontent.com/openclaw/clawscan/main/schemas/clawscan.schema.json
version: 1
profiles:
  review:
    scanners:
      - skillspector
      - snyk
    sandbox:
      env:
        - OPENAI_API_KEY
        - CODEX_API_KEY
    judge:
      command: >
        codex exec --cd {{ workspace }}
        --model gpt-5.5
        --output-last-message {{ output }}
        - < {{ prompt:./prompt.md }}

配置有 JSON Schema 校验,编辑器可自动补全,运行前拦截无效配置。

七、Judge Harness 判定框架

--judge:把所有扫描器产出的证据,交给外部 Agent 命令综合研判,输出最终 JSON 裁决。

clawscan ./my-skill \
  --scanner skillspector \
  --judge 'codex exec --cd {{ workspace }} --output-last-message {{ output }} - < {{ prompt:./prompt.md }}'

占位符变量:

占位符
含义
{{ workspace }}
临时目录:存放技能源码、各扫描器 JSON 报告、元数据
{{ judge_sandbox }}
沙箱权限:danger-full-access /read-only
{{ prompt }}
加载./prompt.md提示词模板
{{ prompt:<path> }}
加载指定路径提示词
{{ output_schema }}
加载 JSON schema 用于输出校验
{{ output }}
judge 写入最终 JSON 结果的文件路径

八、Sandbox 沙箱机制

默认使用镜像:ghcr.io/openclaw/clawscan-runtime:latest,所有命令类扫描器、judge 在容器内隔离运行。

  • --sandbox off
    仅在你自己已经隔离的环境使用,依赖需要提前在主机上用clawscan install装好
  • --sandbox-env <NAME>
    /profile 里sandbox.env:把环境变量透传到容器内

九、Benchmarks 安全基准测评

批量跑标准数据集,评估整套扫描策略检出效果。

# 列出基准
clawscan benchmark list

# 使用clawhub配置跑SkillTrustBench基准
clawscan benchmark SkillTrustBench \
  --profile clawhub \
  --output ./artifacts/skilltrustbench-clawhub.json

支持基准数据集:

  1. clawhub-security-signals
    OpenClaw HuggingFace 数据集
  2. SkillTrustBench
    CUHK 朱雀实验室的 SkillTrustBench

参数 --ids <path-or-url>:可以指定子集 ID 列表,只跑一部分样本。

十、ClawHub Profile 基线与 PR 提交规范

安全研究员如果在 ClawHub 线上发现恶意技能,想要提升扫描检出能力:

  1. 敏感漏洞信息走 GitHub 私有漏洞上报
  2. PR 仅提交配置文件:proposals/<GHSA-ID>/clawscan.yml
  3. 合并前维护者会在 SkillTrustBench 公开子集上验证,生成基准快照保存在benchmarks/skilltrustbench-leaderboard-10pct/

关键要点总结

  1. 不是单一扫描器,是编排框架
    统一调度 NVIDIA、Cisco、腾讯朱雀、Snyk、VT 等多款 Agent 技能安全工具,聚合证据;
  2. 双层次评估
    底层扫描器输出原始风险证据 → 上层 Judge 大模型做综合判定;
  3. 两大用途
    ①技能上架准入(OpenClaw install policy);②学术 / 工程基准测评(SkillTrustBench、ClawHub 安全信号集);
  4. 沙箱隔离
    默认 Docker 运行扫描任务,防止恶意技能在主机执行;
  5. 可扩展
    可新增扫描器适配器、自定义 profile、自定义 judge 判定提示词


【声明】内容源于网络
0
0
苏哲管理咨询
为企业及组织提供AI+战略、数智化转型咨询及观点、建议等
内容 2265
粉丝 0
苏哲管理咨询 为企业及组织提供AI+战略、数智化转型咨询及观点、建议等
总阅读53.8k
粉丝0
内容2.3k