marcos-liao/LogSight

GitHub: marcos-liao/LogSight

LogSight 是一个零部署的浏览器端日志分析沙盒,结合引导式安全学习场景与真实日志检测引擎,帮助用户实践基于日志的威胁狩猎。

Stars: 0 | Forks: 0

# LogSight — 日志分析沙盒 一个独立、基于浏览器的日志分析实验室,用于学习和实践网络安全 调查。无需服务器,无需构建步骤,无需网络连接 —— 只需打开 `index.html`。 ![LogSight](https://raw.githubusercontent.com/marcos-liao/LogSight/main/img/localhost_8070.png) ## 功能简介 LogSight 具有两种模式: ### 学习模式 (Learn Mode) 带有预置日志数据的引导式场景,用于动手实践。每个场景都会带您 了解真实的攻击链: 1. **选择场景** —— SSH 暴力破解、Web Shell 上传、DNS 数据外泄等 2. **调查** —— 阅读日志,使用正则表达式过滤器和交互式时间轴来发现异常 3. **作答** —— 填写调查问题 4. **学习** —— 解锁情报报告:入侵指标、攻击步骤 (kill chain)、缓解措施以及框架映射 (MITRE ATT&CK, NIST CSF, OWASP, CVSS) ### 分析模式 (Analyze Mode) 加载您自己的日志文件,进行真实环境下的调查: 1. **加载文件** —— 拖放文件、选择文件夹或选择单个 `.log` 文件 (接受 `.log` 和无扩展名的文本文件,最高可达可配置的大小限制) 2. **审查** —— 加载后的摘要会显示日期覆盖范围、行数和缺失的间隔 3. **分析** —— 检测引擎自动运行并显示按优先级排序的告警 4. **调查** —— 缩放时间轴(这会过滤日志查看器)并使用正则表达式深入挖掘 5. **报告** —— 导出您的调查结果 ## 检测引擎 分为三层,前两层完全离线运行: | 层级 | 类型 | 标签 | 功能说明 | |-------|------|-----|--------------| | 1 | 基于规则 | `RULE` | 正则表达式签名:SQLi、XSS、路径遍历、暴力破解、Web Shell 等 | | 2 | 统计学 | `STAT` | 基线 + 异常评分:频率激增、非工作时间活动、事件链 | | 3 | AI | `AI` | *可选,需要提供商密钥。* 自然语言查询、自动摘要、事件报告和行为分析 (信标 / 序列异常) | ## AI 增强(可选) 第 3 层连接到 Claude 或 OpenAI。在任何数据离开您的浏览器之前,它都会被 **伪匿名化** —— IP 地址、主机名、用户名、电子邮件和文件路径会被 替换为一致的虚拟值 (真实 IP → RFC 5737 范围等)。映射 表保留在本地;您可以在设置中预览它。“仅本地”模式仅发送 汇总统计数据,绝不发送日志内容。 API 密钥永远不会持久化保存到磁盘。 ## 技术 纯 HTML5 + CSS3 + 原生 JavaScript。仅有的捆绑依赖项 (全部为本地文件,位于 `lib/` 中): - **Chart.js** + **chartjs-adapter-date-fns** —— 交互式时间轴 - **chartjs-plugin-zoom** + **Hammer.js** —— 滚动/拖动/捏合缩放 无需框架,无需打包工具,无需 `npm install`。 ## 环境要求 正常使用无需安装任何程序。LogSight 是一个静态浏览器应用: - 现代浏览器 - (可选) 本地静态 HTTP 服务器 (用于支持文件夹选择功能) - (可选) Claude/OpenAI API 密钥 (仅在启用第 3 层 AI 功能时需要) 有关机器可读的依赖项说明,请参阅 `requirements.txt`。 ## 项目结构 ``` log-analysis-lab/ ├── index.html ├── css/style.css ├── js/ │ ├── app.js — orchestration / UI wiring │ ├── scenarios.js — Learn-mode scenario data │ ├── frameworks.js — MITRE / NIST / OWASP reference data │ ├── log-parser.js — format detection + timestamp extraction │ ├── detection.js — rule-based + statistical detection │ ├── pseudonymizer.js — consistent data pseudonymization │ ├── timeline.js — Chart.js timeline wrapper │ ├── log-viewer.js — virtual-scrolling log viewer │ └── worker.js — background parsing/detection (optional) ├── lib/ — vendored libraries └── examples/ — sample .log files ``` ## 运行方式 只需在浏览器中打开 `index.html`。为了获得完整的功能体验 (文件夹选择器和 本地文件读取在 HTTP 环境下表现最佳),您可以选择为其提供服务: ``` python -m http.server 8070 ``` 然后访问 `http://localhost:8070`。 ## 支持的日志格式 Syslog (BSD)、Apache 访问/错误日志、Palo Alto PAN-OS CSV syslog、 通用事件格式 (CEF)、Oracle Net listener 日志、BIND DNS 查询日志、 JSON 日志以及带有 ISO 8601 时间戳的日志行。格式会按行自动检测。 ## 示例 `examples/` 文件夹是项目的一部分,在发布 仓库时应包含在内。它包含单源场景以及 `examples/corebanking-killchain/`, 后者将 Palo Alto 防火墙/威胁日志、F5 LTM/ASM、Apache 访问日志、 Oracle listener 日志和 Oracle 审计日志进行了关联。 ## 许可证 MIT 许可证。请参阅 `LICENSE`。 ## 贡献者 请参阅 `CONTRIBUTORS.md`。
标签:PFX证书, 安全靶场, 攻击检测, 数据可视化, 漏洞修复, 纯前端工具, 网络安全培训, 自定义脚本