astroicers/CyPulse

GitHub: astroicers/CyPulse

开源外部攻击面管理平台,整合五大资产探勘工具与七大安全分析模块,自动产出量化评分与中文报告。

Stars: 0 | Forks: 0

# CyPulse 开源 EASM(External Attack Surface Management)资安曝险评级平台。 以 100% 开源工具实现七维度资安扫描与评级,产出 0-100 量化分数与 A/B/C/D 等级, 输出简体中文 HTML / PDF / CSV 报告。 ## 功能特色 **资产探勘(5 工具联动)** - subfinder / amass — 子域名被动列举 - dnsx — DNS 解析验证 - httpx — HTTP 存活与 Header 探测 - naabu — 埠扫描 **七大安全分析模块** | 模块 | 维度 | 权重 | 满分 | |------|------|------|------| | M1 | Web Security(安全 Header / TLS / Nuclei) | 25% | 25 | | M2 | IP Reputation(AbuseIPDB) | 15% | 15 | | M3 | Network Security(高风险埠 / Nmap) | 20% | 20 | | M4 | DNS Security(DNSSEC / Zone Transfer) | 15% | 15 | | M5 | Email Security(SPF / DKIM / DMARC) | 10% | 10 | | M6 | Dark Web Exposure(HIBP) | 10% | 10 | | M7 | Fake Domains(dnstwist) | 5% | 5 | **其他** - 加权评分算法(0-100 分,A/B/C/D 等级) - 简体中文 HTML / PDF 报告 - JSON / CSV 原始数据导出 - 扫描差异比对与告警 - Slack / Email / LINE 通知 - Docker 容器化一键部署 ## 安装 ### Docker(推荐) ``` git clone https://github.com/your-org/cypulse.git cd cypulse cp .env.example .env # 填入 API Key docker-compose build docker-compose run --rm cypulse scan example.com ``` ### 本机安装 ``` # 前置需求:Python 3.10+、ProjectDiscovery 工具(subfinder/httpx/dnsx/naabu)、nmap pip install -e . cypulse --help ``` ## 快速开始 ``` cypulse scan example.com ``` 输出示例: ``` [CyPulse] 開始掃描 example.com... [CyPulse] Phase 1: 資產探勘... [CyPulse] 子網域: 12, 存活: 10, HTTP: 8 [CyPulse] Phase 2: 風險分析... [CyPulse] 完成 7 個模組分析 [CyPulse] Phase 3: 評分... [CyPulse] 總分: 78/100 (C) [CyPulse] Phase 4: 報告產出... [CyPulse] HTML: data/example.com/20260312_020000/report.html [CyPulse] PDF: data/example.com/20260312_020000/report.pdf [CyPulse] CSV: 2 files [SCAN COMPLETE] domain=example.com score=78 grade=C duration=1102s modules=7/7 findings=47 [CyPulse] 結果儲存於: data/example.com/20260312_020000 ``` ## CLI 指令 ### `cypulse scan ` 执行完整扫描(探勘 + 分析 + 评分 + 报告)。 ``` cypulse scan example.com # 完整掃描 cypulse scan example.com --modules M1,M5 # 僅執行指定模組 cypulse scan example.com --output ./results # 指定輸出目錄 ``` ### `cypulse report ` 以既有扫描结果重新产出报告。 ``` cypulse report data/example.com/20260312_020000 # HTML(預設) cypulse report data/example.com/20260312_020000 -f pdf # PDF cypulse report data/example.com/20260312_020000 -f all # 全部格式 ``` ### `cypulse diff ` 比较两次扫描结果差异。 ``` cypulse diff data/example.com/20260301_020000 data/example.com/20260312_020000 ``` ## 设置 ### API Key 复制 `.env.example` 为 `.env` 并填入: ``` ABUSEIPDB_API_KEY=your_key # M2 IP Reputation HIBP_API_KEY=your_key # M6 Dark Web URLSCAN_API_KEY=your_key # 選用 SLACK_WEBHOOK_URL=https://... # 選用,Slack 通知 ``` 或使用 `config/config.yaml`(参考 `config/config.yaml.example`)。 ## 项目结构 ``` cypulse/ ├── cli.py # CLI 入口 ├── discovery/ # 資產探勘(subfinder/amass/dnsx/httpx/naabu) ├── analysis/ # 七大安全分析模組(M1-M7) ├── scoring/ # 加權評分引擎 ├── report/ # HTML/PDF/CSV 報告產出 │ └── templates/ # Jinja2 報告模板 ├── automation/ # 差異比對、通知 │ ├── diff.py │ └── notifier.py ├── models/ # 資料模型(dataclass) └── utils/ # 通用工具 ``` ## 开发 ``` pip install -e ".[dev]" make test # 執行測試 make lint # 程式碼檢查 make coverage # 測試覆蓋率 ``` ## 许可证 MIT License ## 相关文档 - [SRS — 软件需求规格书](docs/SRS.md) - [SDS — 软件设计规格书](docs/SDS.md) - [DEPLOY_SPEC — 部署规格书](docs/DEPLOY_SPEC.md) - [Architecture — 架构概览](docs/architecture.md) - [ADR-001 — 技术栈选型](docs/adr/ADR-001-initial-technology-stack.md)
标签:CTI, DNS安全, Docker, EASM, GitHub, Google, Nmap, Nuclei, ProjectDiscovery, Python, Typosquatting, 中文报告, 外部攻击面管理, 威胁情报, 子域名挖掘, 安全评级, 安全防御评估, 实时处理, 密码管理, 开发者工具, 插件系统, 数字风险保护, 数据保护, 数据统计, 无后门, 暗网监控, 端口扫描, 网络安全, 自动化安全扫描, 虚拟驱动器, 请求拦截, 资产探勘, 运行时操纵, 逆向工具, 邮件安全, 隐私保护, 风险量化