前言¶
国内项目验收、等保或内审里,经常要把发现项对齐到 GB/T 条款,而不是只给一份 CWE 列表。单靠通用 SAST 工具,国标章节映射和中文合规表述往往要人工补。若在 Cursor、Claude Code 等支持 Skills 的 Agent 里做审计,还需要一套可重复的工作流:先快速扫一遍基线,再让模型做语义层面的深审,最后产出可归档的 Markdown 报告。
下面介绍 SkillHub 上的社区 Skill gbt-code-audit(坐标 @user_9b59adcf/zzcp-gbt-code-audit,当前版本 2.0.4)。它将 GB/T 34943、34944、34946、39412 与「快速扫描 + LLM 深度审计」流程打包进 SKILL.md,并附带 Python 脚本与国标参考文档;标签 requires_api_key=false,不依赖额外 API Key。
这是什么¶
gbt-code-audit 是面向 Agent 的代码安全审计 Skill:依据中国国家标准对源代码做漏洞检测与归类,输出带国标映射的 Markdown 审计报告。发布来源为 SkillHub community,分类 dev-programming,由 user_9b59adcf 维护;SkillHub 页面显示评分 100000,下载 1833 次,安装 18 次。
Skill 自述适用于项目验收、安全合规审查、代码质量评估等场景;文档注明已在 GLM-5 模型下测试通过。
核心功能¶
以下能力均来自 Skill 包内 SKILL.md 与 README.md 的说明。
标准与语言
- 国标:GB/T 34943-2017(C/C++)、GB/T 34944-2017(Java)、GB/T 34946-2017(C#)、GB/T 39412-2020(通用基线)。
- SkillHub 简介明确支持 Java、C/C++、C#、Python 多语言检测;包内文档称理论上可审计更多语言,有专用标准的语言做「专用标准 + 39412」双映射,其余语言以 GB/T 39412 单映射。
双引擎流程
核心链路为:
快速扫描 → 基线入库 → LLM 深度审计 → 生成报告
- 快速扫描:正则与规则匹配,并可自动调用 Gitleaks、Bandit、Semgrep(仅快速扫描阶段);由
quick_scan并行扫文件,生成findings/baseline/*.md。 - LLM 深度审计:要求 Agent 独立阅读源码、做语义与业务逻辑分析,写入
findings/llm_audit/*.md,并对 baseline 项做「有效 / 误报」判定。 - 收尾:
finalize_report负责去重、代码片段与行号校验、幻觉过滤,生成audit_report_YYYYMMDD_HHMMSS.md(或指定--output)。
配套资产
docs/reference/:国标规则摘录;docs/vulnerabilities/:漏洞类型说明;docs/workflow/:审计流程、质量标准与排错。test-samples/:Java、Python、C/C++、C# 示例漏洞代码,便于本地试跑流程。
安装与启用¶
先做 SkillHub CLI 检查;未安装时按官方安装文档执行(完整安装或仅 CLI)。
command -v skillhub && skillhub --version
# 未安装 CLI 时(摘自 https://skillhub.cn/install/skillhub.md)
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash
安装本 Skill 时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 可能无法被识别。常见路径如下(同官方安装文档):
- Cursor:
~/.cursor/skills/ - Claude Code:
~/.claude/skills/ - Codex:
~/.codex/skills/或项目下.agents/skills/
在对应目录执行:
skillhub install zzcp-gbt-code-audit --namespace user_9b59adcf --dir ~/.cursor/skills/
也可按 SkillHub 页面提示,让 Agent 阅读 https://skillhub.cn/install/skillhub.md 并安装 @user_9b59adcf/zzcp-gbt-code-audit。安装后需按各客户端要求重启或刷新 Skills 列表。
Skill 脚本侧说明仅使用 Python 标准库运行 scripts/skill.py;快速扫描若调用 Bandit、Semgrep、Gitleaks,需本机已安装相应 CLI 且可被脚本找到。
典型用法¶
在已加载 Skill 的项目根目录(或 Skill 包内)操作。Agent 侧需先按 SKILL.md 阅读 docs/workflow/audit_workflow.md 与 docs/workflow/quality_standards.md,并完成「学习标准」确认输出后,再进入 LLM 审计。
1、准备目录
mkdir -p findings/baseline findings/llm_audit
2、快速扫描
将 --target 换成待审代码路径;包内自带样本可指向 test-samples/。
python scripts/skill.py quick_scan --target test-samples/java
扫描会为匹配项生成 baseline 的 Markdown 条目,默认状态为「误报」,供后续 LLM 复核。
3、LLM 审计(由 Agent 执行)
按 Skill 要求:不依赖快速扫描结果做关键字重复扫,应 Read / Grep 覆盖全部源码文件,对真实风险写 findings/llm_audit/*.md,字段含严重等级、CWE、国标映射、问题描述与修复方案(修复方案字数要求见质量标准文档)。
4、生成报告
python scripts/skill.py finalize_report --output audit_report.md
finalize_report 会输出去重、验证后的统计 JSON 字段(如 effective_count、hallucinations_count 等),最终报告仅包含状态为「有效」的发现项。
适用场景与注意¶
适合谁
- 需要在交付物中体现 GB/T 条款映射 的安全或质量审计。
- 已使用 Cursor、Claude Code、Codex 等 Agent,希望把审计步骤固化在 Skill 里,而不是每次手写提示词。
- 希望「规则快速扫 + 模型深审」分工明确、产出统一 Markdown 归档的团队。
限制与注意
- 快速扫描以正则与可选外部工具为主,不能替代 LLM 审计步骤;Skill 明确要求 LLM 审计须覆盖全部源文件,并自行验证行号,否则
finalize_report可能将条目记为幻觉而不进入报告。 - 国标映射与描述质量依赖 Agent 是否按
quality_standards.md执行;脚本只做格式与片段校验,语义是否成立由模型负责。 - SkillHub 分类为 dev-programming,路线图文档提及后续 CI/CD、Web UI 等规划,以包内
SKILL.md为准,未发布能力勿当作已可用。 - 外部工具 Bandit、Semgrep、Gitleaks 未安装时,快速扫描能力可能缩水,需结合本机环境确认。
结尾¶
gbt-code-audit 把国标条款、双阶段审计流程和报告生成脚本收拢为一个 Agent Skill,适合在国内合规语境下做可复现的代码安全审计。安装与坐标以 SkillHub 为准:
- 页面:https://www.skillhub.cn/skills/user_9b59adcf/zzcp-gbt-code-audit
- API 条目:https://api.skillhub.cn/user_9b59adcf/zzcp-gbt-code-audit