ragibalikhan/red-cli
GitHub: ragibalikhan/red-cli
Red CLI 是一款集成多家 AI 供应商模型的终端原生自主渗透测试平台,提供从侦察到报告生成的全流程安全测试能力。
Stars: 2 | Forks: 0
# Red CLI — 自主红队平台
[](https://www.npmjs.com/package/red-cli)
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
将 **8 家 AI 供应商**和 **40+ 模型**与自主渗透测试、漏洞扫描、漏洞利用工具以及智能意图检测相结合 — 一切尽在你的终端中。
[功能](#features) · [安装说明](#installation) · [快速开始](#quick-start) · [模式](#modes) · [命令](#command-reference) · [配置](#configuration)
## 什么是 Red CLI?
## 功能
### 🖥️ 现代终端 UI (基于 Ink)
- **即时斜杠菜单** — 输入 `/` 打开可实时搜索的命令菜单
- **模式颜色提示** — 为当前安全模式提供视觉反馈
- **实时流式传输** — 实时查看 AI token 的生成过程
- **工具调用卡片** — 风险颜色指示器(🟢 读取,🟡 写入,🔴 shell/漏洞利用)
- **思考指示器** — 显示耗时、模式和消息数量
### 🛡️ 专注于网络安全的模式
基于意图的模式自动检测 — 只需描述你想做什么:
| 模式 | 用途 |
|------|---------|
| `recon` | **默认模式。** 侦察、枚举、端口扫描、子域名发现、指纹识别 |
| `scan` | 漏洞扫描、CVE 查找、nmap/nuclei/nikto 分析 |
| `exploit` | 漏洞利用、payload 生成 (XSS/SQLi/LFI/SSRF/CMDi)、PoC 验证 |
| `report` | 包含证据和修复方案的渗透测试报告生成 |
| `osint` | 被动 OSINT — 网页搜索、DNS 查询,仅限公开数据 |
| `audit` | 安全代码审计 — 只读源代码漏洞分析 |
### 🔍 内置安全工具 (25+)
| 工具 | 描述 |
|------|-------------|
| `port_scan` | 基于 Nmap 的端口/服务扫描(快速/完整/服务模式) |
| `dns_lookup` | DNS 记录解析 (A, AAAA, MX, NS, TXT, CNAME) |
| `cve_search` | 通过 NVD API 查询 CVE 数据库 + GitHub Advisory 备用查询 |
| `payload_gen` | 针对 XSS、SQLi、LFI、SSRF、CMDi、SSTI 的 payload 生成 |
| `fingerprint` | HTTP 技术指纹识别(服务器、cookies、JS 框架) |
| `subdomain_enum` | DNS 暴力破解子域名发现 |
| `bash` | 带有风险分类和安全确认的 Shell 命令 |
| `web_search` | DuckDuckGo 网页搜索 |
| `web_fetch` | URL 内容提取 |
| `install_tool` | 自动安装安全工具(nmap、nikto、subfinder 等) |
| `exploit` | 快速漏洞利用测试(XSS、SQLi、LFI、端口、暴力破解) |
### 🧠 自主执行
**自动模式** (`/auto`) — 让 Red 自主完成复杂的渗透测试任务:
- 内置任务规划器
- 循环检测与安全防护栏
- 进度追踪
- 基于目标的完成检测
### 💾 记忆与学习
- **全局记忆** — 跨会话记住测试结果
- **项目记忆** — 存储扫描结果和漏洞利用链
- **自动学习** — 从你的测试模式中学习
### 🔒 安全功能
- 基于范围的目标授权 (`/scope add example.com`)
- 破坏性命令确认
- 工作区强制限制
- 可配置的拦截命令
- 所有 shell 命令的风险分类
## 安装说明
**前置条件:** Node.js 18+,至少一家供应商的 API key。
```
npm install -g redai-cli
```
或从源码安装:
```
git clone https://github.com/ragibalikhan/red-cli.git
cd red-cli && npm install && npm link
```
## 快速开始
```
# 交互式 REPL(以 recon 模式启动)
red
# 扫描目标的漏洞
red "scan example.com for open ports"
# 完全自主的渗透测试
red --auto "pentest https://target.com"
# 生成 XSS payloads
red "generate xss payloads"
# 使用特定的 model
red --model gemini-2.5-flash "scan example.com"
```
## 模式
Red 会根据你的输入自动检测意图 — 但你也可以手动切换:
| 命令 | 切换至 |
|---------|-------------|
| `/mode recon` | 侦察与枚举 |
| `/mode scan` | 漏洞扫描 |
| `/mode exploit` | 漏洞利用与 payload |
| `/mode report` | 报告生成 |
| `/mode osint` | 仅限被动 OSINT |
| `/mode audit` | 代码安全审计 |
## 命令参考
在 REPL 中输入 `/` 打开可实时搜索的命令菜单,或直接使用命令:
### 安全测试
| 命令 | 描述 |
|---------|-------------|
| `/pentest ` | 完整的自主渗透测试 |
| `/scan ` | 漏洞扫描 |
| `/recon ` | 侦察与枚举 |
| `/exploit ` | 快速漏洞利用(xss、sqli、lfi、ports 等) |
| `/cve ` | 查询特定的 CVE |
| `/secrets [path]` | 扫描泄露的机密信息 |
| `/scope add ` | 授权测试目标 |
| `/report` | 生成渗透测试报告 |
### 模型与配置
| 命令 | 描述 |
|---------|-------------|
| `/model` | 打开模型选择器 |
| `/mode ` | 切换模式 (recon/scan/exploit/report/osint/audit) |
| `/provider ` | 切换 AI 供应商 |
| `/setkey ` | 保存 API key |
### 规划与自动化
| 命令 | 描述 |
|---------|-------------|
| `/plan ` | 创建并执行计划 |
| `/auto ` | 在自主模式下运行 |
| `/goal ` | 基于目标条件的完成度运行 |
### 实用工具
| 命令 | 描述 |
|---------|-------------|
| `/doctor` | 运行诊断 |
| `/usage` | 显示使用统计 |
| `/tokens` | 显示当前会话 token |
| `/compact` | 压缩对话以节省 token |
| `/save [file]` | 将会话保存至文件 |
| `/clear` | 清除对话 |
| `/help` | 显示帮助 |
## 配置
### 交互式设置
```
red doctor
red doctor --fix
```
### 配置文件
创建 `~/.red/config.json`:
```
{
"provider": "bedrock",
"model": "anthropic.claude-opus-4-7",
"mode": "recon",
"awsRegion": "us-east-1",
"apiKeys": {
"bedrock": "your-bedrock-api-key",
"openai": "sk-...",
"gemini": "...",
"nvidia": "nvapi-..."
}
}
```
### AWS Bedrock 设置
1. 从 [AWS Console → Bedrock → API Keys](https://console.aws.amazon.com/bedrock/home#/api-keys) 获取 API key
2. 运行:`/setkey bedrock us-east-1`
3. 通过 `/model` 选择一个 Bedrock 模型
### 环境变量
```
export AWS_BEDROCK_API_KEY="..."
export AWS_REGION="us-east-1"
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."
export GEMINI_API_KEY="..."
export NVIDIA_API_KEY="nvapi-..."
```
## CLI 选项
```
red [options] [message]
Options:
--version Show version
--model Set model
--mode Set mode (recon/scan/exploit/report/osint/audit)
--provider Set provider
--no-tools Disable tools (chat only)
--auto Run in autonomous mode
--max-iter Max iterations for auto mode
```
## 安全
有关安全策略和负责任的漏洞披露,请参阅 [SECURITY.md](./SECURITY.md)。
## 许可证
标签:CISA项目, DLL 劫持, GitHub, MITM代理, 人工智能, 大语言模型, 实时处理, 插件系统, 暗色界面, 用户模式Hook绕过, 自定义脚本