DanDreadless/Insight

GitHub: DanDreadless/Insight

Insight 是一个开源的被动式 Web 威胁扫描平台,通过深度内容分析而非外部情报来检测 JavaScript 威胁、钓鱼指标及安全配置错误。

Stars: 0 | Forks: 0

# Insight — Web 威胁扫描器 [![License](https://img.shields.io/badge/AGPL-3.0--Clause-blue.svg)](https://github.com/DanDreadless/Insight/blob/main/LICENSE) [![Website](https://img.shields.io/website?url=https%3A%2F%2Finsight.vault1337.com%2F&label=insight.vault1337.com&link=https%3A%2F%2Finsight.vault1337.com%2F)](https://insight.vault1337.com/) [![X (formerly Twitter) Follow](https://img.shields.io/twitter/follow/DanDreadless?link=https%3A%2F%2Fx.com%2FDanDreadless)](https://x.com/DanDreadless) Insight 是一个开源的被动式 Web 威胁扫描器。提交任意 URL,它会获取所有公共资源——HTML、脚本、标头、证书——并完全基于内容进行分析,不依赖信誉数据库或外部威胁情报 API。结果是一份经过优先级排序的发现报告,涵盖 JavaScript 威胁、钓鱼指标、域名情报、安全配置错误以及完整的检测技术栈。 由于检测是基于内容的,Insight 能够发现信誉源尚未索引的零日攻击活动、新注册的钓鱼域名以及新注入的窃取程序(skimmer)。 这是 [vault1337.com](https://vault1337.com) 的配套工具。共享相同的设计系统并镜像了技术栈。 ## 技术栈 | Layer | Technology | |---|---| | Backend | Python 3.11 / Django 5.2 / Django REST Framework | | Task Queue | Celery + Redis | | Frontend | React 19 / TypeScript / Vite / Tailwind CSS 4 | | Database | PostgreSQL (生产环境) / SQLite (开发环境) | | Cache / Broker | Redis | | Visual Renderer | [Carapace](https://github.com/DanDreadless/Carapace) (Rust) | ## Carapace 集成 Insight 使用 [Carapace](https://github.com/DanDreadless/Carapace) 作为其视觉渲染引擎。当扫描运行时,Carapace 在一个加固的 Chromium 无头环境中获取并渲染目标 URL,该环境完全禁用 JavaScript 并阻止所有出站网络请求。结果连同额外的威胁信号一起返回给 Insight。 **Carapace 为每次扫描增加的内容:** - 访客所见的页面截图,在不执行任何 JavaScript 的情况下捕获 - 来自静态 JS 分析的额外威胁标志(eval 链、混淆、数据渗出调用、沙箱逃逸探测、路过式下载检测) - 扩展的技术栈——在剥离特定框架属性之前从预清理 DOM 中检测,比仅基于标头的检测准确率更高 - 风险评分,该评分会输入到整体扫描结论中 Carapace 作为沙箱化的 Docker sidecar 容器运行(`--cap-drop=ALL`,非 root 用户,网络切断开关)。截图显示在结果页面上,默认处于折叠状态。 ## 检测内容 ### JavaScript 威胁(30 项检查) - 远程代码执行:`fetch()` + `eval()` 异步链——受损的 WordPress 暂存模式 - 基于 eval 的混淆:`eval(atob(...))`、`eval(unescape(...))`、嵌套解码链 - 解密后执行:使用 WebCrypto API (`crypto.subtle`) 在运行时解密并运行载荷 - 支付卡窃取程序(Magecart 风格):针对卡号/CVV 字段的 DOM 查询 + 数据渗出 - 键盘记录器:通过出站网络调用读取键值的键盘事件监听器 - Cookie 和会话渗出 - 表单劫持和凭证收集 - Web3 钱包排空程序(Inferno/Angel Drainer 模式) - 通过 Blob API 进行 HTML 走私 - 恶意和外部 Service Worker 注册 - 加密矿工(CoinHive、CryptoLoot、WebWorker + WASM) - 嵌入在 JS 中的 Shell 投递程序:Unix (`base64 -d | bash`) 和 PowerShell (`irm | iex`) - 动态 `import()` 从外部未知 URL 加载 ES 模块 - Living off Trusted Sites (LoTS):通过 Telegram、Discord、Slack、Google Apps Script 等平台路由渗出,以绕过域名信誉拦截列表 - 混淆指纹:obfuscator.io `_0x` 数组、`String.fromCharCode` 链、高香农熵字符串 - 反分析:DevTools 检测、禁用右键、自动跳转 ### HTML 和结构检查(18 项检查) - 跨域 `action` 目标的钓鱼表单 - 隐藏的 iframe、base 标签劫持、meta-refresh 重定向 - 假浏览器更新页面(SocGholish / ClearFake 签名) - 假 CAPTCHA / ClickFix 社会工程学(Win+R 执行指令) - 点击劫持覆盖元素 - IPFS 托管的资源(抗封杀钓鱼和排空程序托管) - 外部脚本 preload/prefetch 提示——常见的恶意软件注入暂存模式 - 可执行下载链接、内联脚本异常、敏感 HTML 注释 - 安全配置错误:缺少 SRI、无 autocomplete 的密码字段、HTTP 上的登录表单 ### 域名情报(10 项检查) - 通过品牌监视列表的 Levenshtein 编辑距离检测子域名和 SLD 变体拼写(typosquatting) - 子域标记中的精确品牌冒充 - IDN / 同形异义字攻击(西里尔字母和混合脚本模仿) - DGA 概率评分(辅音比率、熵、缺少英语子词) - 高风险 TLD(`.xyz`、`.top`、`.click`、`.loan`、`.zip`、`.cyou` 等 20 多个) - 数字替换(`g00gle`、`faceb00k`) - 滥用倾向的免费托管平台(Cloudflare R2、Pages.dev、Firebase)上的随机子域 ### HTTP 标头(12 项检查) 缺少 CSP、X-Frame-Options、HSTS、X-Content-Type-Options、Referrer-Policy、Permissions-Policy;服务器/版本披露;已弃用的软件版本;不安全的 Cookie 标志;带有凭据的 CORS 通配符。 ### TLS / SSL(6 项检查) 证书过期、自签名证书、主机名不匹配、品牌冒充域名上的 Let's Encrypt 证书、已弃用的 TLS 版本、可疑域名上新颁发的证书。 ### 结论 | Verdict | Condition | |---|---| | MALICIOUS | 任何 CRITICAL 发现 | | SUSPICIOUS | 任何 HIGH 发现,或 2 个及以上 MEDIUM 发现 | | CLEAN | 仅 LOW 和 INFO 发现 | | UNKNOWN | 无发现 | 当信号组合表明有协调的攻击基础设施时(例如 DGA 域名 + 隐藏 iframe + 混淆 JS → CRITICAL “路过式恶意软件投递”),上下文折叠规则会触发额外的合成发现。 ### 技术栈检测 识别 CMS、JS 框架、构建工具、库、CSS 框架、后端运行时、Web 服务器、CDN、托管平台、分析工具、安全工具和支付提供商——在结果页面上显示为带有徽标的彩色编码标记。 ## 本地运行 ### 环境要求 - Python 3.11+ - Node.js 18+ - Redis 7+(本地运行或通过 Docker) ### 1. 启动 Redis ``` # Docker (任何操作系统) docker run -d -p 6379:6379 redis:7-alpine ``` ### 2. 后端 ``` git clone https://github.com/DanDreadless/insight_vault1337.git cd insight_vault1337/backend pip install -r requirements.txt cp ../.env.sample ../.env # 编辑 ../.env — 至少设置一个 SECRET_KEY 值 python manage.py migrate python manage.py runserver ``` ### 3. Celery worker(单独的终端——运行扫描所必需) ``` cd backend celery -A insight worker -l info ``` ### 4. 前端(单独的终端) ``` cd frontend npm install npm run dev ``` 打开 `http://localhost:5173`。Vite 开发服务器将所有 `/api/` 请求代理到 `:8000` 端口上的 Django。 ### 环境变量 将 `.env.sample` 复制为仓库根目录下的 `.env`。对于本地开发,唯一必需的更改是设置 `SECRET_KEY`。 | Variable | Default | Notes | |---|---|---| | `SECRET_KEY` | *(不安全示例)* | 运行前请更改 | | `DEBUG` | `True` | 生产环境设为 `False` | | `REDIS_URL` | `redis://localhost:6379/0` | | | `DATABASE_URL` | `sqlite:///db.sqlite3` | 生产环境使用 PostgreSQL | | `CORS_ALLOWED_ORIGINS` | `http://localhost:5173` | | | `RATE_LIMIT_SCANS_PER_HOUR` | `5` | 每个 IP | | `MAX_SCAN_RESOURCES` | `50` | 每次扫描分析的外部脚本数 | | `SCAN_TIMEOUT_SECONDS` | `60` | Celery 任务硬性限制 | | `CARAPACE_URL` | *(未设置)* | Carapace API 的 URL(使用 Docker Compose 时为 `http://carapace:8080`)。如果未设置,将跳过截图和额外的威胁标志。 | ### 通过 Docker 运行全栈 如果您不想在本地安装 Python 和 Node: ``` cp .env.sample .env # edit SECRET_KEY docker-compose up --build ``` 停止所有服务并删除卷: ``` docker-compose down -v ``` ## API | Method | Endpoint | Description | |---|---|---| | POST | `/api/scan/` | 提交 URL 进行扫描 | | GET | `/api/scan/{id}/` | 轮询结果 | | GET | `/api/scan/{id}/stream/` | Server-Sent Events 进度流 | | GET | `/api/health/` | 健康检查 | | GET | `/api/schema/swagger-ui/` | 交互式 API 文档 | ## 许可证 本项目在 **GNU Affero General Public License v3.0 (AGPL-3.0)** 下获得许可。这确保了: - 您可以根据 AGPL-3.0 的条款自由使用、修改和共享本软件。 - 如果您将本软件作为托管服务部署,您必须向用户提供源代码——包括任何修改——并且使用相同的许可证。 完整的许可证文本位于 [LICENSE](LICENSE) 文件中。 ## 商业使用 Insight 是开源的,但需要在没有 AGPL 版权保留要求的情况下私有部署的组织可以获得商业许可证。 **商业许可证的优势:** 1. 在专有环境中部署,无需开源修改内容。 2. 支持项目的持续开发。 **咨询方式:** 通过 LinkedIn 联系——[www.linkedin.com/in/dan-pickering](https://www.linkedin.com/in/dan-pickering) ## 支持项目 如果 Insight 对您有帮助,请考虑通过赞助或捐款来支持它。您的贡献有助于保持其免费和积极维护。 感谢您使用 Insight。
标签:Celery, Django, Django REST Framework, DNS解析, Headless Chromium, JavaScript威胁分析, PostgreSQL, Python, React, Redis, Rust, Snort++, Syscalls, Tailwind CSS, TypeScript, Vite, Web威胁检测, Web安全, Web安全扫描器, 代码生成, 内容检测, 可视化界面, 域名情报, 威胁扫描, 安全插件, 安全配置审计, 开源项目, 技术栈指纹, 搜索引擎查询, 无后门, 测试用例, 渗透测试工具, 网络安全, 网络流量审计, 网络钓鱼检测, 蓝队分析, 被动扫描, 资产识别, 逆向工具, 隐私保护