关于 Skillaudit
SkillAudit 可在安装前扫描 AI Agent 技能、MCP 清单、软件包等内容中的安全风险。开发者和团队可通过命令行、API 或 MCP 工具按风险阈值和策略检查结果。
主要功能
- 01检测凭据窃取与数据外传
- 02扫描 MCP 清单中的架构投毒
- 03提供允许、警告或拒绝的门控结果
- 04批量扫描并评估自定义策略
- 05支持命令行、API 和 MCP
适用场景
- 01在 Agent 安装技能前进行检查
- 02扫描 MCP 工具清单中的隐藏指令
- 03在 CI/CD 中拦截高风险技能
- 04一次检查多个技能网址
MCP 相关
其 MCP 服务提供门控检查、扫描、内容扫描、信誉查询和批量检查工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🛡️ SkillAudit
AI Agent 技能的安全防护层。 在 Agent 安装任何内容之前进行扫描、拦截并执行策略。
43 条检测规则 · 401 种模式 · 覆盖 MCP + A2A · 零依赖
# Gate check — should my agent install this?
npx skillaudit gate https://example.com/SKILL.md
# Full scan
npx skillaudit https://example.com/SKILL.md
# Scan MCP manifest for schema poisoning
npx skillaudit manifest tools.json
为什么选择 SkillAudit?
AI Agent 会从不可信来源安装工具、技能和 MCP 服务。这些技能可能窃取凭据、外传数据、注入提示词,或操纵其他 Agent——而这些行为大多对用户不可见。
SkillAudit 可以检测这些风险。安装前调用一次 API 即可。
快速开始
1. 门禁检查(一行代码)
基础设施端点。返回允许或拒绝。
curl "https://skillaudit.vercel.app/gate?url=https://example.com/SKILL.md"
# → {"allow": true, "decision": "allow", "risk": "clean", ...}
2. 完整扫描
curl "https://skillaudit.vercel.app/scan/quick?url=https://example.com/SKILL.md"
3. 批量门禁(一次检查多个技能)
curl -X POST https://skillaudit.vercel.app/gate/bulk \
-H "Content-Type: application/json" \
-d '{"urls": ["https://example.com/skill1.md", "https://example.com/skill2.md"]}'
# → {"allow": false, "denied": 1, "blocked": [...]}
4. 策略执行
curl -X POST https://skillaudit.vercel.app/policy/evaluate-inline \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/SKILL.md",
"policy": {"maxRisk": "low", "blockedCategories": ["credential_theft"]}
}'
检测内容
43 类规则,401 种模式:
| 类别 | 规则 | 检测内容 |
|---|---|---|
| 🔑 凭据窃取 | CRED_ENV_READ、TOKEN_STEAL | 读取 .env、窃取令牌/ Cookie、访问 SSH 密钥 |
| 📤 数据外传 | DATA_EXFIL、EXFIL_PATTERN、EXFIL_COVERT | Webhook.site、DNS 数据外传、隐蔽信道、图像信标 |
| 💉 提示词注入 | PROMPT_INJECT、TOOL_POISONING | “忽略之前的指令”、隐藏的系统提示词 |
| 🧬 MCP 架构投毒 | MCP_SCHEMA_POISON | MCP 工具描述/架构中的隐藏指令 |
| 🤖 A2A 攻击 | A2A_AGENT_IMPERSONATION、A2A_TASK_HIJACK、A2A_CROSS_AGENT_INJECT、A2A_DATA_LEAK、A2A_CAPABILITY_ABUSE | Agent Card 欺骗、任务劫持、跨 Agent 注入 |
| 🐚 代码执行 | SHELL_EXEC、REVERSE_SHELL | Shell 命令、反向 Shell、eval/Function |
| 🔐 硬编码密钥 | 22 种检测器 | AWS 密钥、GitHub 令牌、JWT、私钥、API 密钥 |
| 👻 混淆 | OBFUSCATION、INVISIBLE_TEXT | Base64 载荷、零宽 Unicode、编码 URL |
| ⏰ 规避检测 | TIME_BOMB | 由日期触发的激活、延迟执行 |
| 🔗 供应链 | SUPPLY_CHAIN | 远程代码加载、curl|bash、依赖混淆 |
| 🌐 网络 | NET_SUSPICIOUS、SSRF_PATTERN、DNS_REBIND | SSRF、原始 IP、DNS 重绑定、元数据端点 |
| 📦 容器逃逸 | CONTAINER_ESCAPE | Docker 套接字、nsenter、/proc 遍历、LD_PRELOAD |
| 🔄 持久化 | PERSISTENCE | Cron 注入、systemd、LaunchAgents、pm2、nohup |
| 🕵️ 侦察 | ENV_RECON | os.hostname、whoami、网络接口、环境变量转储 |
| 🔧 Agent 操纵 | AGENT_MEMORY_MOD、TOOL_SHADOW、CROSS_TOOL_ACCESS | 修改记忆、工具影子、跨工具数据访问 |
| 💰 加密货币窃取 | CRYPTO_THEFT | 钱包文件、助记词、MetaMask 保管库 |
智能上下文抑制:自动抑制文档示例和占位符令牌,以最大限度减少误报。
CLI
无需安装,无需配置。需要 Node.js 18+。
# Scan a file, URL, or directory
npx skillaudit SKILL.md
npx skillaudit https://github.com/user/repo
npx skillaudit ./my-agent-project/
# Gate check (CI/CD: exit 0 = allow, exit 1 = deny)
npx skillaudit gate https://example.com/SKILL.md
npx skillaudit gate https://example.com/SKILL.md --threshold high
# Scan MCP manifest for schema poisoning
npx skillaudit manifest tools.json
# CI/CD integration
npx skillaudit SKILL.md --fail-on moderate # Exit 1 if risk >= moderate
npx skillaudit SKILL.md --markdown >> "$GITHUB_STEP_SUMMARY" # PR summary
npx skillaudit SKILL.md --json | jq .riskLevel # Machine-readable
# MCP server mode
npx skillaudit --mcp
API 端点
完整交互式文档见 skillaudit.vercel.app/docs
门禁(基础设施)
| 端点 | 说明 |
|---|---|
GET /gate?url= | 安装前门禁——允许/警告/拒绝 |
POST /gate/bulk | 检查多个技能,给出一个综合判定 |
扫描
| Endpoint | 描述 |
|---|---|
GET /scan/quick?url= | 通过 URL 快速扫描 |
POST /scan/content | 扫描原始内容 |
POST /scan/manifest | 扫描 MCP 工具清单,检查架构投毒 |
GET /scan/agent-card?url= | 扫描 A2A Agent Card |
GET /scan/npm?package= | 扫描 npm 软件包 |
GET /scan/pypi?package= | 扫描 PyPI 软件包 |
GET /scan/repo?repo= | 扫描 GitHub 仓库 |
POST /scan/deps | 扫描依赖树 |
POST /scan/batch | 批量扫描(最多 20 个 URL) |
POST /scan/compare | 比较两个技能版本的差异 |
POST /scan/deep | 使用威胁链进行深度扫描 |
策略与情报
| Endpoint | 描述 |
|---|---|
POST /policy/evaluate-inline | 根据自定义策略进行评估(无需身份验证) |
POST /policy | 创建已存储的策略(API 密钥) |
GET /reputation/:domain | 域名信任评分 |
GET /feed | 威胁情报源 |
GET /badge/scan.svg?url= | 可嵌入的 SVG 徽章 |
GET /certificate/:id | 签名审计证书 |
结果
| Endpoint | 描述 |
|---|---|
GET /scan/:id | 获取扫描结果 |
GET /scan/:id/sarif | SARIF v2.1.0 输出 |
GET /report/:id | 可分享的 HTML 报告 |
**速率限制:**每个 IP 每分钟 30 次请求。使用 API 密钥可绕过限制。
MCP 服务
在 Claude Desktop、Cursor 或任何 MCP 客户端中,将 SkillAudit 用作原生工具:
{
"mcpServers": {
"skillaudit": {
"command": "npx",
"args": ["skillaudit", "--mcp"]
}
}
}
工具:skillaudit_gate、skillaudit_scan、skillaudit_scan_content、skillaudit_reputation、skillaudit_batch
GitHub Action
name: SkillAudit
on: [pull_request]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx skillaudit . --fail-on high --markdown >> "$GITHUB_STEP_SUMMARY"
CI/CD 集成
# GitHub Actions — gate check before deploy
npx skillaudit gate "$SKILL_URL" --threshold moderate || exit 1
# Generate PR comment
npx skillaudit ./skills/ --markdown > scan-results.md
# Policy enforcement in pipeline
curl -sf -X POST https://skillaudit.vercel.app/policy/evaluate-inline \
-H "Content-Type: application/json" \
-d "{\"url\": \"$SKILL_URL\", \"policy\": {\"maxRisk\": \"low\"}}" \
| jq -e '.pass == true'
风险等级
| 等级 | 分数 | 含义 |
|---|---|---|
🟢 clean | 0 | 未发现问题 |
🟡 low | 1–9 | 存在轻微隐患,建议审核 |
🟠 moderate | 10–24 | 需要人工审核 |
🔴 high | 25–49 | 未经审计,切勿安装 |
⛔ critical | 50+ | 几乎可以确定是恶意内容 |
自托管
git clone https://github.com/megamind-0x/skillaudit
cd skillaudit && npm install && npm start
# → http://localhost:3847
由 Megamind_0x 构建 🧠
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。