gravy灰样本测试
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_e634750a/sectestgravy122311
技能介绍
要解决什么问题
很多安全缺陷并不是复杂的 0-day,而是代码里反复出现的反模式:密码、API Key 被硬编码进源码,SQL 语句靠字符串拼接,subprocess 调用直接把用户输入拼进 shell 命令,模板里 eval 执行未过滤的数据。这类问题静态分析工具往往告警泛滥,人工 review 又容易漏掉。这个技能的目标是在代码合并或发布前,用一套轻量的模式规则把这些高频反模式扫出来,充当 CI/CD 前置的一道粗筛。
它如何工作
技能以 Threat Detector 为核心,检测能力覆盖以下类别:
- 硬编码凭据:密码、API Key、Token、Secret
- 注入风险:字符串拼接产生的 SQL 注入、
subprocess/shell 命令注入、模板中的 XSS 模式 - 危险执行:不安全的
eval/exec调用 - 依赖风险:对照已知 CVE 检查不安全的依赖版本
- 防护缺失:CSRF 保护缺失、开放重定向、路径穿越
- 弱加密算法:MD5、SHA1、DES、RC4
关键步骤:
- 检测规则集中定义在
references/security_rules.yml,每条规则包含四个要素:Pattern(正则或 AST 模式)、Severity(CRITICAL/HIGH/MEDIUM/LOW)、Category(映射到 OWASP Top 10)以及False positive examples(需要排除的误报模式)。 - 扫描时按规则对代码库做模式匹配,输出分级结果。
- 开发者根据严重级别和 OWASP 分类判断优先级,再逐条核对确认。
适用边界与注意点
这是一个模式匹配工具,不是 SAST,误报是常态。它不做数据流分析,也不懂上下文语义,因此扫描结果只能作为提示,不要直接用它阻断 CI/CD 流水线,任何发现都应人工复核后再处理。规则文件是可编辑的,可以按团队代码风格增删模式,但新增规则时务必补上对应的误报示例,否则告警噪音会很快淹没有用信号。
使用场景
- 代码合并到主分支前,需要扫描硬编码密码、API Key、Token 等凭据
- 编写 SQL 或命令调用时,需要检查字符串拼接导致的 SQL 注入与命令注入模式
- 发布前需要对照已知 CVE 检查项目中的依赖版本是否存在安全风险
- 编写模板或路由代码时,需要检查 XSS、开放重定向、路径穿越等反模式
适合人员
- 后端开发工程师,需要在每次代码合并前排查硬编码凭据与危险执行调用
- Web 应用开发者,需要在编写数据访问或命令调用时检查拼接注入模式
- DevOps 或 CI/CD 工程师,需要用分级告警在流水线中做合并前的粗筛
- 安全审计或合规人员,需要按 OWASP 分类整理高频安全反模式清单