SangPK34/pks-sec-agent
GitHub: SangPK34/pks-sec-agent
PKS 是一款终端内的网络安全多 Agent AI 框架,通过智能调度 30 余个攻防专家 Agent 实现渗透测试、DFIR、逆向工程及 CTF 解题的全自动化。
Stars: 0 | Forks: 0
# PKS — 终端内的网络安全 AI 团队 🕵️
**PKS**(昵称 *"Tool Nhà Nghèo"*)是一款专为网络安全设计的**多 agent、自动化** AI
——涵盖攻击与防御——完全在终端中运行。一个 Selection agent
负责将每个任务精准调度给对应的专家——渗透测试、bug bounty、红队、蓝队、
DFIR、逆向工程、Web、信息收集 (recon)、报告生成——且所有 agent 共享同一个记忆库。此外还内置了
**CTF 模式**,可从头到尾自动解决 pwn / 逆向 / Web / 取证 / 密码学挑战。
## 核心亮点
- **30+ 专业化 agent**,覆盖完整技术栈——攻击端(渗透测试、bug bounty、红队、
Web、信息收集、逆向工程)与防御端(蓝队、DFIR、内存/网络调查、紫队
[purple team]、报告生成、合规)——此外还配备一个独立的 **CTF 解题 agent**
(pwn · 逆向 · Web · 取证 · 密码学),并在 "playbook" 中内置了完整的工具箱。
- **共享记忆 (blackboard)**——任何 agent 执行的所有命令与发现都会被记录
在一个公共看板中,并注入到所有 agent 的上下文里。只需询问 *"目前发现了什么?"*,
它就能准确回答,即使在切换 agent、被打断或压缩上下文之后也是如此。
- **全自动化**——中途无需确认;持续运行直到任务完成或您主动停止。
- **图像文字识别**——`pks-ocr` 通过多轮 OCR 与交叉比对,即使模型没有“视觉”能力,
也能从截图中提取 flag/证据。
- **轻量且高效**——智能截断工具输出(保留 flag/key,过滤干扰信息),快速预估
token,容错的 markdown 渲染,并自动识别各个模型的上下文窗口大小。
- **同时运行多个目标**——每个目标/挑战独立运行一个实例,互不干扰。
- **默认注重隐私**——无遥测,不向外部发送数据,不收集信息。
- **使用中文与您对话。** (*译者注:原文为越南语,这里依据中文语境翻译*)
## 系统要求
- **Linux / WSL**(推荐使用 Kali Linux——大部分工具已预装)。
- **Python 3.10+**(推荐 3.13)。
- **一个兼容 OpenAI 的 LLM endpoint。** PKS 本身不附带模型;它可以与任何
兼容 OpenAI 的 API 通信——无论是本地网关(LiteLLM / vLLM / 处于 openai 模式的 Ollama)还是
托管的 endpoint。您只需在 `.env` 中配置 URL、API key 和模型名称。
## 安装说明 — 下载、修改 `.env`、运行
```
# 1. 获取 code
git clone pks-sec-agent # hoặc copy nguyên thư mục
cd pks-sec-agent
# 2. 创建 virtualenv 并安装 PKS + 依赖
python3 -m venv venv
source venv/bin/activate
pip install -e . # bước này tạo ra lệnh `pks`
# 3. 配置 — 使其能够运行的唯一步骤
cp .env.example .env
nano .env # điền OPENAI_API_KEY, OPENAI_API_BASE, PKS_MODEL
# 4. 运行
pks
```
大功告成——只需修改 `.env` 中的 3 个值,`pks` 即可启动。
**已有 venv?** 跳过第 2 步,直接使用附带的脚本(会自动设置 `PYTHONPATH` 并加载 `.env`):
```
./run_pks.sh # sửa đường dẫn venv bên trong script cho khớp máy bạn
```
**工具箱:** 为了进行实际操作,PKS 会调用各种系统工具(如 `nmap`, `ffuf`, `sqlmap`,
`pwntools`, `ghidra`, `radare2`, `angr`, `binwalk`, `steghide`, `hashcat`, `volatility3`,
`tesseract` 等)。在 Kali 上大部分已经预装;如果通过 `which ` 显示缺少,再自行安装即可。
## 使用说明
```
pks # mở REPL, rồi mô tả tác vụ bất kỳ
pks --yolo # bỏ xác nhận lệnh nhạy cảm (tự động hoàn toàn)
pks --unrestricted # bật steering (uncensored) trên endpoint của bạn
pks --prompt "recon và liệt kê dịch vụ trên 10.10.10.5" # chạy 1 tác vụ rồi thôi
```
只需描述您的需求——*"对这个靶机进行渗透测试"*、*"对 bug bounty 目标进行分类筛选"*、
*"调查这个内存转储 (dump)"*、*"解出 ./chall 里的这道 CTF 题"*——Selection agent 就会将其
分配给正确的专家。实用命令:`/agent`(列出/切换 agent)、`/model`、`/env`、
`/parallel`(在同一目标上运行多个 agent)。
### 同时运行多个目标
每个目标都在一个**独立**的实例中运行——拥有专属的公共记忆看板和 `/tmp` 暂存区,
互不干扰:
```
cd ~/work/target1 && pks # terminal 1 (id instance = target1)
cd ~/work/target2 && pks # terminal 2
cd ~/CTF/chall1 && pks # terminal 3
```
在另一个终端中监控所有进度:
```
watch -n5 'grep -h FLAG ~/.pks/bb_*.json 2>/dev/null || echo "chưa xác nhận gì"'
```
## 配置说明 (`.env`)
| 变量 | 说明 |
|---|---|
| `OPENAI_API_KEY` | 您的 LLM endpoint 密钥 **(必填)** |
| `OPENAI_API_BASE` / `OPENAI_BASE_URL` | 兼容 OpenAI 的 endpoint URL **(必填)** |
| `PKS_MODEL` | 您的 endpoint 所提供的模型名称 **(必填)** |
| `PKS_LICENSE_OFF=1` | 开放模式——不检查 license,不向外部发送数据 |
| `PKS_STREAM=true` | stream 模型的输出 |
| `PKS_TUI=false` | 使用紧凑型 REPL(不启用重量级 TUI) |
| `PKS_TELEMETRY=false` | 关闭遥测 |
| `PKS_COMPACT_REPL=0` | `0` 表示内联显示工具输出;`1` 表示折叠为 pill |
| `PKS_CYBER_PROFILE_MODE` | cyber 基准配置大小:`lite` \| `full` \| `off` |
高级配置选项(上下文窗口、token 预估、输出截断、各实例独立的 blackboard)详见
`.env.example`。
## 项目结构
```
src/pks/ framework (agents, tools, prompts, SDK, REPL/TUI)
src/pks/prompts/ playbook của từng agent (CTF, DFIR, reverse, web, red/blue team, …)
pricings/ bảng cửa sổ ngữ cảnh / pricing theo model
tools/ tiện ích replay / asciinema / gif
tests/ bộ test
run_pks.sh launcher (set PYTHONPATH, nạp .env)
.env.example copy sang .env rồi sửa
```
## 使用道德准则
PKS 是一款双刃剑性质的网络安全工具。仅在您**拥有明确授权**的情况下使用:包含
合同的测试项目、您自己的系统、实验室环境、CTF 赛事,以及经过许可的学术与研究
活动。您需对自己的使用方式负责。
## 许可证
双重许可(MIT 和 Proprietary)——详见 `LICENSE` / `LICENSE-MIT`。
*基于 CAI 定制。*
标签:AI风险缓解, 事件响应, 人工智能, 多智能体, 子域名变形, 实时处理, 密码管理, 插件系统, 用户模式Hook绕过, 网络安全, 逆向工具, 隐私保护