@@ -44,21 +44,24 @@ BLA 的结果分成两类:给人看的应急判断,和给系统继续处理
4444- ** 提取证据** :输出 IP、域名、URL、Hash、账户、进程、命令和可疑路径,方便封禁、狩猎和工单流转。
4545- ** 交给系统** :同时生成 JSON、CSV 和 SARIF,便于二次分析、Excel 排查、CI 门禁和 Code Scanning。
4646
47- 默认 ` --out report/ ` 会落地 ` index.html ` 、` report.json ` 、` events.csv ` 、` iocs.txt ` 和 ` report.sarif ` ,人能看,脚本也能继续处理。
47+ 默认 ` --out report/ ` 会落地 ` index.html ` 、` report.json ` 、` events.csv ` 、` iocs.txt ` 、 ` report.sarif ` 和 ` manifest.json ` ,人能看,脚本也能继续处理。
4848
49- ## 最新版本:v1.3.2
49+ ## 最新版本:v1.3.3
5050
51- v1.3.2 是一次可信度与发布卫生更新,重点不是堆新功能,而是把解析、检测、终端输出、远程工作台和 README/发布流程一起收紧 。
51+ v1.3.3 是一次产品打磨、性能和发布质量更新,重点是让报告更适合集成,让 P0 结构化日志解析更快,并补齐交付前可重复验证能力 。
5252
53- | 方向 | v1.3.2 重点 |
53+ | 方向 | v1.3.3 重点 |
5454| --- | --- |
55- | 解析可信度 | P0 JSON object / JSONL 都能识别,解析失败会被统计;VPN 未知认证状态不再误判为登录成功 |
56- | 检测可信度 | 暴力破解、密码喷洒和“爆破后成功登录”按时间窗口判断,避免跨天/月误聚合 |
57- | RDP 专项 | ` --rdp ` 只保留 ` LogonType=10 ` 且带远程来源 IP 的 Windows 4624/4625 登录事件 |
58- | 输出安全 | 终端报告会清理日志中的控制序列,HTML/CSV/JSON/SARIF 继续保持离线输出 |
59- | 发布卫生 | README、release checklist、打包清单和发布 workflow 同步校验版本、构建产物和安装烟测 |
55+ | 性能优化 | P0 日志优先使用 ` log_type/source_type ` 快速分流,减少每行大范围正则判断 |
56+ | 输出可读性 | JSON 报告增加顶层 ` summary ` ,把风险、事件、告警、案件和级别分布放到固定入口 |
57+ | 交付追溯 | 标准报告目录新增 ` manifest.json ` ,记录输入哈希、输出哈希、版本、限制和解析异常 |
58+ | 输出安全 | 分享型报告会清理终端控制序列并遮蔽常见 token、cookie、password 等敏感字段 |
59+ | 统计效率 | 解析统计不再为起止时间排序全量时间戳,降低大日志内存和 CPU 开销 |
60+ | 检测热路径 | 缓存 RFC1918 IP 判断,复用预编译模式,减少凭据检测里的重复字符串拼接 |
61+ | 规则维护 | ` validate-rules ` 增加自定义正则回溯风险提示,降低扩展规则拖慢分析的概率 |
62+ | 发布校验 | 发布脚本覆盖样例分析、报告包产物、版本面、规则校验、Remote Workspace help 和 benchmark |
6063
61- 更多变更见 [ v1.3.2 发布说明] ( https://github.com/Hackerchen716/blueteam-log-analyzer/blob/main/docs/releases/v1.3.2 .md ) ,历史版本见 [ docs/releases] ( https://github.com/Hackerchen716/blueteam-log-analyzer/tree/main/docs/releases ) 。
64+ 更多变更见 [ v1.3.3 发布说明] ( https://github.com/Hackerchen716/blueteam-log-analyzer/blob/main/docs/releases/v1.3.3 .md ) ,历史版本见 [ docs/releases] ( https://github.com/Hackerchen716/blueteam-log-analyzer/tree/main/docs/releases ) 。
6265
6366## 核心能力
6467
@@ -230,7 +233,8 @@ bla logs/ --out incident_report/
230233# ├── report.json
231234# ├── events.csv
232235# ├── iocs.txt
233- # └── report.sarif
236+ # ├── report.sarif
237+ # └── manifest.json
234238
235239# 生成 SARIF 报告(可上传到 GitHub Code Scanning)
236240bla logs/ --sarif report.sarif
358362
359363关键事件时间线、ATT&CK 技术映射、应急处置建议、Top 攻击源 IP:
360364
361- ![ BLA 终端报告示例] ( https://raw.githubusercontent.com/Hackerchen716/blueteam-log-analyzer/main/docs/screenshots/demo .png )
365+ ![ BLA 终端报告示例] ( https://raw.githubusercontent.com/Hackerchen716/blueteam-log-analyzer/main/docs/screenshots/terminal-report .png )
362366
363367---
364368
371375| SecRepo auth.log | 86,839 | 27,075 | 624 | 100/100(严重) | SSH 暴力破解、密码喷洒、Top IP/Top User、IOC 提取 |
372376| SecRepo Web access.log | 2,928 | 236 | 2 | 100/100(严重) | 敏感路径探测、Web 访问日志解析、` cn-hvv ` 画像、IOC 提取 |
373377
374- 完整复现命令、数据来源和结果摘要见 [ SecRepo 真实样本实测记录 ] ( https://github.com/Hackerchen716/blueteam-log-analyzer/blob/main/docs/secrepo-demo .md ) 。
378+ 完整复现命令、数据来源和结果摘要见 [ SecRepo 公开样本验证记录 ] ( https://github.com/Hackerchen716/blueteam-log-analyzer/blob/main/docs/secrepo-sample-validation .md ) 。
375379
376380### SecRepo auth.log 实测总览
377381
394398```
395399╔══════════════════════════════════════════════════════════════════════════════╗
396400║ BlueTeam Log Analyzer (BLA) - Blue Team Incident Response ║
397- ║ Version 1.3.2 | 100% Offline | No AI ║
401+ ║ Version 1.3.3 | 100% Offline | No AI ║
398402╚══════════════════════════════════════════════════════════════════════════════╝
399403
400404📊 分析总览
@@ -458,12 +462,12 @@ python3 -m unittest discover -s tests -v
458462- Remote Workspace 的 ` bla FILE ` 、` --rdp ` 、` journalctl: ` 和 ` --exit-on ` 行为
459463- 大型日志可通过 ` --max-alerts ` 控制终端告警展示数量
460464- 可通过 ` --syslog-year ` 固定 Linux syslog 无年份时间戳
461- - ` --out ` 标准报告目录可一次生成 HTML/JSON/CSV/IOC/SARIF
465+ - ` --out ` 标准报告目录可一次生成 HTML/JSON/CSV/IOC/SARIF/manifest
462466- 内置 YAML Web 规则与 ` --rules ` 自定义规则加载
463467- 自动识别 Linux/Web 日志时可走逐行解析路径,避免大文件一次性读入内存
464468
465469更多可用于评估 BLA 的公开日志与靶场资源见 [ 测试资源推荐清单] ( https://github.com/Hackerchen716/blueteam-log-analyzer/blob/main/docs/testing-resources.md ) 。
466- SecRepo 真实样本的完整复现实测见 [ SecRepo 真实样本实测记录 ] ( https://github.com/Hackerchen716/blueteam-log-analyzer/blob/main/docs/secrepo-demo .md ) 。
470+ SecRepo 公开样本的完整复现实测见 [ SecRepo 公开样本验证记录 ] ( https://github.com/Hackerchen716/blueteam-log-analyzer/blob/main/docs/secrepo-sample-validation .md ) 。
467471
468472---
469473
@@ -523,39 +527,48 @@ blueteam-log-analyzer/
523527│ │ ├── registry.py # DetectorRegistry / DetectorSpec
524528│ │ ├── enrichment.py # 统一字段富化
525529│ │ └── correlation.py # Incident 级跨源关联
526- │ ├── output/
530+ │ ├── output/
527531│ │ ├── terminal.py # 终端彩色输出(ANSI,支持 Windows 10+)
528532│ │ ├── html_report.py # HTML 报告生成(独立单文件)
529533│ │ ├── json_report.py # JSON 报告输出
530534│ │ ├── csv_report.py # CSV 事件导出
531535│ │ ├── ioc_report.py # IOC 清单导出
532- │ │ ├── sarif_report.py # SARIF 2.1.0 输出(接入 GitHub Code Scanning 等)
533- │ │ └── bundle.py # --out 标准报告目录生成
534- │ ├── remote/
535- │ │ └── ssh_workspace.py# SSH 远程日志工作台
536- │ └── utils/
537- │ └── helpers.py # 工具函数
536+ │ │ ├── sarif_report.py # SARIF 2.1.0 输出(接入 GitHub Code Scanning 等)
537+ │ │ ├── manifest.py # 报告包交付清单与哈希记录
538+ │ │ └── bundle.py # --out 标准报告目录生成
539+ │ ├── remote/
540+ │ │ └── ssh_workspace.py# SSH 远程日志工作台
541+ │ └── utils/
542+ │ └── helpers.py # 工具函数
538543├── docs/
539544│ ├── assets/ # README 与发布素材
540545│ ├── architecture.md # 可扩展内核设计说明
541546│ ├── releases/ # 版本发布说明
542547│ ├── screenshots/ # 界面截图
543548│ ├── allowlist-example.json # 白名单示例
544- │ ├── secrepo-demo .md # SecRepo 真实样本实测记录
549+ │ ├── secrepo-sample-validation .md # SecRepo 公开样本验证记录
545550│ └── testing-resources.md# 测试资源推荐清单
546- ├── sample_logs/
547- │ ├── auth.log # Linux SSH 暴力破解示例日志
548- │ ├── access.log # Web 攻击示例日志(SQLi/XSS/LFI/扫描)
549- │ ├── remote_ssh_auth.log # Remote Workspace 烟测示例
550- │ ├── windows_rdp_sample.xml
551- │ └── windows_4688_sample.xml
552- ├── tests/
553- │ ├── fixtures/p0/ # P0 结构化样本和 golden incident
554- │ └── test_regressions.py # 安全与解析回归测试
555- ├── pyproject.toml # PEP 517/621 构建配置
556- ├── setup.py # Python 包安装配置
557- ├── MANIFEST.in # sdist 文档/样本/测试清单
558- └── README.md
551+ ├── sample_logs/
552+ │ ├── auth.log # Linux SSH 暴力破解示例日志
553+ │ ├── access.log # Web 攻击示例日志(SQLi/XSS/LFI/扫描)
554+ │ ├── remote_ssh_auth.log # Remote Workspace 烟测示例
555+ │ ├── windows_rdp_sample.xml
556+ │ └── windows_4688_sample.xml
557+ ├── tests/
558+ │ ├── fixtures/p0/ # P0 结构化样本和 golden incident
559+ │ ├── _support.py # 回归测试公共支撑
560+ │ ├── test_detection.py
561+ │ ├── test_outputs.py
562+ │ ├── test_p0_security.py
563+ │ ├── test_parsers.py
564+ │ ├── test_remote_workspace.py
565+ │ └── test_release_hygiene.py
566+ ├── scripts/
567+ │ └── release_check.py # 本地发布质量检查
568+ ├── pyproject.toml # PEP 517/621 构建配置
569+ ├── setup.py # Python 包安装配置
570+ ├── MANIFEST.in # sdist 文档/样本/测试清单
571+ └── README.md
559572```
560573
561574---
0 commit comments