anubhavroshan1080-hub/argus

GitHub: anubhavroshan1080-hub/argus

Argus 是一个集成了 OSINT 情报、主动漏洞扫描、网络取证和合规审计功能的企业级自托管安全平台。

Stars: 0 | Forks: 0

Version Python Flask License Platform Status

``` █████╗ ██████╗ ██████╗ ██╗ ██╗███████╗ ██╔══██╗██╔══██╗██╔════╝ ██║ ██║██╔════╝ ███████║██████╔╝██║ ███╗██║ ██║███████╗ ██╔══██║██╔══██╗██║ ██║██║ ██║╚════██║ ██║ ██║██║ ██║╚██████╔╝╚██████╔╝███████║ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝ ``` ### **网络取证与漏洞管理平台** *企业级 OSINT · 主动漏洞扫描 · 实时数据包取证 · 威胁情报* [🚀 快速开始](#setup) · [📖 文档](DOCUMENTATION.md) · [🐛 报告 Bug](https://github.com/anubhavroshan1080-hub/argus/issues/new?template=bug_report.md) · [💡 功能建议](https://github.com/anubhavroshan1080-hub/argus/issues/new?template=feature_request.md)
## 🔍 什么是 Argus? **Argus** 是一个全栈、自托管的**企业安全扫描平台** —— 架构可媲美 **Nessus / Tenable.io** 等商业工具,完全使用 Python 构建。它将被动 OSINT 富化、主动漏洞扫描、合规审计(CIS 基准)、OWASP Top 10 Web 测试、云错误配置检测、实时数据包捕获和实时取证统一在一个深色主题的 Web Dashboard 下。 ## ✨ 核心特性
### 🌐 IP 情报与 OSINT - 地理位置定位、ASN/ISP、WHOIS/RDAP、反向 DNS - 代理 / VPN / Tor / 托管检测 - AbuseIPDB 威胁信誉评分 - 风险分类(正常 → 严重) - 支持同时进行最多 **20 个 IP** 的批量查询 ### 🔬 漏洞引擎 - 跨越 10 个安全类别的 **49+ 插件** - 扫描时进行 CVE 动态过滤 - 针对 OWASP Top 10 的 HTTP 级别探测 - AWS / Azure / GCP 云错误配置检查 - 带凭证的 SSH 审计(CIS Level 1 & 2) - 带置信度评分的误报抑制 ### 📡 实时网络取证 - 通过 Scapy 进行实时数据包捕获 - PPS/BPS 滚动图表(Canvas 渲染) - 协议分布圆环图 - TCP/UDP/ICMP 标志分析 - 基于 BPF 过滤的逐目标嗅探 ### 🛡️ 主动扫描 - TCP Connect、SYN 隐蔽、UDP 端口发现 - Banner 抓取与服务指纹识别 - 带逐端口回调的多线程端口扫描 - 基于 CIDR 的多主机扫描区域 - 主机 Agent 守护进程(跨平台 Python)
## 🧩 插件库 — 10 个类别共 49 项检查 | 类别 | 插件数 | 示例 | |---|:---:|---| | 🔐 SSH 服务 | 4 | 过时的 OpenSSH、弱加密算法、SSHv1 协议 | | 🌐 Web 服务器 | 6 | Apache CVE-2021-41773、缺失的安全标头、SSL/TLS | | 🔟 OWASP Top 10 | 7 | SQLi、XSS、IDOR、XXE、目录列表、TRACE | | 📡 通用网络 | 5 | Telnet、匿名 FTP、开放的 DNS Resolver、SNMP | | 🦠 恶意软件与后门 | 2 | Metasploit 监听端口、IRC C2 通道 | | ☕ Java 漏洞 | 3 | **Log4Shell (CVE-2021-44228)**、Spring4Shell、Struts2 | | 🐧 Linux 本地安全 | 5 | Dirty Pipe 内核漏洞、SUID Binaries、弱 Cron 任务 | | ✅ 合规审计 | 5 | CIS SSH、Auditd、密码策略、IP 转发 | | ☁️ 云错误配置 | 8 | AWS S3/IAM/CloudTrail、Azure NSG/Blob、GCP Storage | | 🗄️ 数据库 | 4 | MongoDB/Redis 无认证、MySQL 暴露、Elasticsearch | 所有插件均包含:**CVE 参考 · CVSS 评分 · EPSS 评分 · 修复步骤** ## 🖥️ Dashboard 面板 | 面板 | 描述 | |---|---| | **IP 情报** | 带有交互式 Leaflet 地图的完整 OSINT 档案 | | **端口扫描器** | 带服务检测的实时 TCP/SYN/UDP 端口发现 | | **批量查询** | 通过流式传输同时调查最多 20 个 IP | | **实时捕获** | 带有实时 PPS 图表和协议细分的数据包嗅探器 | | **漏洞审计** | 带有策略、CVE 过滤器、SSH 凭证的完整扫描表单 | | **策略管理器** | 带有类别/CVE 过滤器的插件库浏览器 | | **扫描区域** | 基于 CIDR 的区域管理和计划扫描 | | **主机 Agent** | 带有本地漏洞警报的已注册 Agent 清单 | | **历史记录与数据库** | 所有查询和扫描记录,支持 JSON/CSV 导出 | ## 🏗️ 系统架构 ``` ┌──────────────────────────────────────────────────────────────────┐ │ Browser Dashboard (SPA) │ │ index.html · app.js · style.css │ └───────────────────────┬──────────────────────────────────────────┘ │ HTTP REST + Socket.IO WebSocket ┌───────────────────────▼──────────────────────────────────────────┐ │ app.py (Flask v3.0) │ │ REST Router /api/* · Socket.IO Server · SQLite DB Layer │ └────────────┬─────────────────┬────────────────────────────────────┘ │ │ ┌──────────▼─────┐ ┌───────▼────────────────────────────────┐ │ OSINT APIs │ │ Scanning & Analysis Modules │ │ ip-api.com │ │ vuln_scanner.py · advanced_scanner │ │ AbuseIPDB │ │ packet_monitor.py · scan_zones.py │ │ RDAP/WHOIS │ │ plugins/library.py · agent_daemon │ └────────────────┘ └────────────────────────────────────────┘ ``` ## ⚡ 环境配置 ### 前置条件 - **Python 3.10+** - 需要**管理员 / Root** 权限以进行 SYN 扫描和数据包捕获 - **Npcap**(仅限 Windows)— [下载](https://npcap.com) — 以获得最佳的数据包捕获效果 - **wkhtmltopdf**(可选)— [下载](https://wkhtmltopdf.org/downloads.html) — 用于导出 PDF ### 1 — 克隆仓库 ``` git clone https://github.com/anubhavroshan1080-hub/argus.git cd argus ``` ### 2 — 创建虚拟环境 ``` # Windows python -m venv venv .\venv\Scripts\activate # Linux / macOS python3 -m venv venv source venv/bin/activate ``` ### 3 — 安装依赖 ``` pip install -r requirements.txt ``` ### 4 — 配置环境 ``` # 复制 template cp .env.example .env ``` 编辑 `.env`: ``` # 必需:在 https://www.abuseipdb.com/register 获取免费 key ABUSEIPDB_KEY=your_80_char_api_key_here # 可选 SECRET_KEY=your_random_secret_key_here PORT=5000 ARGUS_DEBUG=false ``` #### 获取免费的 AbuseIPDB Key 1. 在 [abuseipdb.com/register](https://www.abuseipdb.com/register) 注册(免费额度:每天 1,000 次检查) 2. 登录 → **API** 标签页 → **Create Key** 3. 将这 80 个字符的密钥复制到你的 `.env` 文件中 ### 5 — 运行 Argus ``` # Standard python app.py # Windows(包含 packet capture — 以 Administrator 身份运行) python app.py # Linux(包含 SYN scan + packet capture) sudo python3 app.py ``` 在浏览器中打开 **[http://localhost:5000](http://localhost:5000)**。✅ ## 🤖 主机 Agent 守护进程 在任何目标机器上部署 Python Agent 以进行实时资产清单收集和本地漏洞报告: ``` python agent_daemon.py --server http://:5000 --interval 60 ``` Agent 收集的信息包括:已安装的软件包 · 运行中的服务 · 正在监听的端口 · 内核版本 · 本地 CVE 警报 ## 🚀 生产环境部署 ### 方式 1:Gunicorn + Eventlet(推荐) ``` pip install gunicorn eventlet gunicorn --worker-class eventlet -w 1 --bind 0.0.0.0:5000 app:app ``` ### 方式 2:Docker ``` docker build -t argus-platform . docker run --net=host --cap-add=NET_ADMIN --cap-add=NET_RAW \ -e ABUSEIPDB_KEY=your_key \ -e ARGUS_DEBUG=false \ -p 5000:5000 \ -d argus-platform ``` ### 方式 3:Systemd 服务 (Linux) ``` [Unit] Description=Argus Security Platform v2.0 After=network.target [Service] User=argus WorkingDirectory=/opt/argus EnvironmentFile=/opt/argus/.env ExecStart=/opt/argus/venv/bin/python app.py AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN Restart=on-failure ``` ## 📁 项目结构 ``` argus/ ├── app.py # Flask server, REST API, Socket.IO ├── vuln_scanner.py # Core scan runner (ArgusVulnScanRunner) ├── advanced_scanner.py # SYN/UDP scanning, OWASP, cloud, FP tuning ├── report_generator.py # HTML and PDF report generation ├── scan_zones.py # Scan zone and multi-host management ├── agent_daemon.py # Standalone host agent daemon ├── packet_monitor.py # Live packet sniffer (Scapy) ├── plugins/ │ ├── __init__.py │ └── library.py # 49+ vulnerability & compliance plugins ├── static/ │ ├── app.js # Frontend logic, Socket.IO, Canvas charts │ └── style.css # Dark theme CSS design system ├── templates/ │ └── index.html # Single-page dashboard ├── .env.example # Environment template (copy to .env) ├── .gitignore ├── requirements.txt ├── Dockerfile ├── README.md ├── DOCUMENTATION.md # Full technical architecture reference ├── CONTRIBUTING.md ├── SECURITY.md └── LICENSE ``` ## 🔒 安全与隐私 - 所有扫描数据均**本地**存储在 `argus.db` 中 —— 除了 OSINT API 外,不会向外部服务器发送任何数据 - SSH 凭证**仅保留在内存中** —— 绝不写入磁盘或日志 - 所有 HTTP 响应均包含安全响应标头(`X-Frame-Options`、`X-XSS-Protection` 等) - 将 `.env` 添加到 `.gitignore` 中 —— **切勿提交你的 API 密钥** - 在生产环境中限制数据库文件权限:`chmod 600 argus.db` ## 📄 许可证 本项目基于 **MIT License** 授权 —— 详情请参阅 [LICENSE](LICENSE)。 ## ⭐ 支持 如果 Argus 对你的安全工作流有帮助,请**给它点个 Star** ⭐ —— 这有助于其他人发现这个项目!
由 ❤️ 和 Python 制作 · [GitHub](https://github.com/anubhavroshan1080-hub) · [报告问题](https://github.com/anubhavroshan1080-hub/argus/issues)
标签:Flask, Python, 实时处理, 插件系统, 无后门, 网络流量取证, 请求拦截, 足迹分析, 逆向工具