pallab-js/vuln-scanner

GitHub: pallab-js/vuln-scanner

一款适用于 macOS 的离线优先局域网漏洞扫描器,提供设备发现、漏洞映射、合规过滤和结构化报告生成功能。

Stars: 1 | Forks: 0

# LANScanner 适用于 macOS 14+ 的离线优先网络漏洞扫描器。可发现局域网 (LAN) 上的设备,识别其 OS 和服务指纹,根据内置规则签名映射漏洞,并生成结构化报告。 ## 功能 - **网络发现** — 基于 ARP 的主机检测,支持 CIDR 子网,自动子网检测 - **端口扫描** — TCP connect + UDP 探测扫描 (swift-nio),banner 抓取,服务版本提取 - **OS 指纹识别** — SSH/HTTP banner 分析 + 基于端口签名的 OS 推断 - **漏洞映射** — 20+ 条离线规则(弱协议、过时版本、弱加密算法、EOL 系统、危险端口),支持 regex 模式匹配 - **合规性过滤** — 规则和检测结果支持 PCI-DSS、HIPAA、GDPR、SOC2、NIST 框架标签 - **自定义规则** — App 内置编辑器,带有 regex 测试器,与内置规则一起持久化存储 - **网络拓扑** — 力导向图可视化 (SpriteKit),节点按风险着色,支持交互式选择 - **资产标签** — 每个设备支持颜色编码标签,侧边栏过滤 - **定时扫描** — App 内置计时器 + launchd 代理用于后台执行 - **REST API** — 可配置端口上的 NIOHTTP1 server(endpoint:`/api/v1/devices`、`/api/v1/scans`、`/api/v1/vulnerabilities`、`/api/v1/export`、`/api/v1/health`、`POST /api/v1/scans`) - **规则自动更新** — 扫描启动时从签名 URL 获取最新规则,带有规则过期指示器 - **Webhook 告警** — 扫描完成时发送 Slack/Discord webhook - **报告** — HTML(包含执行摘要、严重程度图表、合规性映射的样式)、CSV、JSON 导出 - **CLI 无头模式** — `--scan --subnet 10.0.0.0/24 --output report.html` - **扫描历史** — JSON 持久化存储,随时间变化的趋势(漏洞数量、风险评分、热门 CVE) ## 使用说明 ``` # 启动 GUI swift run LANScanner # Headless 扫描 swift run LANScanner --scan --subnet 192.168.1.0/24 --output report.html # 计划扫描(需要 launchd agent) swift run LANScanner --scheduled-scan ``` ## 环境要求 - macOS 14+ (Sonoma 或更高版本) - Swift 6.0+ (Xcode 16+ 或 Command Line Tools) - Network client + server 权限(用于原始 socket 访问) ## 构建 ``` swift build --target App swift test ``` ## 许可证 MIT
标签:RESTful API, Swift, 云存储安全, 提示词优化, 插件系统, 网络扫描, 网络测绘