关于 cyber-audit
cyber-audit 是一项安全审计技能,用于依据指定公告检查机器是否受影响并记录结果,适合需要在不更改机器状态的情况下评估风险的场景。
主要功能
- 01依据公告确定审计范围
- 02只读机器检查
- 03按操作系统和生态选择检查
- 04逐项记录检查结果
- 05生成带日期的审计报告
- 06根据攻击途径判定结果
适用场景
- 01按指定 CVE 检查主机
- 02评估易受影响的软件包或二进制文件
- 03判断服务是否可被访问
- 04留存书面审计记录
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hcaiano/ skills --skill cyber-audit安装后在 Claude Code 中输入/cyber-audit确认已加载。
附带文件agents/openai.yamlreferences/checks.md
详细介绍
cyber-audit
判断这台机器是否受到某项指定公告的影响,并留下书面审计记录。
硬性规则
- 对机器只读。 你负责诊断;用户负责修复。不得安装、卸载、升级、重启、修改配置,也不得在
~/security-audits/以外写入文件。应阅读公告:从权威来源获取,或使用用户提供的全文。 - 不得使用
sudo。 - 需要执行会改变状态的命令才能完成的检查,应记录为“未检查(需要改变状态)”,而不是执行该命令。
- 每次调用生成一份报告,即使结论为“未受影响”也不例外:这就是审计记录。
工作流
- 根据公告确定范围。 从公告本身确认受影响的软件包或二进制文件、受影响版本、平台和攻击向量(供应链 / RCE / 本地 / 网络)。如果只给出 CVE ID 或软件包名称,应先查找公告,或要求提供公告全文,再进行审计;没有依据的结论还不如不下结论。完成标准:受影响版本注明了公告出处。
- 检查。 读取
uname -s,然后阅读参考资料/checks.md,并针对该公告所属的生态系统和此操作系统选择检查项。并行运行彼此独立的检查。 - 逐步填写表格: 每项检查占一行,并记录具体结果(版本、路径、“无”、“不适用”或注明原因的“未检查”)。完成标准:每项选定的检查都有对应行,且所有会影响结论的证据缺口都已列明。
- 撰写报告。 运行
mkdir -p ~/security-audits,然后根据下方模板,将报告写入~/security-audits/YYYY-MM-DD-<short-kebab-slug>.md,日期使用环境中的当天日期。如果结论为“受影响”,应在 后续操作 下列出供用户执行的修复命令。 - 向用户报告结论:用一行说明结论,并附上报告路径。
报告模板
# <Subject> — Audit
**Date:** YYYY-MM-DD
**Host:** <this machine>
## <CVEs | Advisory> in scope
- **<ID or source> "<Name>"** — <one-line description>. <Affected versions or scope>.
## Audit results
| Check | Result |
|---|---|
| <Check 1> | <Result> |
| <Check 2> | <Result> |
## Verdict
**<Not affected. | Affected. | Partially affected. | Inconclusive.>**
- <Rationale bullet 1>
- <Rationale bullet 2>
## Action taken
None — diagnostic only, no files modified outside the report directory.
## Follow-ups
- <Actionable item, or "None">
结论
攻击向量决定了哪项检查可以证明存在暴露风险:
- 供应链 / 恶意软件包:存在易受攻击的版本即构成暴露,因为其安装时和导入时的载荷可能已经运行。无论是否有任何程序正在运行,只要存在该软件包,结论就是受影响;报告应说明观察到的软件包状态,而不是声称载荷已运行。
- 网络 / 服务(RCE):要构成暴露风险,易受攻击的代码必须正在运行且可访问,因此应以进程和监听器检查为准。
结论:
- 未受影响。 未安装,或已安装但已修补;对于网络 / 服务公告,还包括已安装但未运行且未暴露的情况。
- 受影响。 存在易受攻击的版本,且可通过相应攻击向量触达。
- 部分受影响。 仅适用于网络 / 服务公告:已安装且正在运行,但只能部分触达,例如绑定到环回地址,或仅在身份验证或防火墙保护后暴露。应明确说明缓解措施。完全停止的服务属于未受影响。
- 无法确定。 无法运行证明软件包不存在、确认版本或验证可访问性所需的检查。应在报告中指出该检查及缺失的证据。
评论
支持 Markdown