Ayaan1911/Argus-Sentinel

GitHub: Ayaan1911/Argus-Sentinel

Argus Sentinel 将多种安全扫描器的原始输出转化为优先级排序、可解释的安全发现,并为不同受众提供针对性行动指导。

Stars: 0 | Forks: 0

# Argus Sentinel **一款能够解释其发现了什么,而不仅仅是扫描了什么的安全侦察工具。** ![License](https://img.shields.io/badge/license-MIT-blue) ![Python](https://img.shields.io/badge/python-3.11-3776AB) ![React](https://img.shields.io/badge/react-18-61DAFB) ![Docker](https://img.shields.io/badge/docker-compose-2496ED) ## 快速开始 ``` git clone https://github.com/Ayaan1911/Argus-Sentinel cd Argus-Sentinel cp .env.example .env docker compose up --build ``` | 服务 | URL | |---|---| | 前端 | http://localhost:5173 | | API | http://localhost:8000 | | API 文档 | http://localhost:8000/docs | | OWASP Juice Shop (扫描目标) | http://localhost:3000 | 对内置的 Juice Shop 实例运行扫描,以验证完整的 pipeline: ``` curl -X POST http://localhost:8000/api/v1/scans/ \ -H "Content-Type: application/json" \ -d '{"target": "http://juice-shop:3000"}' ``` ## 核心理念 大多数安全工具回答的是*“你发现了什么?”*,而 Argus 回答的是*“这意味着什么,为什么它很重要,以及下一步你该怎么做?”*。扫描器(Subfinder、Httpx、Nmap、Nuclei)只是输入——Intelligence Library 和确定性 Reasoning Engine 才是核心产品。每一项发现都展示了其评分细分;每一个评分在设计上都是可解释的,而不是黑盒输出。 → [完整的架构、Intelligence Library schema 和设计理念请见 ARGUS_SENTINEL.md](ARGUS_SENTINEL.md) ## 架构 ``` flowchart LR SF[Subfinder] --> DIS[Discovery] HX[Httpx] --> DIS NM[Nmap] --> DIS NU[Nuclei] --> DIS DIS --> INT[Intelligence] INT --> RES[Reasoning] RES --> GUI[Guidance] GUI --> LRN[Learning] ``` 每个阶段都增加了一层扫描器自身无法提供的功能:原始发现 → 上下文知识 → 带有细分的风险评分 → 有序的行动步骤 → 针对特定受众的解释(学生 / 开发者 / Bug Bounty Hunter / 安全专家)。 ## 技术栈 | 层级 | 技术 | |---|---| | API | FastAPI + Python 3.11 | | 任务队列 | Celery + Redis | | 数据库 | PostgreSQL 15 | | 前端 | React 18 + Vite + Tailwind CSS | | 扫描器 | Subfinder, Httpx, Nmap, Nuclei v3 | | 容器 | Docker Compose | ## 已验证行为 已在同一 Docker 网络下针对 OWASP Juice Shop 进行了测试: - 位于 `/usr/local/bin/nuclei` 的 Nuclei v3.3.9 —— 与扫描器配置中的硬编码路径匹配 - 已加载模板:涵盖 `exposure`、`misconfig`、`tech` 标签共 2898 个 - 扫描结果:13 项发现,包括公共 Swagger API 暴露、缺失安全标头、FingerprintHub/Wappalyzer 技术指纹以及 Prometheus 指标 endpoint - 每一项发现都包含一个带有标记评分修饰符的 `reasoning_breakdown` 数组 - 所有与 Intelligence Library 匹配的发现均会填充受众指导 - 角色切换(学生 → 开发者 → Bug Bounty Hunter → 安全专家)改变的是指导内容,而不仅仅是标签 ## 已知局限性 - **WAF 加固的目标**(例如 github.com)在设计上会返回较少的发现。Nuclei 在遇到 429 状态码时会主动退避——这是为了遵守速率限制,而不是网络路径故障。 - **扫描外部目标**需要 worker 容器具有出站互联网访问权限。内部目标必须位于同一 Docker 网络中。 - **Intelligence Library 覆盖范围**属于 V1 阶段:5 种服务(SSH、HTTP、HTTPS、MySQL、Redis),4 种技术(Apache、Nginx、Tomcat、WordPress),5 类漏洞(SQLi、XSS、SSRF、IDOR、RCE)。超出此范围的发现仅提供基础推理——对于未匹配的模板 ID,`audience_guidance` 将为空。 - V1 版本中**没有 API 身份验证**。请勿将 8000 端口公开暴露。 完整的愿景、V2 路线图和设计决策:[ARGUS_SENTINEL.md](ARGUS_SENTINEL.md) ## 许可证 MIT —— 详情请参阅 [LICENSE](LICENSE)。
标签:AI推理引擎, CTI, GitHub, Python, React, Syscalls, 占用监测, 实时处理, 密码管理, 搜索引擎查询, 无后门, 版权保护, 资产管理