---
title: "执行安全扫描"
method: POST
path: "/api/v1/audit"
tags: ["Security Scan"]
---

# 执行安全扫描

`POST /api/v1/audit`

## Request

- Base URL: `https://aishield.tools`
- URL: `https://aishield.tools/api/v1/audit`
- Auth: none required

对 MCP 工具 / Skill / GPTs 进行完整安全扫描。

支持传入 GitHub 仓库 URL 进行深度源码分析，或直接传入工具描述做快速评估。
认证可选：未认证时使用匿名配额，认证后享受更高限额。

## Request body

- AuditRequest: 安全扫描请求
  - `source_url` string, required: GitHub 仓库 URL 或工具内容
  - `tool_type` 'mcp' | 'skill' | 'gpt' | 'prompt': 工具类型: mcp / skill / gpt / prompt
  - `name` string: 工具名称（可选，用于报告标识）
  - `description` string: 工具描述（可选）
  - `capabilities` string[]: 工具声明的能力列表

## Response `200`

扫描完成

- AuditResponse: 安全扫描结果
  - `score` integer: 安全评分 (0-100)
  - `risk_level` string: 风险等级: low / medium / high / critical
  - `badge_level` string: 徽章等级: none / bronze / silver / gold / platinum
  - `findings` object[]: 安全发现列表，每条带 file:line:col 精确锚点 + 证据片段 + 稳定 rule_id + 具体修复动作
    - `rule_id` string: 稳定规则 id（MCP05-001 / GEN-B2A0）。type 对静态规则恒为 dangerous_pattern，不可用于查规则库或去重
    - `severity` string
    - `title` string
    - `description` string
    - `type` string: finding 类别。静态规则恒为 dangerous_pattern
    - `file` string: 命中文件路径
    - `lines` string: 命中行号（1-based）
    - `col` integer: 命中列号（1-based）。编辑器可据此直接跳到命中点而非行首
    - `evidence` string: 命中片段（截断到 120 字符）
    - `remediation` string: 针对本条 finding 的具体修复动作。区别于顶层 recommendations（全局笼统建议），此处按规则解析到可执行动作
    - `owasp_category` string: OWASP MCP Top 10 / Agentic AI Top 10 分类
    - `citation_context` boolean: True 表示该命中处于引用/讨论语境——防御文档把攻击载荷当作被检测对象引用，而非祈使式执行指令。此类 finding 的 severity 已被降为 low，供报告层单独统计与用户复核
  - `total_findings` integer: 发现总数
  - `scanned_at` string: 扫描时间
  - `scanner_version` string

## Other responses

- `400`: 参数缺失或无效
- `429`: 速率限制
- `500`: 扫描引擎内部错误

---

[API](https://skmtc.dev/aishield/apis/aishield-api.md) · [All operations](https://skmtc.dev/aishield/apis/aishield-api/llms.txt) · [OpenAPI document](https://skmtc.dev/aishield/apis/aishield-api/revisions/9a04f4fb94bd?raw)
