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截图, 云安全架构, 代码生成, 修复建议, 威胁检测, 安全合规, 安全扫描器, 容器安全, 应用安全, 渗透测试工具, 漏洞管理, 结构化查询, 网络代理, 网络安全, 自动化安全, 蓝队分析, 逆向工具, 隐私保护