twsnmp/twSecScan

GitHub: twsnmp/twSecScan

一款基于 Wails 和 Svelte 5 构建的零依赖 AI 驱动安全扫描桌面应用,以单一二进制文件提供涵盖网络、Web、API、加密及本地审计的多模块安全检测能力。

Stars: 0 | Forks: 0

# twSecScan **twSecScan** 是一款由 AI 驱动、零依赖的安全扫描桌面应用程序。它使用 [Wails](https://wails.io/) 和 [Svelte 5](https://svelte.dev/) 构建,以单一跨平台二进制文件的形式提供完整的安全套件——无需 `nmap` 或 `nuclei` 等外部工具。 ## ✨ 核心功能 - **9 个扫描模块**,涵盖网络、Web、API、加密和本地文件系统安全 - **由 AI 驱动的缓解建议**,通过 Ollama(本地)、OpenAI 或 Anthropic 提供 - **零外部依赖** — 所有扫描器均以纯 Go 实现 - **单一二进制文件** — 可移植部署,无需安装 - **双语 UI** — 支持英文和日文,自动检测操作系统语言 - **报告导出** — 支持 HTML、Markdown 和 JSON 格式 - **扫描历史记录** — 通过 bbolt 嵌入式数据库进行持久化存储 ## 🗺️ 概览 ![twSecScan 概览](https://static.pigsec.cn/wp-content/uploads/repos/cas/fc/fce007c7ab8ec0e4b2d6c6bc5d320a9c39b07a9e43c593983a565110346d3fd6.png) *twSecScan 提供四大核心模块(OSINT、Web、API 安全、本地审计),一个集成了 OpenAI、Anthropic 或 Ollama 的 AI 引擎,以及五步扫描工作流——所有这些都打包在单一的二进制文件中。* ## 🖥️ 截图 ### 仪表盘 ![仪表盘](https://static.pigsec.cn/wp-content/uploads/repos/cas/1c/1cb589705c3be6c48ea1bca7e9ca9403de6bdb11a3340bd740155111e0ea8089.png) *输入目标 URL 或 IP,选择扫描模块,然后点击“开始扫描”。* ### 扫描发现与 AI 建议 ![扫描发现](https://static.pigsec.cn/wp-content/uploads/repos/cas/80/80f8ba2416fb96a7f58e9b3d32a5d7bd32bbec134b6d580adef7fb84b0c87f78.png) *扫描结果会显示严重性级别标记(严重 / 高危 / 中危 / 低危 / 信息)以及由 AI 生成的缓解策略。* ### 设置 ![设置](https://static.pigsec.cn/wp-content/uploads/repos/cas/28/2817625786a243f952b30a4336e324858e5f8a5ccec0d6b0de3db12dadd4f30d.png) *配置您的 AI 提供商(Ollama、OpenAI、Anthropic)、扫描并发数以及 UI 语言。* ## 🔍 扫描模块 | 模块 | 描述 | 目标 | |--------|-------------|--------| | **OSINT 扫描** | 对常用端口进行 TCP 端口扫描 + DNS 和 WHOIS 查询 | IP 或域名 | | **Web 扫描器** | 用于检测失效链接、HTTP 安全标头、PII 泄露的递归爬虫 | `https://...` | | **资产审计器** | 探测暴露的配置文件、备份、`.git`、管理面板 | `https://...` | | **验证测试器** | 抓取页面并测试 URL 参数是否存在 XSS 和 SQL 注入 | `https://...` | | **技术栈检测器** | 从标头和 HTML 中识别 Web 服务器、CMS、框架 | `https://...` | | **API 模糊测试器** | 解析 OpenAPI 3.0 规范,并对所有 endpoint 进行动态安全模糊测试 | URL 或本地文件 | | **DNS 和 WHOIS** | 独立的 DNS 记录和 WHOIS 注册商信息查询 | 域名 | | **加密扫描器** | 检查 SSL/TLS 证书、SSH 标头横幅以及邮件服务器加密(SMTP/IMAP/POP3) | IP 或域名 | | **本地文件夹审计** | 遍历本地目录,检查密钥、不安全的权限以及是否符合 CIS 控制措施要求 | 本地路径 | ## 🤖 AI 集成 twSecScan 集成了 LLM 提供商,旨在为每一项发现生成可操作的缓解建议。 | 提供商 | 配置 | |----------|--------------| | **Ollama**(默认) | 在本地运行。设置 endpoint URL(默认:`http://localhost:11434`)和模型名称 | | **OpenAI** | 在设置中提供您的 API 密钥 | | **Anthropic** | 在设置中提供您的 API 密钥 | 如果未配置 AI 提供商,扫描发现仍将包含完整的技术详情被记录下来。 ## 🛠️ 技术栈 | 组件 | 技术 | |-----------|-----------| | 后端 | Go(纯 Go,无 CGO) | | 前端 | Wails v2 + Svelte 5 (Runes) + Tailwind CSS | | 数据库 | bbolt(嵌入式 key-value 存储) | | OpenAPI 解析器 | `getkin/kin-openapi` | | 构建工具链 | `mise`(Go + Node.js + Wails 版本管理) | ## 🚀 快速开始 ### 前置条件 - [mise](https://mise.jdx.dev/) — 开发工具链管理器 ### 安装工具链 ``` # 通过 mise 安装 Go、Node.js 和 Wails mise install ``` ### 开发 ``` # 以开发模式启动(热重载) wails dev ``` ### 构建 ``` # 构建生产环境二进制文件 wails build ``` 输出的二进制文件 (`twSecScan`) 将放置在 `build/bin/` 目录中。 ## 📁 项目结构 ``` twSecScan/ ├── main.go # Wails entry point ├── app.go # Backend bindings (Frontend ↔ Backend) ├── core/ │ ├── db/bbolt.go # Persistent storage (bbolt) │ └── models/models.go # Config, Scan, Finding structs ├── modules/ │ ├── ai/ # LLM client abstraction (Ollama/OpenAI/Anthropic) │ ├── apisec/ # OpenAPI parser + API fuzzer │ ├── osint/ # Port scanner, DNS/WHOIS, Crypto scanner │ ├── webscanner/ # Crawler, Asset auditor, Validation tester, Tech detector │ └── localaudit/ # Local folder CIS audit ├── embed/ │ └── wordlists/ # Embedded wordlists (directories, subdomains) └── frontend/src/ └── App.svelte # Single-file Svelte 5 UI ``` ## 📊 报告导出 扫描完成后,点击扫描历史记录视图中的 **导出** 按钮以保存报告: - **HTML** — 带有样式和严重性级别标记的独立报告 - **Markdown** — 适用于文档记录的纯文本报告 - **JSON** — 用于程序化处理的原始 `{scan, findings}` 数据 ## 🗄️ 数据存储 扫描历史记录和设置存储在一个数据库文件中,该文件会自动创建在以下特定于平台的位置: | 操作系统 | 默认路径 | |----|--------------| | macOS | `~/Library/Application Support/twSecScan/twSecScan.db` | | Windows | `%APPDATA%\twSecScan\twSecScan.db` | | Linux | `~/.config/twSecScan/twSecScan.db` | ### 自定义数据库路径 (CLI 选项) 使用 `--db-path` 标志可覆盖默认位置: ``` # 保存在当前目录 ./twSecScan --db-path ./mydata.db # 指定绝对路径 ./twSecScan --db-path /home/user/backup/scan.db ``` ## ⚠️ 法律声明 twSecScan 仅供**授权的安全测试**使用。在扫描任何非您所有的系统或网络之前,请务必获得明确的许可。未经授权的扫描可能会违反法律法规。 ## 📄 许可证 [Apache License 2.0](LICENSE)
标签:AI风险缓解, API安全, ESC4, EVTX分析, GitHub, Go, GraphQL安全矩阵, JSON输出, OSINT, Petitpotam, Ruby工具, SBOM分析, Svelte, Wails, Web安全, 安全扫描器, 实时处理, 密码管理, 插件系统, 日志审计, 桌面应用, 蓝队分析