用途:分析源站 Web 访问日志,识别安全威胁并输出带证据的缓解建议。支持 Nginx、Apache 和 IIS W3C 日志格式并自动识别,可从 X-Forwarded-For 链中提取真实客户端 IP,按十一个维度聚合流量,检测十一种攻击模式(C1 单 IP 高频 CC、C2 代理池/分布式机器人 CC、C3 API 滥用、C4 扫描探测、C5 登录爆破/撞库、C6 异常爬虫、C7 QPS 突变、C8 慢速资源消耗、C9 源站直连风险、C10 带宽突变、C11 4xx/5xx 状态码突增),并生成纯 ASCII 文本或 Markdown 报告。
使用方式:仅需 Python 3(标准库,无第三方依赖)。先运行 python3 --version 确认版本。设置技能目录后执行入口脚本,例如 cd $SKILL_DIR && python3 scripts/log_analyzer.py access.log;可用 --output-format markdown 生成 Markdown,--time-window 30 只分析最近 30 分钟,--format nginx 强制日志格式,--output /tmp/report.txt 指定输出路径。参数还包括 --top-n <N>(默认 20)。退出码:0 成功;1 输入错误;2 参数无效。
限制与约束:运行前必须与用户确认日志文件路径,未提供时须询问,禁止用 find、ls、glob 等扫描磁盘寻找日志。仅只读分析,不修改、移动或删除用户文件,也不需要任何凭据。必须通过入口脚本 scripts/log_analyzer.py 执行,禁止自写分析脚本或 awk/grep 检测管线。仅分析用户明确指定的文件。报告为纯 ASCII 英文,无表情符号或制表字符。报告含 Executive Summary、11 个固定顺序详情章节与 Structured Findings JSON,跨分析与延迟章节仅在数据相关时出现。数据不足时会列出缺失字段(xff/ua/referer/request_time)及其影响。支持 .gz 压缩日志直接分析。大文件建议先用 --time-window 缩小范围。省略 --output 时报告写入 <skill>/output/ 并在 stderr 打印实际路径,技能目录不可写则回退当前工作目录。检测阈值与行为特征见 references/attack-detection.md,日志格式见 references/log_parsing.md,报告布局见 references/report-generation.md。