SuperAPI AI 工具集

security-assessment

安全与审计

查看项目

更新于 10-16 05:34

技能介绍

用途

该技能用于对代码库运行全面的安全评估,覆盖 OWASP Top 10 2025 和 ASVS Level 1 要求,提供自动化、全代码库的安全分析,并支持实时令牌监控、知识图谱集成与自动化测试生成。

触发场景包括:用户要求“运行安全评估”或“安全审计”、提及“OWASP Top 10”或“ASVS”、请求“安全检查”或“漏洞评估”、点击 🛡️ Security Assessment 快捷按钮,或希望在发布前进行全面的安全分析。

主要能力

  • 解析用户请求,提取范围(全仓库、仅后端、仅前端或指定 OWASP 类别)、预算(默认 10.00 美元)及选项(生成测试、关联知识图谱、检查依赖、报告格式)。
  • 通过 MCP 工具 run_security_assessment 调用评估,支持参数如 repo_path、max_cost_usd、link_to_graph、generate_tests、check_dependencies、stream_progress、report_format。
  • 实时流式展示进度:技术栈检测结果、已完成检查数(X/24)、发现的问题、令牌用量与成本、预计剩余时间。
  • 展示结果:执行摘要(按严重级别的发现总数、OWASP Top 10 分解、ASVS L1 合规百分比、Top 5 关键风险);详细发现(按 OWASP 类别分组,含易受攻击代码片段、攻击场景、概念验证、修复指导、生成的测试模板、知识图谱上下文/影响范围);合规报告(ASVS L1 合规矩阵、未通过要求、修复路线图)。
  • 后续操作:生成并保存安全测试套件、导出详细报告(Markdown/HTML/PDF)、设置持续安全监控、深入分析特定发现、创建修复工单。

使用方式

MCP 工具调用示例: run_security_assessment({ "repo_path": "/path/to/repo", "max_cost_usd": 10.0, "link_to_graph": true, "generate_tests": true, "check_dependencies": true, "stream_progress": true, "report_format": "markdown" })

REST API: POST /api/v1/security-assessment/assessments { "repo_path": "/path/to/repo", "options": { "max_cost_usd": 10.0, "generate_tests": true, "link_to_graph": true } }

GET /api/v1/security-assessment/assessments/{assessment_id} GET /api/v1/security-assessment/assessments/{assessment_id}/stream GET /api/v1/security-assessment/assessments/{assessment_id}/report?format=markdown GET /api/v1/security-assessment/assessments/{assessment_id}/tests

当 MCP 不可用时的磁盘回退方案:使用捆绑的检查清单 ../security-reviewer/checklists/owasp-asvs.md(OWASP Top 10 与 ASVS L1 映射)和 ../security-reviewer/checklists/endpoint-checklist.md(逐端点审查模板),以及语言参考包 ../security-reviewer/languages/*.md,借助助手内置工具(Read/Grep/Glob/Bash)驱动工作流。

适用场景

  • 发布前对全代码库进行安全评估。
  • 针对特定 OWASP 类别(如 SQL 注入、OWASP A03)的定向评估。
  • 需要 ASVS L1 合规性检查与合规矩阵输出的审计。
  • 需要将发现关联知识图谱以进行影响范围分析。
  • 需要自动生成安全测试套件以验证修复。

限制

  • 44/150 项 ASVS L1 要求仍需人工验证。
  • 存在误报可能:LLM 可能将防御性编码标记为问题(通常低于 15%)。
  • 成本:完整评估可能较昂贵(约 8-10 美元)。
  • 时长:典型仓库约 15-20 分钟。
  • 技术栈支持:仅限已检测到的框架(Kotlin、Python、Go、Java、Node、Angular、React、Vue)。

配置

默认设置:预算每评估 10.00 美元;提供商 openai;模型 gpt-4o(为准确性);OWASP 类别全部 10 项;ASVS 章节全部(V1-V14);生成测试 true;关联图谱 true;检查依赖 true;流式进度 true。

用户可通过自然语言覆盖,例如“预算 5 美元、仅后端的安全评估”“运行 OWASP Top 10 检查但不生成测试”“仅评估身份验证和授权”。

最佳实践

设置现实的预算(完整评估通常 8-10 美元);启用流式进度以便观察长时间运行的评估;始终生成测试以立即验证修复;启用图谱关联以进行影响分析;优先处理严重发现,再处理高/中级别;定期(如每季度)运行评估以维持安全态势。

知识图谱查询示例(Cypher)

MATCH (a:SecurityAssessment {repo_name: "my-repo"})-[:CONTAINS]->(f:SecurityFinding) RETURN f.title, f.severity, f.owasp_category ORDER BY f.severity DESC

MATCH (f:SecurityFinding {severity: 'CRITICAL'})-[:AFFECTS]->(fn:Function {name: "authenticate"}) RETURN f.title, f.description, f.attack_scenario

MATCH (f:SecurityFinding)-[:MAPS_TO]->(o:OwaspCategory) WITH o.category_id AS category, COUNT(f) AS count RETURN category, count ORDER BY count DESC

MATCH (fn:Function)<-[:AFFECTS]-(f:SecurityFinding) WITH fn, COUNT(f) AS finding_count WHERE finding_count > 1 RETURN fn.name, fn.filePath, finding_count ORDER BY finding_count DESC

MATCH (f:SecurityFinding)-[:VIOLATES]->(r:AsvsRequirement) WITH r.chapter AS chapter, COUNT(DISTINCT r) AS failed_requirements RETURN chapter, failed_requirements ORDER BY chapter

风险矩阵格式要求

展示风险评估时务必使用正确的风险矩阵格式,而非流程图。推荐使用 Markdown 表格矩阵(行:影响,列:可能性,交叉单元格为风险等级)或 Mermaid 象限图(Mermaid 10.6+),示例:

quadrantChart title Vulnerability Risk Assessment x-axis Low Likelihood --> High Likelihood y-axis Low Impact --> High Impact quadrant-1 Critical Risk quadrant-2 High Risk quadrant-3 Low Risk quadrant-4 Medium Risk SQL Injection: [0.90, 0.95] Command Injection: [0.90, 0.95] XXE Injection: [0.75, 0.70]

切勿使用 flowchart/graph 表示风险矩阵,风险矩阵必须展示二维定位(可能性 × 影响)。

集成点

  • Phoenix Code Analyzer:将发现关联到知识图谱。
  • 0-Day Scanner:以历史漏洞检测作为补充。
  • SAST Agent:提供全面的静态分析。
  • Threat Modeling:将发现输入威胁模型。
  • CVE Intelligence:将发现与已知 CVE 关联。