| name | log-audit |
| description | 安全日志分析审计技能——覆盖 Web(nginx/apache/IIS)、应用(Java/Python/Node/Go)、系统认证(sshd/sudo/Windows事件)、数据库(MySQL/Redis等)四类日志的格式解析、攻击特征检测、统计画像、IOC提取与跨日志关联、威胁情报联动(API/公开/本地三档)、攻击链研判与合规审计,输出中文研判报告(Markdown)+HTML交互可视化报告(内嵌ECharts可离线打开)+Word/PDF文档。当用户要求进行日志分析、日志审计、攻击溯源、研判攻击事件、应急响应、排查 nginx 日志/应用日志/ssh 登录/数据库日志异常、日志合规检查时使用本技能。 |
log-audit 安全日志分析审计
输入日志,产出研判/审计报告与交互可视化。脚本做事实,Claude 做研判:四个 Python 脚本产出中间事实数据(events/profile/detections/iocs),研读这些数据与可疑样本后,由你撰写研判结论(conclusions.json),脚本组装最终报告。
合规红线(不可越过)
- 只分析已获授权的日志;情报查询只提交 IP/域名/Hash 值,绝不把日志原文发给任何外部服务
- 报告/HTML/证据中的密码、token、Authorization、cookie、邮箱、手机号、身份证号必须脱敏(脚本已内置 redact_text,解析落盘与报告组装时自动处理)
- 中间产物只落盘到输出目录
分析报告/<时间戳>_<目标名>/
- 对互联网第三方资产只做被动情报检索,不得基于日志内容发起主动探测
输入契约
本地日志文件/目录/压缩包(.gz/.zip)、粘贴片段、SIEM 导出 CSV、Windows evtx XML 导出。
输出契约
分析报告/<YYYYmmdd_HHMMSS>_<目标名>/
├── 研判报告.md / 审计报告.md # 源文档
├── 交互报告.html # 自包含,浏览器打开
├── 研判报告.docx / .pdf # 可选,见"Word/PDF 转换"
├── charts/ # PNG 图表
├── data/ # events.jsonl / meta.json / profile.json / detections.jsonl / iocs.json / iocs_enriched.json
└── evidence/ # 脱敏后的可疑样本
工作流 A:攻击研判(应急响应)
P1 准备
- 与用户确认:日志已获授权分析;明确目标名(如域名/系统名)
- 创建输出目录
分析报告/<时间戳>_<目标名>/,后续命令的 -o 一律指向其子目录
- 若是粘贴片段:用
parse_text 处理;若是本地文件:直接 P2
P2 解析
python -m scripts.log_parser <文件或目录> -o 分析报告/<目标>/data
检查 data/meta.json:detected_format 是否正确、bad_rate 是否 >5%(是→读 bad_samples 判断是否未知格式,必要时你现场写一次性解析代码补位并征询用户是否固化)。
P3 检测
python -m scripts.analyze detect -e 分析报告/<目标>/data -r rules -o 分析报告/<目标>/data/detections.jsonl
python -m scripts.analyze profile -e 分析报告/<目标>/data -o 分析报告/<目标>/data/profile.json
P4 关联
python -m scripts.analyze ioc -e 分析报告/<目标>/data -o 分析报告/<目标>/data/iocs.json
读 iocs.json 的 attackers(攻击者画像:事件数/状态码序列/login_attempts/来源日志)与 correlations(跨日志同 IP)。爆破成功判据:同 IP 的 statuses 含大量 401 后出现 200,或 auth 日志 Failed password 序列后出现 Accepted。
P5 情报(三档自动降级)
python -m scripts.intel 分析报告/<目标>/data/iocs.json -o 分析报告/<目标>/data/iocs_enriched.json
- 公开档:读
iocs_enriched.json 的 public_suggestions,对其中可疑 IOC 用 WebSearch 执行建议检索,把结论以 intel 字段写回每条 IOC(tier 填 "public")
- 红线提醒:检索只提交 IOC 值本身
P6 研判(★核心,你来做)
- 读
data/profile.json(统计画像、突增窗口)、data/detections.jsonl(检测明细)、data/iocs_enriched.json(IOC+情报)
- 对每条 high/critical 检测,从
data/events.jsonl 中取该 IP/时间附近的原始样本核实
- 按
references/06-judgment.md 五步法研判:真伪 → 成功与否 → 攻击链 → 影响面 → 置信度
- 撰写
data/conclusions.json(schema 见下)——这是你的产出物
{"type": "judge", "meta": {"target": "", "analyst": "", "intel_tier": "",
"log_sources": [], "time_range": ""},
"summary": "", "findings": [
{"id": 1, "title": "", "severity": "high", "confidence": "高",
"attack_chain": "", "verdict": ""
P7 报告
python -m scripts.viz_report charts -p data/profile.json -i data/iocs_enriched.json -o 分析报告/<目标>/charts
python -m scripts.viz_report html -p data/profile.json -d data/detections.jsonl -i data/iocs_enriched.json -c data/conclusions.json -o 分析报告/<目标>/交互报告.html
python -m scripts.viz_report report -m judge -p data/profile.json -d data/detections.jsonl -i data/iocs_enriched.json -c data/conclusions.json -o 分析报告/<目标>/研判报告.md
证据样本:从 detections 取 raw_sample 脱敏后存入 evidence/(viz_report redact 可用)。
交付前自检清单:报告含结论摘要+攻击链+置信度;HTML 可离线打开;无明文敏感信息。
工作流 B:合规审计(例行巡检)
P1-P4 同工作流 A(P5 情报可跳过)。
P5' 检查:对照 references/07-compliance.md 检查项清单,用 profile/meta/events 证据逐项判定,结论写入 conclusions.json(type="audit",用 checks[] 数组)。
P6' 报告:
python -m scripts.viz_report report -m audit -p data/profile.json -d data/detections.jsonl -i data/iocs.json -c data/conclusions.json -o 分析报告/<目标>/审计报告.md
python -m scripts.viz_report html ... -o 分析报告/<目标>/交互报告.html
降级路径
| 场景 | 处理 |
|---|
| 未知日志格式 | 采样 20 行观察 → 你现场写一次性解析 → 征询用户是否固化 |
| GB 级日志 | --stream 分块;研判只读采样样本 |
| 情报 API 无 Key/超时 | 自动降级公开检索 → 再降级本地研判;报告中如实标注档位 |
| matplotlib 报字体错误 | 图表跳过,仅交付 MD 报告 |
| 坏行率 >5% | 读 bad_samples;可能是编码/格式误判,重探测或转人工 |
| 检测误报 | --exclude-rule 排除;研判阶段逐条真伪判定 |
Word/PDF 转换(可选)
pandoc 分析报告/<目标>/研判报告.md -o 分析报告/<目标>/研判报告.docx
参考知识库
| 文件 | 内容 | 何时读 |
|---|
| references/01-formats.md | 日志格式与解析要点 | 解析异常/未知格式时 |
| references/02-web-detection.md | Web 攻击检测与研判 | web 家族检测命中时 |
| references/03-auth-detection.md | 认证日志研判 | auth 命中时 |
| references/04-app-detection.md | 应用日志研判 | app 命中时 |
| references/05-db-detection.md | 数据库日志研判 | db 命中时 |
| references/06-judgment.md | 研判五步法与置信度 | P6 研判前必读 |
| references/07-compliance.md | 合规检查项与评分 | 工作流 B |
| references/08-visualization.md | 图表与报告规范 | P7 报告阶段 |