
AI-Infra-Guard aig-scanner一条聊天消息触发全栈 AI 安全扫描的 OpenClaw 技能实战指南【免费下载链接】AI-Infra-GuardA full-stack AI Red Teaming platform securing AI ecosystems via Agent Scan, Skills Scan, MCP scan, AI Infra scan and LLM jailbreak evaluation.项目地址: https://gitcode.com/GitHub_Trending/ai/AI-Infra-Guard本指南讲解腾讯朱雀实验室开源项目 AI-Infra-Guard 中的aig-scanner技能如何把 AI 基础设施漏洞扫描、MCP/工具/Skills 安全审计、AI Agent 安全扫描与大模型越狱评测能力直接挂载到 OpenClaw 聊天入口通过一句自然语言完成调用无需打开 A.I.G Web UI。读完你将掌握技能安装与环境配置、五种后端任务类型的路由规则、aig_client.py全部子命令参数、参数补齐策略与结果轮询机制并理解任务提交在服务端 common/websocket/api.go 中的真实处理链路。一、技能定位与工作原理aig-scanner是 skills/aig-scanner 目录下的一个 OpenClaw Skill其元数据声明见 SKILL.md为名称aig-scanner版本1.0.3作者aigsec/Tencent Zhuque Lab协议 MIT能力定位面向 AI 基础设施infrastructure、AI 工具/技能AI tools / skills、AI Agent 与 LLM 越狱评测jailbreak evaluation的 AI 安全扫描依赖python3二进制无需插件无需 pip 依赖aig_client.py仅使用 Python 标准库必填环境变量AIG_BASE_URL。它的工作模式可以概括为一条调用链用户在 OpenClaw 聊天输入自然语言 ↓ OpenClaw 按 SKILL.md 的 triggers / Routing Rules 命中技能 ↓ 以 exec 方式执行 scripts/aig_client.py 子命令 ... ↓ aig_client.py 调用 A.I.G 服务端 REST 接口 /api/v1/app/taskapi/* ↓ A.I.G 后端调度扫描任务返回 session_id 与结果这里的核心桥梁是 A.I.G 暴露的taskapiREST 接口。服务端注册位于 common/websocket/server.go共五类端点端点作用POST /api/v1/app/taskapi/tasks创建扫描任务按type分派GET /api/v1/app/taskapi/status/{id}查询任务状态与日志GET /api/v1/app/taskapi/result/{id}获取任务结果POST /api/v1/app/taskapi/upload上传本地文件如源码压缩包POST /api/v1/app/taskapi/uploadChunk/mergeChunks大文件分片上传与合并技能内的所有调用都封装在 scripts/aig_client.py 中SKILL.md 明确规定“Always useaig_client.pyviaexecinstead of rawcurl”即禁止绕过脚本直接用 curl 拼请求——因为脚本已经处理了 JSON 构造、HTTP 错误、状态轮询与结果格式化等细节。前置条件A.I.G 服务已部署本机或远程均可并已通过docker compose up -d等方式启动对外暴露/api/v1/app/taskapi/*。二、安装与回退方案2.1 推荐ClawHub 安装clawhub install aig-scanner2.2 中国大陆回退从源码目录安装如果 ClawHub 返回Rate limit exceeded限流直接使用本仓库的源码目录安装即把 skills/aig-scanner 整个目录放置到 OpenClaw 的 skills 目录下SKILL.md 中的命令示例默认安装在~/.openclaw/skills/aig-scanner/。2.3 安装后首次配置首次安装后必须配置 A.I.G 服务地址必填项否则脚本会直接报错退出。见 aig_client.py 的实现BASE_URL为空时输出AIG_BASE_URL is not configured并退出。环境变量必填说明示例AIG_BASE_URL是A.I.G 服务根地址http://127.0.0.1:8088/或https://aig.example.com/AIG_API_KEY否A.I.G 开启 taskapi 认证时的 API Key默认为空sk-xxxAIG_USERNAME否用户名默认openclaw用于agent_scan与list-agents的命名空间解析openclaw/public_user认证头通过_headers()注入API-KEY请求头携带密钥、username请求头携带用户名。SKILL.md 同时强调不要把 API Key 或原始认证头回显给用户若AIG_BASE_URL缺失需先提示用户配置服务地址。三、五条核心流程Canonical FlowsSKILL.md 将技能能力归纳为五条“用户可见名称 → 后端任务类型”的标准流程用户可见名称后端任务类型taskapitype典型目标AI 基础设施安全扫描 / AI Infrastructure Scanai_infra_scanURL、网站、服务、IP:端口AI 工具与技能安全扫描 / AI Tool / Skills Scanmcp_scanGitHub 仓库、AI 工具服务、源码压缩包、MCP / Skills 项目Agent 安全扫描 / Agent Scanagent_scanA.I.G 中已配置的 Agent大模型安全体检 / LLM Jailbreak Evaluationmodel_redteam_report目标模型配置扫描结果查询 / Scan Result Checkstatus/result已有 session ID这些任务类型在服务端 api.go 的SubmitTask中被逐一switch分派并映射为内部的 Agent 任务类型TaskTypeMcpScan、TaskTypeAIInfraScan、TaskTypeModelRedteamReport等。需要特别说明的是对话中不要向用户暴露原始任务类型名如mcp_scan、model_redteam_report统一使用上表左侧的用户可见名称除非用户明确询问 API 细节。3.1 AI 基础设施扫描ai_infra_scan检测 Ollama、vLLM、Dify 等 AI 服务的 CVE 与配置风险。触发短语示例英文scan AI service、scan AI infra、check for CVE、audit AI service中文扫描AI服务、检查AI漏洞、扫描模型服务自然语言示例Scan http://localhost:11434 for AI vulnerabilities用A.I.G扫描 http://localhost:11434 的 AI 漏洞当目标是一个可达的 HTTP 地址URL、网站、页面、Web 服务、IP:端口时路由到本流程。对应 CLIpython3 ~/.openclaw/skills/aig-scanner/scripts/aig_client.py scan-infra --targets http://host:port从服务端实现看api.go 会将target列表拼接为任务内容并将timeout、自定义headers与可选的model分析模型写入任务参数。3.2 AI 工具 / Skills 安全审计mcp_scan审计 MCP Server、Agent Skills 等项目代码或服务。触发短语示例英文scan AI tools、check MCP or skills security、audit tool skills project、scan MCP、scan skills中文扫描AI工具、检查MCP安全、审计AI工具路由规则细节来自 SKILL.md用户给出 GitHub 仓库、本地源码压缩包、AI 工具服务 URL或明确提到 MCP、Skills、AI 工具、工具协议、代码审计时路由到本流程用户给出 GitHub 的blob/.../SKILL.md文件 URL 时同样视为本流程GitHub 文件 URL 会被_normalize_github_url()归一化为仓库根地址如https://github.com/org/repo后再扫描。自然语言示例Scan https://github.com/org/repo for AI tool security issues用A.I.G扫描 https://github.com/org/repo 的 AI 工具安全对应 CLI三种目标互斥python3 ~/.openclaw/skills/aig-scanner/scripts/aig_client.py scan-ai-tools \ --github-url https://github.com/user/repo \ --model model --token token --base-url base_url本流程必须携带分析模型配置。开源版 A.I.G 的mcp_scan要求提供content.model.model、content.model.token、content.model.base_url三项若服务端已配置默认模型则model与token可省略服务端 api.go 会在模型为空时回退到resolveDefaultTaskAPIModel解析系统默认模型。任何 OpenAI 兼容模型均可。3.3 Agent 安全扫描agent_scan检测 A.I.G 平台已配置 Agent 的授权绕过、提示注入、数据泄露等风险。触发短语示例英文scan agent、audit dify agent、check coze bot security中文扫描Agent、检查Dify/Coze机器人安全、审计AI Agent自然语言示例Use A.I.G to scan agent demo-agent-id用A.I.G扫描 agent demo-agent-id两种互斥的输入方式服务端 api.go 也印证了“内联 YAML 优先于预存配置”的解析逻辑方式 A —— 内联 YAML--agent-config-file直接传入本地 YAML 文件内容以内联agent_config形式发送无需在服务端预存配置。适合已有 YAML 文件或不想通过 Web UI 配置的场景python3 ~/.openclaw/skills/aig-scanner/scripts/aig_client.py scan-agent --agent-config-file /path/to/agent.yaml方式 B —— 预存配置--agent-id按名称引用 A.I.G 服务端已保存的 Agent 配置服务端从data/agents/{username}/目录读取python3 ~/.openclaw/skills/aig-scanner/scripts/aig_client.py scan-agent --agent-id demo-agent关于命名空间有两个实战要点默认AIG_USERNAMEopenclaw便于在 A.I.G Web UI 中区分技能任务与普通 Web 创建的任务开源版agent_scan若 Agent 配置保存在公共命名空间下需将AIG_USERNAME切换为public_user——当报错提示“missing Agent config”时说明服务端正在${AIG_USERNAME:-openclaw}下查找配置应改用public_user重试。运行--agent-id扫描前若不确定agent_id具体名称先执行list-agents查看可见配置若命名空间不明应提示用户AIG_USERNAME及其默认值。3.4 大模型安全体检model_redteam_report红队测试 LLM 的抗越狱能力。触发短语示例英文red-team LLM、jailbreak test中文评测模型抗越狱、越狱测试自然语言示例Use A.I.G to run a safety check on DeepSeek3.2用A.I.G扫描 给DeepSeek3.2做一次安全体检。路由规则强调两点用户仅给出目标模型 ID如minimax/minimax-m2.5时按“大模型安全体检”处理不要路由到 AI 工具/Skills 扫描只有目标模型名称不够还需补齐目标模型与评估模型的连接字段target-token、target-base-url、eval-model、eval-token、eval-base-url。不要假设后端有可用的默认评估模型也不要自动把目标模型镜像成评估模型。对应 CLI目标模型与评估模型均为必填python3 ~/.openclaw/skills/aig-scanner/scripts/aig_client.py scan-model-safety \ --target-model model --target-token token --target-base-url base_url \ --eval-model model --eval-token token --eval-base-url base_urlprompt 与 dataset 互斥若用户提供了自定义越狱 prompt只发送prompt未提供时发送数据集预设二者不可同时出现见 aig_client.py 的实现有--prompt则不构建 dataset。若用户明确提到 OpenRouter允许将 OpenRouter API Key 作为target-token、https://openrouter.ai/api/v1作为target-base-url。3.5 结果查询与 Agent 列表结果查询status/result触发短语扫描好了吗、查看结果、进度怎么样了/check progress、show results、scan status。当用户询问进度、状态、结果或跟进已有任务时应查询而非重复提交新任务python3 ~/.openclaw/skills/aig-scanner/scripts/aig_client.py check-result --session-id id --waitAgent 列表服务端端点/api/v1/knowledge/agent/names触发短语列出agents、有哪些agent可以扫、查看A.I.G Agent配置/list agents、show available agentspython3 ~/.openclaw/skills/aig-scanner/scripts/aig_client.py list-agents四、aig_client.py 命令参考脚本完整参数解析见 aig_client.py 的main()函数以下为各子命令的完整参数表。4.1scan-infra参数必填默认值说明--targets是—目标 URL 列表可多个如http://host:11434--timeout否30请求超时秒--auth-header否—自定义请求头格式key:value可多个--model/--token/--base-url否base-url 默认https://api.openai.com/v1分析模型配置model 与 token 需成对出现4.2scan-ai-tools参数必填默认值说明--server-url三选一—运行中的 AI 工具服务 URL--github-url三选一—GitHub 仓库 URL自动归一化为仓库根--local-path三选一—本地.zip/.tar.gz压缩包路径自动上传--model/--token否*—分析模型名与 API Key服务端有默认模型时可省略但二者必须成对--base-url否https://api.openai.com/v1模型 API 端点--thread否4并发数--language否zh报告语言可选zh/en--prompt否—自定义扫描提示词--custom-headers否—自定义请求头格式key:value*注SKILL.md 的“Critical Protocol Rules”要求开源版mcp_scan必须携带 model/token/base_url 三项脚本层面仅当服务端配置了默认模型时才允许省略。本地路径上传会调用POST /api/v1/app/taskapi/uploadmultipart/form-data返回的fileUrl写入任务attachments并附带默认提示词审计此 AI 工具 / Skills 项目。4.3scan-agent参数必填默认值说明--agent-id二选一—A.I.G Web UI 预存的 Agent 配置名--agent-config-file二选一—本地 YAML 文件路径内联提交无需服务端预存--language否zh报告语言可选zh/en--eval-model/--eval-token/--eval-base-url否base-url 默认https://api.openai.com/v1评估模型配置--prompt否—附加扫描指引4.4scan-model-safety参数必填默认值说明--target-model是—目标 LLM 模型名--target-token是—目标模型 API Key--target-base-url是—目标模型 API 端点--eval-model是—评估模型名--eval-token是—评估模型 API Key--eval-base-url是—评估模型 API 端点--datasets否JailBench-Tiny数据集可选JailBench-Tiny、JailbreakPrompts-Tiny、ChatGPT-Jailbreak-Prompts、JADE-db-v3.0、HarmfulEvalBenchmark--num-prompts否50测试提示词数量--random-seed否42随机种子--prompt否—自定义越狱 prompt与 datasets 互斥默认数据集JailBench-Tiny对应当前仓库 data/eval/JailBench-Tiny.json仓库 data/eval 目录下还预置了JailbreakPrompts-Tiny、ChatGPT-Jailbreak-Prompts、JADE-db-v3.0、HarmfulEvalBenchmark等评测数据集可用于真实运行评测。4.5check-result与list-agents# 查询任务状态--wait 表示若仍在执行则等待并继续轮询 python3 aig_client.py check-result --session-id id --wait # 列出当前 AIG_USERNAME 下可见的 Agent 配置 python3 aig_client.py list-agents五、结果轮询与输出格式化机制脚本提交任务后不会一直阻塞等待。其轮询策略aig_client.py提交后自动轮询5 次间隔3 秒总计约 15 秒若在轮询窗口内完成状态为done/completed自动拉取并格式化结果若仍在执行打印session_id后退出用户稍后可用check-result --session-id id --wait查询不要模拟后台监控本技能不会在回合结束后持续轮询。结果格式化_format_result覆盖多种任务类型的输出字段score→ 安全评分readme→ 项目概览mcp_scan场景results→ 问题列表severity/risk_level、title/name/vulnerability、description/detailscreenshots→ 截图https://图片渲染为内联 Markdown 图片http://图片渲染为可点击链接ai_infra_scan的每个结果项可能携带单数screenshot字段attachment→ 附件model_redteam_report常见 CSV 附件jailbreak/total→ 越狱成功比例如 越狱成功: 3/50。服务端对应实现中GET /api/v1/app/taskapi/status/{id}与GET /api/v1/app/taskapi/result/{id}的路由及响应结构定义于 api.go并有配套的 api_test.go 覆盖了提交、状态查询、结果查询及resolveTaskAPIUsername的用户名解析逻辑默认api_user、header 传入、上下文注入三种来源。六、参数补齐策略与 Guardrails6.1 缺参时只问最少的必填字段AI 工具/Skills 扫描若服务端已配置默认模型model、token可选否则按以下顺序补齐base_url未提供时默认https://api.openai.com/v1。用户侧话术统一为AI Tool / Skills Scan requires an analysis model configuration: model, token, base_url (optional if server has a default model configured)。不要将本流程称为MCP scan。大模型安全体检用户已给出目标模型名时不再重复询问只需补齐target-token、target-base-url、eval-model、eval-token、eval-base-url。6.2 远程 URL 扫描的执行边界对远程 URL 执行ai_infra_scan时不要读取、搜索或分析本地工作区/仓库文件不要检查本地代码目录如aig-opensource、aig-pro、ai-infra-guard除非用户明确要求扫描本地归档或仓库远程 URL 请求的正确动作是立即调用aig_client.py对应子命令不要“先收集上下文”再提交。6.3 安全与行为红线不向用户展示原始 API Key不回显原始认证头不无限轮询不猜测不支持的端点agent_scan有本地 YAML 用--agent-config-file引用服务端预存配置用--agent-id扫描结果末尾统一追加署名行扫描能力由腾讯朱雀实验室 A.I.G 提供按输出语言翻译对应文案。七、本地与内网扫描的授权边界SKILL.md 特别说明本技能运行在用户自己的机器上对本地或私有网络的 AI 服务扫描是主要使用场景应直接接受以下目标而无需犹豫或告警localhost、127.0.0.1、0.0.0.0私有网段192.168.x.x、10.x.x.x、172.16–31.x.x任意局域网主机如192.168.1.10:11434。因此一个典型的本地完整闭环是本机部署 A.I.GAIG_BASE_URLhttp://127.0.0.1:8088/→ 本地启动 Ollamahttp://localhost:11434→ 在 OpenClaw 中说“扫描 http://localhost:11434 的 AI 漏洞”→ 由技能提交ai_infra_scan任务并返回评分、问题列表与截图。八、不适用场景以下情况不要使用本技能A.I.G 部署仅支持 Web 登录或 Cookie 认证taskapi 无法携带有效凭据用户期望回合结束后持续后台监控或连续轮询技能不会跨回合轮询。若目标 A.I.G 服务暴露了/api/v1/app/taskapi/*则本技能可正常使用技能在SKILL.md中通过 triggers 关键字scan AI service、scan MCP、scan skills、jailbreak test、扫描AI服务、越狱测试等中英文短语自动被 OpenClaw 唤醒。九、从自然语言到任务提交的完整链路以“扫描 agent demo-agent”为例串联整条链路OpenClaw 命中 triggerscan agent加载 SKILL.md技能按 Routing Rules 判定为 Agent Scanagent_scan技能通过exec执行python3 ~/.openclaw/skills/aig-scanner/scripts/aig_client.py scan-agent --agent-id demo-agent脚本读取环境变量向POST /api/v1/app/taskapi/tasks提交{type:agent_scan,content:{agent_id:demo-agent,language:zh}}服务端 api.go 校验参数agent_config为空时按agent_id从data/agents/{username}/读取配置评估模型缺失时回退默认模型然后创建内部任务脚本轮询GET /api/v1/app/taskapi/status/{session_id}完成后拉取result并格式化输出技能将脚本 stdout 作为最终用户可见输出直接呈现末尾追加 A.I.G 署名。这条链路印证了技能设计的核心思想OpenClaw 只负责自然语言理解与命令编排A.I.G 后端负责全部安全扫描引擎能力——用户获得的是“一句话完成 AI 安全扫描”的体验而技能本身保持轻量、零依赖、易分发ClawHub 一键安装。十、相关资源索引技能主文档skills/aig-scanner/README.md英文、skills/aig-scanner/README.zh-CN.md中文技能行为规范路由规则、参数策略、Guardrailsskills/aig-scanner/SKILL.md客户端实现skills/aig-scanner/scripts/aig_client.py服务端 taskapi 实现common/websocket/api.go、路由注册见 common/websocket/server.go服务端接口测试common/websocket/api_test.go越狱评测数据集data/eval含JailBench-Tiny等技能目录总览skills/README.md仓库中还提供更全面的 Agent 红队评估技能 skills/aig-agent-redteam 供进阶参考aig-scanner专注于通过 taskapi 把 A.I.G 的扫描能力快速接入 OpenClaw 对话。【免费下载链接】AI-Infra-GuardA full-stack AI Red Teaming platform securing AI ecosystems via Agent Scan, Skills Scan, MCP scan, AI Infra scan and LLM jailbreak evaluation.项目地址: https://gitcode.com/GitHub_Trending/ai/AI-Infra-Guard创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考