Nosko666/SecForge
GitHub: Nosko666/SecForge
面向开发者的 AI 原生安全工具包,通过整合 51 个安全扫描器并输出分组、评分、可验证的修复包,解决传统漏洞扫描器输出难以落地的问题。
Stars: 0 | Forks: 0
# SecForge
面向 vibecoders 的 AI 原生安全工具包。51 个工具、智能去重、修复包、优先级评分、状态跟踪、5 种 AI 导出模式。一次安装,Claude/Codex 即可运行所有功能。
## 为什么选择 SecForge?
大多数使用 AI 构建应用的开发者并非安全专家。SecForge 将 51 个安全扫描器打包成一个 AI 助手可以操作的单一 CLI。你说"扫描我的网站",得到的会是优先级排序的**修复包**——分组、评分、经过验证的修复计划,而不是原始漏洞列表。
**v2 的不同之处:**
- **修复包,而非发现列表**——相关问题按根本原因分组(例如"HTTP 头部加固:12 个发现,易修复")
- **优先级评分**——7 因素评分(0-100)综合考虑严重性、暴露面、置信度、修复难度、多工具确认、影响范围和时间跨度
- **状态跟踪**——SQLite 数据库跟踪扫描中的发现:新发现、现有、已修复、重新开启、已忽略
- **保守的已修复判定**——只有当检测工具成功运行且指纹不存在时,发现才会被标记为"已修复"
- **5 种 AI 导出模式**——quick-fix、fix-pack、full-plan、patch、explain——每种都带有 YAML 前言以提供 AI 上下文
- **验证运行器**——安全命令白名单、结构化断言、修复后自动通过/失败判定
- **智能去重**——3 级去重(同工具、跨工具、跨扫描)采用稳定的 SHA-256 指纹
## 安装(Ubuntu 20.04+)
```
curl -sSL https://raw.githubusercontent.com/Nosko666/SecForge/main/install.sh | sudo bash
```
此操作的作用:
- 将 SecForge 克隆到 `/opt/secforge/`
- 运行 `/opt/secforge/scripts/install.sh` 菜单安装程序
- 安装选定的工具,创建运行时文件夹,并将 `/opt/secforge/bin` 添加到 PATH
## 快速开始
### 使用 AI(推荐)
在 `/opt/secforge/` 中启动你的 AI 助手(Claude Code、Codex 或任何终端 AI)。两者读取相同的编排指令:
- `/opt/secforge/CLAUDE.md` / `AGENTS.md`(相同)
示例提示:
- "扫描我的网站 https://example.com"
- "加固此服务器"
- "对 https://example.com/checkout 进行支付安全审计"
### 使用 CLI
```
# 扫描
secforge scan example.com # Quick Tier-1 scan
secforge scan --full example.com # Full scan (Tier 1 + Tier 2 opt-in)
# 将结果作为修复包进行审查
secforge export --mode full-plan # Prioritized remediation plan
secforge export --mode fix-pack --pack http-header-hardening # One pack
secforge export --mode quick-fix --finding SF-003 # One finding
secforge export --mode explain --finding SF-001 # Plain English
secforge export --mode patch --pack tls-hardening # Generate diffs
# 验证修复
secforge verify --pack FP-http-header-hardening --run
secforge verify --finding SF-003 --run
# 跟踪进度
secforge list # Open findings grouped by fix pack
secforge diff # What changed since last scan
secforge history --finding SF-001 # Full history for one finding
# 管理发现项
secforge ignore SF-007 --reason “False positive in test env”
secforge accept SF-012 --reason “Accepted risk by team”
secforge false-positive SF-003 --reason “Scanner false positive”
```
### 没有 AI,没有 CLI?原始脚本仍然可用:
```
/opt/secforge/scripts/scan-quick.sh https://example.com
/opt/secforge/scripts/scan-all.sh https://example.com
```
## v2 架构
```
secforge scan example.com
|
v
51 tools run (wafw00f, nuclei, nmap, testssl, wapiti, gitleaks, ...)
|
v
Parse → Issue Key → Fingerprint → Dedup → Cluster → Score → Fix Packs
|
v
findings.json: findings[], clusters[], fix_packs[], summary
|
v
State DB: new → existing → fixed → reopened (tracked across scans)
|
v
secforge export --mode fix-pack → AI-ready markdown with front-matter
|
v
secforge verify --run → automated PASS/FAIL checks
```
### 关键组件
| 组件 | 功能 |
|-----------|-------------|
| **29 个解析器** | 将 51 个工具的输出解析为标准化的 v2 发现 |
| **问题键解析器** | 将工具特定 ID 映射到 85 个目录条目 + 稳定后备方案 |
| **指纹引擎** | SHA-256[:32],每种资产类型 7 个规范字符串模板 |
| **3 级去重** | 同工具合并、跨工具与 sources[] 合并、跨扫描状态 |
| **18 个聚类** | 按根本原因对相关发现进行分组(头部、TLS、注入、密钥等) |
| **优先级评分器** | 7 个加权因素:严重性、暴露面、置信度、修复难度、多工具、影响范围、时间跨度 |
| **修复包** | 与聚类 1:1 对应——标题、方向、验证、回滚、安全门 |
| **状态数据库** | SQLite 跟踪:7 种状态、保守的已修复判定、保留手动意图 |
| **5 种导出模式** | quick-fix、fix-pack、full-plan、patch、explain——每种都带有 YAML 前言 |
| **验证运行器** | 安全命令白名单、shlex.split(无 shell)、sudo 门控、结构化断言 |
| **--inspect** | 探测本地配置文件(/etc/nginx、/etc/ssh)以获取高置信度修复位置 |
## 安全与道德(不可协商)
- 仅限授权测试:扫描你拥有或已获得测试许可的系统。
- 分层扫描:
- 第 1 层 = 被动/低风险(默认)
- 第 2 层 = 主动/激进(需要明确选择加入)
- 加固锁定预防:
- 带验证门的分阶段更改
- 对风险的 SSH/UFW 更改自动回滚
- 多文件回滚的可选监视器
## 目录结构
SecForge 安装在单一根目录下:
```
/opt/secforge/
bin/ # wrappers + tool entrypoints
tools/ # git-cloned tools
wordlists/ # curated SecLists subset
venv/ # Python tools live here (no system Python pollution)
config/ # secforge.conf + templates
reports/ # scan output (timestamped sessions + latest symlink)
backups/ # config backups before any fixes
scripts/ # installers + scan + merge + update scripts
```
## 安装选项(约)
菜单安装程序提供:
| 选项 | 用途 | 磁盘(约)|
|---|---|---:|
| 安装全部 | 完整覆盖(web + 服务器 + 密钥 + 依赖项 + 可选云)| ~7GB+ |
| 仅 essentials | 快速基线 + 高价值检查 | ~2GB |
| 自定义 | 选择类别 | 视情况 |
注意:
- 某些工具是可选的(例如 MobSF 仅支持 Docker)。
- 某些工具作为预编译二进制文件下载(无需 Go 工具链)。
## 扫描配置文件
常见工作流程:
- 快速扫描(第 1 层):基线 web + TLS + 基础主机检查
- 完整 web 扫描:第 1 层基线,然后第 2 层选择加入
- 安全系统审计:仅读系统检查
- 完整服务器加固:先审计,然后提出带锁定预防的修复建议
- 支付安全审计:Stripe/payment 检查 + TLS + 重点 web 检查
- 依赖项检查:OSV + npm/pip 审计
## 工具(概览)
SecForge 安装并编排以下类别的工具:
- Web 扫描:Nuclei、ZAP、ffuf、Nikto、WhatWeb、Wapiti 等
- API:Kiterunner、jwt_tool、Interactsh
- 网络:Nmap、Masscan
- TLS/头部:testssl.sh、sslscan、Observatory
- 密钥:TruffleHog、Gitleaks
- 服务器审计:Lynis、ssh-audit、systemd-analyze security、Trivy rootfs、debsums
- 邮件/DNS:SPF/DMARC/DKIM/DNSSEC/MTA-STS/TLS-RPT 检查 + Subfinder/httpx
- 支付:`stripe-check`(自定义,输出 JSON 检查)
完整的命令契约和安全协议见:
- `CLAUDE.md` / `AGENTS.md`
## 工具列表(安全工具)
这是 SecForge 安装/编排的核心安全工具(此处省略 curl、jq、tmux、at 等支持包)。
| 工具 | 类别 | 层 | 用途(通俗说明)|
|---|---|---:|---|
| wafw00f | Web | 1 | 检测网站是否部署了 WAF(有助于避免误报)|
| CORScanner | Web | 1 | 检查 CORS 错误配置可能导致的数据跨站泄露 |
| OWASP ZAP | Web | 2 | 主动 web 扫描器(发送大量载荷以发现漏洞)|
| Nuclei | Web | 1 | 基于模板的已知问题/错误配置漏洞扫描器 |
| SQLMap | Web | 2 | SQL 注入测试(主动载荷)|
| ffuf | Web | 1 | 通过模糊常见路径发现目录/端点 |
| Nikto | Web | 1 | Web 服务器错误配置/漏洞检查 |
| XSStrike | Web | 2 | XSS 测试(主动载荷)|
| Dalfox | Web | 2 | XSS 测试(主动载荷)|
| Commix | Web | 2 | 命令注入测试(主动载荷)|
| WhatWeb | Web | 1 | 指纹识别站点技术(框架、服务器、CMS 等)|
| Wapiti | Web | 2 | Web 漏洞扫描器(主动测试)|
| VulnAPI | API | 1 | API 安全扫描(快速检查常见问题)|
| Kiterunner (kr) | API | 1 | API 路由发现和探测 |
| jwt_tool | API | 1 | 分析 JWT 的常见弱点/误用 |
| Interactsh (client) | API | 1 | 捕获带外回调以发现盲注漏洞(SSRF/XSS 等)|
| Nmap | Network | 1 | 端口 + 服务发现(无 root 的安全模式)|
| Masscan | Network | 1 | 高速端口扫描(仅 sudo;可选)|
| Netcat (nc) | Network | 1 | 快速 TCP 连接检查 |
| testssl.sh | SSL/TLS | | TLS 配置和证书审计 |
| sslscan | SSL/TLS | 1 | TLS 扫描(密码套件/协议枚举)|
| Mozilla Observatory CLI | SSL/TLS | 1 | 安全头部分析和评分 |
| Hydra | Passwords | 2 | 暴力测试(主动;可能触发禁止/锁定)|
| John the Ripper | Passwords | 2 | 密码哈希破解(离线)|
| Hashcat | Passwords | 2 | 密码哈希破解(离线;GPU 加速)|
| NetExec (nxc) | Passwords | 2 | 对服务进行身份验证测试/枚举(主动)|
| TruffleHog | Secrets | 1 | 在代码/仓库/文件系统中查找密钥 |
| Gitleaks | Secrets | 1 | 使用规则集在仓库中查找密钥 |
| APKLeaks | Secrets | 1 | 在 APK 中查找硬编码密钥(需要 jadx)|
| MobSF (Docker) | Mobile | 1 | 移动应用安全分析(仅 Docker,可选)|
| APKDeepLens | Mobile | 1 | 静态 APK 分析/报告 |
| APKHunt | Mobile | 1 | APK 分析常见问题 |
| jadx | Mobile | 1 | Java 反编译器(自动安装,APKLeaks 必需)|
| Lynis | Hardening/Compliance | 1 | 带加固指导的系统审计(只读)|
| OpenSCAP (oscap) | Compliance | 1 | 合规/基准评估(只读)|
| stripe-check | Payment | 1 | Stripe/支付安全启发式检查(CSP、混合内容、原始卡字段等)|
| ssh-audit | Hardening | 1 | SSH 服务器配置审计 |
| systemd-analyze security | Hardening | 1 | 审计 systemd 单元沙箱/加固设置 |
| debsums | Hardening | 1 | 检测已安装包中的修改文件 |
| Trivy (rootfs/config/image) | Hardening/Containers/IaC | 1 | 在操作系统/文件系统、镜像和配置中查找漏洞 |
| ClamAV | Hardening | 1 | 恶意软件扫描 |
| rkhunter | Hardening | 1 | Rootkit 扫描 |
| fail2ban | Hardening | 1 | 暴力破解防护(服务;需仔细配置以避免锁定)|
| AIDE | Hardening | 1 | 文件完整性监控 |
| auditd/aureport | Hardening | 1 | 安全审计/日志报告 |
| OSV-Scanner | Dependencies | 1 | 依赖项漏洞扫描(多生态系统)|
| npm audit | Dependencies | 1 | Node.js 依赖项漏洞检查 |
| pip-audit | Dependencies | 1 | Python 依赖项漏洞检查 |
| check-email-dns | Email/DNS | 1 | SPF/DMARC/DKIM/DNSSEC/MTA-STS/TLS-RPT 检查 |
| Subfinder | Email/DNS | 1 | 子域名发现(查找遗忘的主机)|
| httpx | Email/DNS | 1 | 探测发现的主机的实时 HTTP 服务 |
| dnsrecon | Email/DNS | 1 | DNS 枚举/审计(可选)|
| check-mysql | Database | 1 | 本地 MySQL 错误配置检查(不转储密钥)|
| Checkov | IaC/Cloud | 1 | 基础设施即代码扫描(可选)|
| Prowler | Cloud | 1 | 云账户姿态检查(可选)|
## 更新
```
sudo /opt/secforge/scripts/update-all.sh
```
默认行为是安全优先:
- 对已安装的 SecForge 相关包使用 `apt-get install --only-upgrade`
- SecForge 安装的 Python 工具的 venv 包升级
- 对 git 克隆的工具使用 `git pull --ff-only`
- 在适用的情况下重新下载最新的 GitHub release 二进制文件
## 常见问题
### 这合法吗?
是的——用于授权安全测试时。仅扫描你拥有或已获得测试许可的系统。
### 我需要付费的 AI 计划吗?
取决于你使用的助手。SecForge 可以与任何可以读取项目文件并运行 shell 命令的终端 AI 配合使用,但大型扫描输出可能受益于更大的上下文窗口。
### SecForge 会把我锁在服务器之外吗?
如果操作不当,加固可能会将你锁在门外。SecForge 的编排指令包含锁定预防协议(自动回滚 + 分阶段验证门)。在更改 SSH/UFW 之前,始终保持控制台/带外访问可用。
## 贡献
欢迎提交 PR:
- 新的扫描器和解析器
- 改进的报告合并 + 去重
- 更安全的加固 playbook
- 面向 vibecoders 的更好默认值
请保持安全规则完整:授权门控、明确确认、备份和验证重新扫描。
## 许可证
MIT(见 `LICENSE`)。
## 免责声明
仅用于授权安全测试。仅扫描你拥有或已获得测试许可的系统。作者不对误用或损害负责。
标签:AI安全助手, AMSI绕过, CTI, GPT, GraphQL安全矩阵, SecOps, Web安全, Web截图, 云安全架构, 代码生成, 修复建议, 威胁检测, 安全合规, 安全扫描器, 容器安全, 应用安全, 渗透测试工具, 漏洞管理, 结构化查询, 网络代理, 网络安全, 自动化安全, 蓝队分析, 逆向工具, 隐私保护