安全警告:本工具仅用于获得明确授权的安全测试、研究与教学。未经授权的网络攻击、渗透、爆破或控制行为可能违法。详见 docs/SECURITY_WARNING.md。
功能概览
- 统一后端:基于 NestJS 暴露 REST + SSE 接口,CLI/TUI、移动端、桌面端共用同一套编排与事件流。
- 多智能体执行:支持
secbot-cli 自动模式与 superhackbot 专家模式,结合规划、执行、总结链路完成安全任务。
- 安全测试能力:覆盖内网发现、端口与服务识别、Web 安全、OSINT、系统控制、防御扫描与报告生成,共 54 个工具。
- 多推理后端:内置 Ollama、DeepSeek、OpenAI 及多家 OpenAI 兼容厂商支持。
- 多前端形态:仓库同时包含
terminal-ui/(Ink TUI)、app/(Expo / React Native)与 desktop/(Tauri + Vite)工程。
- SQLite 持久化:对话历史、提示词链、用户偏好和 API Key 配置可持久化到 SQLite。
- 记忆与知识:短期/长期/情景记忆子系统,向量存储与语义检索。
- 漏洞数据库:统一漏洞 schema,适配 CVE/NVD/Exploit-DB/MITRE ATT&CK。
架构概览
flowchart LR
subgraph Clients["客户端"]
tui["terminal-ui (Ink)"]
mobile["app (Expo)"]
desktop["desktop (Tauri)"]
end
tui --> api["NestJS /api/*"]
mobile --> api
desktop --> api
api --> chat["ChatModule"]
chat --> agents["AgentsModule"]
agents --> tools["ToolsModule (54 工具)"]
tools --> db["DatabaseModule (SQLite)"]
agents --> memory["MemoryModule"]
agents --> summary["SummaryAgent"]
summary --> sse["SSE 事件流"]
sse --> tui
sse --> mobile
sse --> desktop
更细的 UI 与事件流说明见 docs/UI-DESIGN-AND-INTERACTION.md,API 细节见 docs/API.md。
环境要求
- Node.js
18+(后端与所有前端均需要)
- npm(随 Node.js 附带)
- Ollama(可选,本地模型时需要)
安装与启动
方式一:从 npm 安装
npm install -g @opensec/secbot
secbot
方式二:从源码运行(推荐开发使用)
git clone https://github.com/iammm0/secbot.git
cd secbot
npm install
创建 .env,至少填写一组可用推理后端配置:
# 云端推理(默认推荐)
LLM_PROVIDER=deepseek
DEEPSEEK_API_KEY=sk-your-api-key
DEEPSEEK_MODEL=deepseek-reasoner
# 或改用本地 Ollama
# LLM_PROVIDER=ollama
# OLLAMA_BASE_URL=http://localhost:11434
# OLLAMA_MODEL=gemma3:1b
启动完整终端体验:
npm run start:stack
npm run dev
npm run start:tui
方式三:下载 GitHub Release
从 Releases 下载 npm 打包产物(.tgz),解压后运行。
更详细的发布包说明见 docs/RELEASE.md。
快速开始
1. 常见开发入口
npm run dev
npm run build
npm start
npm run start:tui
cd app && npm install && npm start
cd desktop && npm install && npm run tauri dev
2. 常用环境变量
LLM_PROVIDER | 当前推理后端 | deepseek |
DEEPSEEK_API_KEY | DeepSeek API Key | 无 |
DEEPSEEK_MODEL | DeepSeek 默认模型 | deepseek-reasoner |
OLLAMA_BASE_URL | Ollama 服务地址 | http://localhost:11434 |
OLLAMA_MODEL | Ollama 默认模型 | gemma3:1b |
PORT | 后端监听端口 | 8000 |
3. 常见斜杠命令(TUI 内使用)
/model | 选择推理后端、模型、API Key、Base URL |
/agent | 切换 secbot-cli / superhackbot |
/list-agents | 查看当前可用智能体 |
/system-info | 查看系统信息 |
/db-stats | 查看 SQLite 统计 |
目录结构
secbot/
├── server/ # NestJS 后端
│ └── src/
│ ├── main.ts # 应用入口
│ ├── app.module.ts # 根模块
│ ├── common/ # 公共基础设施(LLM 抽象、过滤器、拦截器)
│ └── modules/ # 业务模块
│ ├── agents/ # 多智能体(Planner/Hackbot/Coordinator/Summary)
│ ├── chat/ # SSE 聊天接口
│ ├── tools/ # 54 个安全工具(10 大类)
│ ├── database/ # SQLite 持久化
│ ├── memory/ # 记忆子系统
│ ├── vuln-db/ # 漏洞数据库
│ ├── network/ # 网络发现与远程控制
│ ├── defense/ # 防御扫描
│ ├── sessions/ # 会话管理
│ ├── system/ # 系统信息与配置
│ ├── crawler/ # 爬虫调度
│ └── health/ # 健康检查
├── npm-bin/ # npm CLI 入口包装
│ ├── secbot.js
│ └── secbot-server.js
├── terminal-ui/ # Ink 终端前端
├── app/ # Expo / React Native 客户端
├── desktop/ # Tauri + Vite 桌面端
├── scripts/ # 启动与构建脚本
├── tools/ # 工具能力说明文档
└── docs/ # 项目文档
开发
npm run typecheck
npm run lint
npm run format
npm test
npm run build
文档索引
贡献
欢迎提交 Issue 和 Pull Request。
- Fork 本仓库
- 创建分支:
git checkout -b feat/your-change
- 提交修改:
git commit -m "feat: 新增某功能"
- 推送分支并发起 PR
提交信息遵循 Conventional Commits 规范。
许可证
本项目使用 LICENSE 中定义的 Secbot Open Source License:
- 允许个人学习、学术研究、教学与非营利技术交流
- 修改与分发时需保留版权与协议声明
- 商业用途需事先获得书面授权
商用授权联系:wisewater5419@gmail.com
作者
赵明俊(Zhao Mingjun)