oluwaseunadenuga/ThreatLens_-Lab

GitHub: oluwaseunadenuga/ThreatLens_-Lab

一款基于 React 和 Kali Linux 的威胁情报与攻击面测绘平台,自动化域名侦察、安全头分析并生成 AI 驱动的风险报告。

Stars: 0 | Forks: 0

# ThreatLens - 威胁情报与攻击面测绘平台 [![Type](https://img.shields.io/badge/Type-Threat%20Intelligence%20Platform-blueviolet?style=flat-square)](https://github.com) [![Framework](https://img.shields.io/badge/Framework-React%2018%20%2B%20TypeScript-blue?style=flat-square)](https://react.dev) [![Build](https://img.shields.io/badge/Build-Vite%20v5.4.19-646CFF?style=flat-square)](https://vitejs.dev) [![Runtime](https://img.shields.io/badge/Runtime-Bun%20v1.3.10-f9f1e1?style=flat-square)](https://bun.sh) [![Platform](https://img.shields.io/badge/Platform-Kali%20Linux-557C94?style=flat-square)](https://www.kali.org) [![Status](https://img.shields.io/badge/Status-Deployed-brightgreen?style=flat-square)](https://github.com) ThreatLens 是一个定制构建的全栈威胁情报平台,在 Kali Linux 上开发并部署。它自动化域名侦察、表面测绘和安全头分析,并生成结构化的 AI 驱动发现报告,包含风险评分和 PDF 导出功能。 ## 目录 - [概述](#-overview) - [技术栈](#-tech-stack) - [前置条件](#-prerequisites) - [安装说明](#-installation) - [启动平台](#-launching-the-platform) - [使用 ThreatLens](#-using-threatlens) - [扫描结果 — example.com](#-scan-results--examplecom) - [关键发现](#-key-findings) - [风险严重性分类](#-risk-severity-classification) - [平台功能](#-platform-features) - [展示技能](#-skills-demonstrated) - [免责声明](#-disclaimer) ## 概述 构建 ThreatLens 旨在展示双重能力:**安全工具开发**和**应用威胁情报分析**。与现成的 OSINT 工具不同,ThreatLens 从源代码构建——一个生产级的 React 应用程序,使用 TypeScript、Tailwind CSS 和集成的 AI 分析师模块,该模块对发现进行分类并生成可直接用于补救的报告。 **它的功能:** - 接受域名作为输入并运行自动化的多向量扫描 - 枚举 URL 并测绘可见的攻击面 - 检测缺失的安全头和已知的漏洞模式 - 利用域名注册、托管和 ASN 数据丰富结果 - 按严重性对发现进行分类:严重 · 高 · 中 · 低 - 生成带有结构化补救指导的 AI 分析师发现 - 导出完整的 PDF 报告并公开原始 JSON 扫描数据 - 强制执行安全扫描策略——用户必须在任何扫描开始前确认授权 ## 技术栈 | 组件 | 详情 | |---|---| | **Frontend Framework** | React 18 + TypeScript | | **Build Tool** | Vite v5.4.19 | | **Package Manager** | Bun v1.3.10 (30e609e0) | | **Styling** | Tailwind CSS + @tailwindcss/typography v0.5.16 | | **Bundler Plugin** | @vitejs/plugin-react-swc v3.11.0 | | **Testing** | @testing-library/react v16.3.1 + jest-dom v6.9.1 | | **Linting** | ESLint v9.32.0 + @eslint/js v9.32.0 | | **Node Types** | @types/node v22.16.5 | | **Operating System** | Kali Linux 2024.x | | **Interface** | localhost:8080 / 10.0.2.15:8080 | | **Total Packages** | 538 installed | ## 前置条件 在安装之前,请确保您的 Kali Linux 机器上具备以下条件: - **Bun** — JavaScript runtime 和包管理器 curl -fsSL https://bun.sh/install | bash - **Git** — 用于克隆仓库 sudo apt install git -y - **Node.js**(可选备选方案)— 建议使用 v18+ 版本 - 现代浏览器(Kali 上的 Firefox 可开箱即用) 2a ## 安装说明 ### 步骤 1 — 克隆或下载仓库 如果从 GitHub 克隆: ``` git clone https://github.com/YOUR_USERNAME/aegis-intel-scan.git cd aegis-intel-scan-main ``` 或者如果下载为 ZIP 文件,解压并进入目录: ``` cd ~/Downloads/aegis-intel-scan-main ``` ### 步骤 2 — 确认项目结构 在安装之前验证 `package.json` 是否存在: ``` ls package.json # package.json ``` ### 步骤 3 — 安装依赖 运行 `bun install` 获取所有 538 个包: ``` bun install ``` **预期输出:** ``` [48.53ms] ".env" bun install v1.3.10 (30e609e0) + @eslint/js@9.32.0 + @tailwindcss/typography@0.5.16 + @testing-library/jest-dom@6.9.1 + @testing-library/react@16.3.1 + @types/node@22.16.5 (v25.5.0 available) + @types/react@18.3.23 + @types/react-dom@18.3.7 + @vitejs/plugin-react-swc@3.11.0 + autoprefixer@10.4.21 + eslint@9.32.0 + vaul@0.9.9 + zod@3.25.76 ... 538 packages installed [11.64s] Blocked 2 postinstalls. Run `bun pm untrusted` for details. ``` ## 启动平台 ### 步骤 4 — 启动开发服务器 ``` bun run dev ``` **预期输出:** ``` VITE v5.4.19 ready in 977 ms ➜ Local: http://localhost:8080/ ➜ Network: http://10.0.2.15:8080/ ➜ press h + enter to show help ``` ### 步骤 5 — 在浏览器中打开 2b 导航至: ``` http://localhost:8080 ``` ThreatLens 界面将加载,显示域名输入框、安全扫描策略复选框和每日扫描计数器。 ## 使用 ThreatLens ### 界面概览 ThreatLens1 ThreatLens UI 提供以下导航: | 标签页 | 描述 | |---|---| | **Dashboard** | 主要扫描入口和结果概览 | | **History** | 以往扫描会话的日志 | | **Compare** | 两个扫描结果的并排比较 | | **Policies** | 安全扫描策略设置和 AI 域名审查 | | **Settings** | 平台配置 | ### 运行扫描 1. 导航到 `http://locThreatLens1` 2. 在输入框中输入域名 — 例如 `example.com` 3. 勾选 **Safe-Scanning Policy** 复选框以确认您拥有扫描目标的授权 4. 点击 **Scan** 5. 等待扫描完成 — 状态将更新为 `completed.` 6. 查看 **Findings**、**Attack Surface**、**AI Report** 和 **Raw Data** 标签页中的结果 ## 扫描结果 — example.com ThreatLens3 作为安全、授权的测试目标,对 `example.com` 执行了扫描。ThreatLens 返回了以下结果: ### 摘要仪表板 | 指标 | 值 | |---|---| | **Risk Score** | 31 — 中等风险 | | **URLs Found** | 7 | | **Vulnerabilities** | 3 | | **Technologies Detected** | 0 | | **JS Files** | 0 | | **Scan Status** | Completed | | **Scan Duration** | ~2 分钟 | ### 域名丰富信息 | 字段 | 值 | |---|---| | **Registrar** | RESERVED — Internet Assigned Numbers Authority | | **Hosting Provider** | Cloudflare, Inc. | | **ASN** | AS13335 Cloudflare, Inc. | | **Surface Size** | Small | ## 关键发现 ThreatLens5 **AI Analyst** 模块返回了 3 个结构化发现,均属于 **Security Headers** 类别。 ### HIGH — 缺失 Content-Security-Policy 头 **类别:** Security Headers **描述:** 该网站未实施 Content-Security-Policy (CSP) 头,使其容易受到跨站脚本 (XSS) 和数据注入攻击。如果没有 CSP,浏览器无法区分合法脚本和注入的脚本,允许攻击者执行任意 JavaScript、窃取会话 cookie 或将用户重定向到恶意页面。 **攻击向量:** XSS · Data Injection **补救措施:** ``` Content-Security-Policy: default-src 'self'; script-src 'self' 'nonce-{random}'; object-src 'none'; ``` 首先在 `Content-Security-Policy-Report-Only` 模式下部署,以在不阻止的情况下识别违规行为。在 [csp-evaluator.withgoogle.com](https://csp-evaluator.withgoogle.com) 进行验证。 ### MEDIUM — 缺失 HSTS 头 **类别:** Security Headers **描述:** 未启用 HTTP Strict Transport Security (HSTS)。如果没有此头,浏览器不会强制执行仅 HTTPS 连接,使用户容易受到 SSL 剥离和协议降级攻击。拥有网络访问权限的攻击者可以静默拦截加密流量。 **攻击向量:** SSL Stripping · Protocol Downgrade **补救措施:** ``` Strict-Transport-Security: max-age=31536000; includeSubDomains; preload ``` 确认 HTTPS 稳定性后,提交至 [hstspreload.org](https://hstspreload.org) 的 HSTS 预加载列表。 ### MEDIUM — 缺失 X-Frame-Options 头 **类别:** Security Headers **描述:** 该网站可以被嵌入在 iframe 中,从而导致点击劫持攻击。攻击者可以在恶意页面内不可见地加载目标网站——诱骗用户执行非预期的操作,例如授权交易、更改账户设置或提交敏感表单。 **攻击向量:** Clickjacking **补救措施:** ``` X-Frame-Options: DENY ``` 或使用现代 CSP 等效项: ``` Content-Security-Policy: frame-ancestors 'none'; ``` 在 [securityheaders.com](https://securityheaders.com) 验证完整的头配置。 ## 风险严重性分类 ThreatLens 使用以下严重性模型: | 严重性 | 指标 | |---|---| | 🔴 **Critical** | 数据泄露、暴露的配置、数据库管理工具公开暴露 | | 🟠 **High** | 缺失 CSP、可访问的管理面板、开放重定向 | | 🟡 **Medium** | 缺失 HSTS / X-Frame-Options、XSS 向量、弱头 | | 🔵 **Low** | 过时的库、过多的依赖项、非敏感信息泄露 | ## 平台功能 | 功能 | 描述 | |---|---| | **AI Analyst** | AI 生成的、结构化的安全发现,带有严重性分类 | | **Findings Tab** | 具有描述的人类可读漏洞列表 | | **Attack Surface Tab** | 枚举的 URL 和端点映射 | | **AI Report Tab** | 带有上下文和补救措施的叙述性情报报告 | | **Raw Data Tab** | 完整的 JSON 扫描输出,用于下游工具或 SIEM 摄取 | | **Export PDF** | 一键生成 PDF 报告,用于客户或利益相关者交付 | | **Scan History** | 所有先前扫描的持久日志,用于趋势分析 | | **Compare** | 两个扫描结果的并排差异比较,以跟踪补救进度 | | **Safe-Scanning Policy** | 强制授权复选框 — 强制执行道德扫描实践 | | **Rate Limiting** | 每天最多 10 次扫描以防止滥用 | | **AI Domain Policy Review** | 在扫描不熟悉的目标之前集成的 AI 策略审查 | ## 展示技能 ### 安全工具开发 - 在 Kali Linux 上从源代码构建全栈威胁情报应用程序 - React 18 + TypeScript + Vite 架构,配合 Bun 包管理 - Tailwind CSS 响应式 UI,采用安全聚焦的组件设计 - 集成 ESLint 和 testing-library 以确保代码质量 ### 攻击面测绘 - 域名侦察和 URL 枚举 - HTTP 安全头差距分析 - ASN 和托管提供商丰富 - 风险评分和表面大小分类 ### 漏洞分析 - CSP、HSTS 和点击劫持攻击向量识别 - 风险严重性分类和结构化发现输出 - AI 辅助分析集成与人类可读报告 ### 报告与道德 - 适合客户交付的 AI 生成 PDF 报告 - 内置于平台 UI 的安全扫描策略强制执行 - 限速扫描治理防止滥用 - 授权、记录的测试方法 ## 免责声明 ## 作者 **Oluwaseun Adenuga** — Cybersecurity Analyst & GRC Specialist [![LinkedIn](https://img.shields.io/badge/LinkedIn-oluwaseunadenuga-0A66C2?style=flat-square&logo=linkedin)](https://www.linkedin.com/in/oluwaseunadenuga) [![GitHub](https://img.shields.io/badge/GitHub-oluwaseunadenuga-181717?style=flat-square&logo=github)](https://github.com/oluwaseunadenuga) *作品集项目 — ThreatLens 威胁情报平台 | Kali Linux · React · Vite · Bun · TypeScript*
标签:AI安全报告, Bun, ESC4, GitHub, OSINT, PDF导出, React, Syscalls, Tailwind CSS, TypeScript, Vite, 域名侦察, 威胁情报, 安全头部分析, 安全工具开发, 安全插件, 密码管理, 对称加密, 开发者工具, 攻击面测绘, 用户定义反射加载器, 网络安全, 自动化审计, 防御态势感知, 隐私保护, 风险评分