用途:为 Ruby 代码提供标准化的安全审查流程,覆盖 OWASP Top 10 相关检查项,适用于常规代码审查和 TDD 循环等场景。
主要能力与执行门禁: 输入验证方面,要求不可信载荷在处理前先通过白名单过滤;检查所有入口点(控制器、API 端点、webhook、控制台运行脚本),确认每个参数被显式白名单化并在必要时做类型转换;JSON 载荷中类似指令的键(如 prompt、instructions)需丢弃或中和。 注入检查方面,禁止直接 SQL 插值(#{id}),须使用数据库客户端的参数化查询;禁止用反引号、system()、exec() 拼接动态 shell 命令,如必须执行则把参数作为独立数组项传入。 密钥与日志方面,禁止提交或记录任何密钥;配置从环境变量(ENV['SECRET'])或安全配置库读取,不得使用字面量;日志输出需过滤或脱敏密码、令牌、个人标识等敏感数据。 依赖方面,变更完成前运行:bundle exec bundle-audit check --update,若报出漏洞则规划安全版本升级。
使用方式:按四个步骤执行——输入验证审计、注入检查、密钥与日志检查、依赖与 CVE 检查,并在与用户对齐时使用检查点模式:按威胁向量(如 SQL 注入、密钥泄露)分类呈现安全问题,修复后再演示参数化查询或过滤器如何阻断该利用路径。文档给出正反例,例如不安全写法 db.execute("SELECT * FROM users WHERE name = '#{params[:name]}'"),安全写法 db.execute("SELECT * FROM users WHERE name = ?", params[:name]);命令行同理改为逐个参数传入。
限制:资料未说明支持的具体 Ruby 版本、强制执行方式及适用范围以外的语言,也未提供价格、平台或效果数据。该技能与 review-process、tdd-process 衔接。