关于 absolute-audit
Absolute Audit 是用于代码仓库安全审计的技能,可查找并分级依赖 CVE 与高风险代码模式,再指导修复和验证。它面向自有仓库的防御性加固,并输出按严重程度排序的问题及修复建议。
主要功能
- 01扫描依赖中的已知 CVE
- 02检查高风险代码模式
- 03按严重性和可达性排序
- 04实施小范围修复并重新扫描
- 05报告密钥位置但不输出值
适用场景
- 01CVE 披露后审计代码仓库
- 02定期检查依赖和代码风险
- 03优先修复可达漏洞
- 04不屏蔽问题并验证修复
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ dhruvjainin/ absolute --skill absolute-audit安装后在 Claude Code 中输入/absolute-audit确认已加载。
附带文件README.mdreferences/health-engine.md
详细介绍
首次响应请以 🔒 表情开头。
Absolute Audit
在整个仓库中查找并分级处理安全问题——易受攻击的依赖(CVE)和高风险代码模式——然后安全地修复值得修复的问题。输出按严重性排序的发现表,并为每项提供修复措施,而不是原始扫描器结果。
运行 references/health-engine.md 中的共享引擎——请阅读该文件,了解 DETECT → SCAN → TRIAGE → FIX → VERIFY → REPORT 流程及安全约定。本文件仅介绍安全审计的特定内容。
授权的防御性用途。 此命令用于审计用户自己的仓库,以发现并修复弱点。它用于加固安全,不用于攻击系统或规避检测。
使用时机
- “运行安全审计”“我们是否易受攻击?”“检查我们的依赖是否存在 CVE”。
- 披露的 CVE 影响到你使用的组件之后。
- 定期检查
main。
不同于内置的 /security-review(审查你分支上待提交的差异)——audit 会扫描整个已提交的仓库,包括依赖。两者相辅相成。
扫描内容
1. 依赖漏洞(CVE)——主要内容:
| 生态系统 | 扫描器 |
|---|---|
| npm / pnpm / yarn | npm audit --json / pnpm audit --json / yarn npm audit --json |
| Python | pip-audit(首选)或 safety check |
| Go | govulncheck ./... |
| 跨语言 | 如有锁文件,则使用 osv-scanner 扫描 |
2. 代码级模式——只读的 grep/静态检查,仅关注高置信度问题:
硬编码的机密/密钥/令牌、对输入使用 eval/动态执行、通过字符串拼接构造 SQL、敏感路由缺少授权检查、禁用 TLS 验证、不安全的反序列化、过于宽泛的 CORS。如果项目已配置现有的 SAST/代码检查安全规则(eslint-plugin-security、bandit、gosec),优先使用这些规则。
报告疑似泄露的机密,但绝不打印机密值——只注明 path:line 和类型。
风险排序(TRIAGE)
按严重性 × 可利用性 × 可达性排序,而不是仅看 CVSS:
| 严重性 | 默认处理方式 |
|---|---|
| 严重 / 高,存在可达路径且有可用修复 | 立即修复(第 1 波) |
| 中等,存在可达路径 | 本轮修复 |
| 低 / 无法从应用代码中触达 | 报告,通常延后处理 |
| 仅传递依赖,且没有直接升级路径 | 标记并注明受阻的上游依赖 |
逐项标明:该问题是否可通过应用的实际代码路径触达?未使用的传递依赖分支中的 CVE,优先级低于热点路径上的中等风险问题。注明每项的修复版本或缓解措施。
修复与验证
- 依赖 CVE → 通过最小幅度的版本升级来消除问题(将具体的升级操作委派给
upgrade流程中各生态系统的步骤)。优先选择已修复的次要版本;只有在这是唯一修复方案时才升级主版本,并进行门控。 - 代码问题 → 实施具体修复(参数化查询、将机密移至环境变量,并标记已泄露的机密以便轮换、添加授权检查)。每项修复单独作为一小波进行。
- 每波修复后重新运行扫描器:确认发现确实消失,并确保测试/构建仍然通过。绝不要通过屏蔽/允许列表来消除告警。
- 泄露的有效机密:标记为需要轮换——从代码中移除并不能消除已发生的泄露。
注意事项
- 审计疲劳 → 一概忽略。 根据可达性进行分级,而不是屏蔽扫描器告警。
- 通过屏蔽来修复 CVE。 加入允许列表的安全公告仍然代表漏洞。
- 打印机密。 仅注明位置和类型;绝不回显机密值。
- 从代码中删除机密 ≠ 安全。 机密仍存在于 git 历史中,且已被暴露——应轮换。
- 只检查依赖便停止。 许多实际问题出在代码中,而非依赖树——两轮检查都要执行。
配套命令
/absolute upgrade——对存在漏洞的依赖实际进行版本升级。/security-review(内置)——搭配使用,也检查待提交的差异。/absolute work——如果修复需要实质性重构(例如替换身份验证流程),则移交处理。