vtino17/vuln-scanner

GitHub: vtino17/vuln-scanner

一款模块化网络漏洞扫描器,将服务发现结果与NVD的CVE进行关联,支持定时调度、多格式报告和通知集成。

Stars: 0 | Forks: 0

# 漏洞扫描器 用于网络设备和服务的模块化漏洞扫描器。将发现的服务与已知的 CVE 进行关联,生成多种格式的报告,并支持带有通知集成的定时扫描。 ## 功能 - 服务发现和指纹识别 - 通过 NVD 数据库进行 CVE 关联 - 用于自定义检查的模块化插件架构 - 支持 JSON、HTML、CSV 和 SARIF 格式的报告 - 支持可配置间隔的定时扫描 - 支持 Email、Slack 和 webhook 通知 - 基于 CIDR 的目标设定 - 速率限制和并发控制 - 用于 CI/CD pipeline 的退出代码集成 ## 安装 ``` pip install vuln-scanner ``` 或从源码安装: ``` git clone https://github.com/vtino17/vuln-scanner.git cd vuln-scanner pip install -e . ``` ## 快速开始 ``` # 扫描单个主机 vuln-scan scan 192.168.1.1 # 扫描 CIDR 范围并生成 HTML 报告 vuln-scan scan 10.0.0.0/24 --output report.html --format html # 通过完整漏洞关联进行扫描 vuln-scan scan target.example.com --cve --severity high # 每日定时扫描 vuln-scan schedule 10.0.0.0/24 --interval daily --notify slack # 列出可用插件 vuln-scan plugins --list ``` ## 架构 ``` vuln-scan core/ Engine, target parser, scheduler plugins/ CVE check modules reporters/ Output format handlers notifiers/ Alert integrations ``` ## 插件开发 ``` from vuln_scanner.core.plugin import BasePlugin class CustomCheck(BasePlugin): name = "custom-ssl-check" description = "Checks SSL certificate expiration" def run(self, target): result = self.check_cert(target.host, target.port) return {"cert_expiry_days": result} ``` ## 支持的输出格式 - JSON(机器可读) - HTML(适用于浏览器的报告) - CSV(电子表格导入) - SARIF(兼容 GitHub Advanced Security) ## 通知 - SMTP Email - Slack webhook - 通用 webhook(自定义集成) ## 测试 ``` pytest tests/ --cov=vuln_scanner ``` ## 许可证 MIT
标签:安全规则引擎, 逆向工具