尧图精选

Claude Code 安全审查员(security-reviewer)子代理实战:在 PR 工作流中落地漏洞扫描

🕒 发布时间:2026/9/10 23:15:49 📁 来源:尧图网络
Claude Code 安全审查员security-reviewer子代理实战在 PR 工作流中落地漏洞扫描【免费下载链接】claude-howtoA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-howto导读本篇技术指南聚焦于 Claude Code Plugins 生态中的security-reviewer 子代理见 zh/07-plugins/pr-review/agents/security-reviewer.md它被设计为 PR Review 插件中的安全审查专家专门识别身份验证、授权、数据暴露、注入攻击与安全配置五类缺陷。通过阅读本文你将掌握该子代理的 Frontmatter 配置语义、五维安全检查清单、可直接复用的漏洞模式搜索命令与规范化漏洞报告格式并理解它与 slash 命令、Hooks、MCP 服务器如何在一次/review-pr调用中协同完成端到端的安全审查。一、security-reviewer 在插件架构中的定位在 Claude Code 中插件Plugin是最顶层的扩展机制它将 slash 命令、子代理、MCP 服务器与 Hooks 打包成一个可用一条命令安装的完整包见 07-plugins/README.md。本仓库的pr-review插件即是一个典型范例它捆绑了/review-pr、/check-security、/check-tests三个命令security-reviewer、test-checker、performance-analyzer三个子代理以及 GitHub MCP 服务器与pre-review.jsHook见 07-plugins/pr-review/README.md。其中security-reviewer是整个审查链路的安全哨兵。其完整定义位于 07-plugins/pr-review/agents/security-reviewer.md--- name: security-reviewer description: Security-focused code review tools: Read, Grep, Bash --- # Security Reviewer Specializes in finding security vulnerabilities: - Authentication/authorization issues - Data exposure - Injection attacks - Secure configuration从源码结构看这个定义与插件目录中另外两个子代理保持同一规范test-checker专注测试覆盖与质量分析见 07-plugins/pr-review/agents/test-checker.mdperformance-analyzer评估算法复杂度、数据库查询效率与缓存机会见 07-plugins/pr-review/agents/performance-analyzer.md。三者分别持有Read, Grep, Bash三类工具但被约束在各自单一职责内这正是 Claude Code 子代理专业化分工、上下文隔离设计思想的体现。二、Frontmatter 配置语义详解security-reviewer的 Frontmatter 由三个键组成理解其语义是自定义子代理的前提键值作用namesecurity-reviewer子代理的唯一标识供主线程 Agent 通过委派调用descriptionSecurity-focused code review对主 Agent 的自我介绍决定了它何时被选中委派toolsRead, Grep, Bash允许该子代理使用的工具白名单值得对比的是仓库中还提供了另一个更严格的最小权限版本secure-reviewer见 04-subagents/secure-reviewer.md其tools仅为Read, Grep并且通过model: inherit继承主模型。该版本的设计意图在文档中表述得非常明确这个 agent 采用最小权限设计可以读取文件进行分析、可以搜索模式、不能执行代码、不能修改文件、不能运行测试。这样可以确保审查过程中不会意外破坏任何东西。这一对比揭示了一个重要实践安全审查类子代理应优先采用只读能力集。security-reviewer因需要执行命令辅助定位问题而保留Bash而纯审计场景可退化为Read Grep彻底消除审查过程对目标仓库的副作用。插件子代理的安全沙箱限制根据 07-plugins/README.md 的说明插件内的子代理运行在受限沙箱中以下 Frontmatter 键不允许出现在插件子代理定义中hooks—— 子代理不能注册事件处理器mcpServers—— 子代理不能配置 MCP 服务器permissionMode—— 子代理不能覆盖权限模型这意味着无论security-reviewer拥有Bash还是仅Read/Grep它都无法自行提升权限或修改宿主环境从机制上保证了审查者不越权。三、五维安全审查清单secure-reviewer的完整任务描述见 zh/04-subagents/secure-reviewer.md将安全审查细分为五大类这是执行审查时的实际检查框架1. 身份验证问题Authentication Issues弱密码策略缺少多因素认证会话管理缺陷2. 授权问题Authorization Issues访问控制失效Broken Access Control权限提升缺少角色检查3. 数据暴露Data Exposure日志中泄露敏感数据未加密存储API key 泄露PII个人身份信息处理问题4. 注入漏洞Injection VulnerabilitiesSQL 注入命令注入XSS跨站脚本LDAP 注入5. 配置问题Configuration Issues生产环境开启调试模式默认凭据不安全的默认配置这五类维度与/check-security命令见 07-plugins/pr-review/commands/check-security.md声明的检查点高度一致——身份验证/授权检查、数据暴露风险、注入漏洞、密码学弱点、日志中的敏感数据——说明命令与子代理共享同一套安全知识体系命令负责触发子代理负责执行分析。四、可直接复用的漏洞模式搜索命令仓库为不同编程语言给出了经过整理的 grep 搜索模式同样位于 zh/04-subagents/secure-reviewer.md可直接复制进 Bash 执行# 硬编码密钥Hardcoded secrets grep -r password\s* --include*.js --include*.ts grep -r api_key\s* --include*.py grep -r SECRET --include*.env* # SQL 注入风险 grep -r query.*\$ --include*.js grep -r execute.*% --include*.py # 命令注入风险 grep -r exec( --include*.js grep -r os.system --include*.py这些模式覆盖了三类最高频漏洞信号硬编码凭据密码、API key、密钥、动态拼接的 SQLquery后直接拼接变量、execute使用%格式化、危险命令执行入口exec()、os.system。使用时建议结合文件类型扩展模式例如 Python 还需关注subprocess、eval、pickleJavaScript 则需补充child_process、innerHTMLXSS等关键字。源码级佐证security-scan.sh 的真实检测规则本仓库的 Hooks 目录提供了上述模式的工程化落地实现。查看 06-hooks/security-scan.sh该脚本作为PostToolUseWrite 匹配器Hook 在文件写入后自动执行扫描其内置的正则规则与子代理的搜索模式互为印证检测项正则规则触发警告硬编码密码password: 值或password 值Potential hardcoded password detected硬编码 API keyapi_key/apikey/access_token赋字面量Potential hardcoded API key detected硬编码密钥/令牌secret或token赋字面量Potential hardcoded secret or token detected私钥BEGIN.*PRIVATE KEYPrivate key detectedAWS 访问密钥AKIA后接 16 位大写字母数字AWS access key detected该脚本还体现了两个可借鉴的设计一是对*.png、node_modules、.git、dist、build等二进制与产物路径直接跳过避免误报二是若系统安装了semgrep与trufflehog会顺带调用semgrep --configauto和trufflehog filesystem --only-verified做深度扫描形成正则快扫 专业工具深扫的分层防线。所有警告通过hookSpecificOutput.additionalContext以非阻塞方式注入上下文提示开发者改用环境变量存储凭据。五、规范化漏洞报告格式security-reviewer要求对每个漏洞按统一六字段模板输出见 zh/04-subagents/secure-reviewer.md这是确保审查结果可被主 Agent 汇总、可被开发者直接定位修复的关键字段内容说明示例Severity严重级别分级Critical/High/Medium/LowType漏洞类别按 OWASP 分类A03:2021-InjectionLocation文件路径与行号src/db.py:42Description漏洞描述SQL 查询使用字符串拼接用户输入Risk被利用后的潜在影响攻击者可绕过认证读取全表数据Remediation修复建议改用参数化查询与 ORM该输出契约与仓库 07-plugins/pr-review/README.md 中展示的综合报告风格一致✅ Security: No critical issues found/⚠️ Testing: Coverage is 65%保证多个子代理的产出能被主 Agent 无摩擦地聚合成一份统一格式的审查报告。六、在 /review-pr 全流程中的协作机制security-reviewer并非孤立运行它嵌入在/review-pr的完整编排流程中。参考 07-plugins/pr-review/README.md 定义的工作流1. Runs pre-review hook校验 git 仓库状态 2. Fetches PR data via GitHub MCP获取 PR 数据 3. Delegates security review to security-reviewer委派安全审查 4. Delegates testing to test-checker委派测试检查 5. Delegates performance to performance-analyzer委派性能评估 6. Synthesizes all findings汇总所有发现 7. Provides comprehensive review report输出综合审查报告其中三个基础设施组件为安全审查提供了前置保障pre-review.js Hook见 07-plugins/pr-review/hooks/pre-review.js在审查开始前通过git rev-parse --git-dir校验当前目录确为 git 仓库并通过git status --porcelain检测未提交变更并发出警告避免在非预期状态下执行审查。GitHub MCP 服务器见 07-plugins/pr-review/mcp/github-config.json通过npx modelcontextprotocol/server-github启动并注入GITHUB_TOKEN环境变量使子代理能获取 PR 的 diff 与文件清单作为审查输入。使用前需export GITHUB_TOKENyour_github_token。插件安装整个 pr-review 插件可通过/plugin install pr-review一键安装要求 Claude Code 2.1 与 GitHub 访问权限。单独触发安全审查若只想对代码变更执行聚焦式安全分析无需启动完整 PR 流程可直接调用/check-security。该命令的检查范围见 07-plugins/pr-review/commands/check-security.md为身份验证/授权检查数据暴露风险注入漏洞密码学弱点日志中的敏感数据七、接入与自定义建议基于上述机制可将安全审查能力沉淀到自己的项目中安装现成插件在 Claude Code 会话中执行/plugin install pr-review即可获得security-reviewer子代理与/check-security命令。本地调试插件开发阶段使用claude --plugin-dir ./path/to/plugin加载本地插件验证子代理与命令的行为修改插件文件后可用/reload-plugins热重载。定制审查粒度将security-reviewer的定义复制到自己的agents/目录按需增删tools如收敛为Read, Grep的只读模式并扩充搜索模式以匹配团队技术栈。叠加 Hook 防线参考 06-hooks/security-scan.sh 注册PostToolUseHook在每次文件写入时即时拦截硬编码凭据形成写入即扫描 PR 时深度审查的双层防护。统一输出契约让所有审查类子代理遵循六字段报告格式便于主 Agent 汇总与自动化门禁如 Critical 漏洞阻断合并解析。结语security-reviewer是 Claude Code 插件化安全能力的最小可复用单元它用三行 Frontmatter 声明身份与工具边界用五维检查清单划定审计范围用结构化 grep 模式驱动扫描用六字段模板保证产出可消费。当它被放入 PR Review 插件后便与/check-security命令、GitHub MCP 与pre-review.jsHook 共同构成了一条校验输入 → 获取 diff → 委派审计 → 汇总报告的完整安全审查流水线。在将审查职责交给 AI 时请始终牢记本仓库反复强调的原则审查者应当只读、最小权限、不越权——这也正是security-reviewer与其最小权限变体secure-reviewer存在的最根本理由。【免费下载链接】claude-howtoA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-howto创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →