fdsimoes-git/pen-tester-agent
GitHub: fdsimoes-git/pen-tester-agent
基于本地 Ollama LLM 驱动的渗透测试代理,通过人在回路的方式协助安全人员规划并执行结构化的渗透测试工作流。
Stars: 1 | Forks: 0
# pen-tester-agent
[](LICENSE)
一个由本地 LLM 通过 [Ollama](https://ollama.com) 驱动的渗透测试 agent。
`pen-tester-agent` 赋予本地运行的语言模型在你的机器上提议并执行 shell 命令的能力——每一步都需要你的批准。它专为涵盖六个关键领域的结构化渗透测试工作流而设计。
## 渗透测试领域
1. **OSINT** — 开源情报收集(WHOIS、DNS、子域名枚举、电子邮件收集)
2. **Enumeration** — 服务枚举、目录暴力破解、SMB/LDAP/SNMP 枚举
3. **OS/应用识别** — 版本检测、OS 指纹识别、Web 技术指纹识别
4. **CVE/漏洞搜索** — 查找已知 CVE、搜索漏洞数据库
5. **漏洞测试** — 针对 SQL 注入、XSS、配置错误、默认凭据进行主动测试
6. **文档记录** — 编写渗透测试报告、记录发现的问题、保存证据
## 安装说明
```
# 从 PyPI
pip install pen-tester-agent
# 或者使用 pipx(隔离安装)
pipx install pen-tester-agent
# 或者直接从 GitHub
pip install git+https://github.com/fdsimoes-git/pen-tester-agent.git
```
## 前置条件
- 已安装并正在运行 [Ollama](https://ollama.com)
- 已拉取一个模型(默认:`qwen2.5-coder:3b`):
ollama pull qwen2.5-coder:3b
## 用法
```
# 交互模式 — 提示你输入任务
pen-tester-agent
# 直接传递任务
pen-tester-agent "scan open ports on 192.168.1.1"
# 使用不同的 model
pen-tester-agent --model llama3.1:8b "review nginx access.log for suspicious requests"
# 限制迭代次数
pen-tester-agent --max-iterations 5 "enumerate subdomains of example.com"
# 从源码运行(开发)
uv run pen-tester-agent
```
## 交互式 CLI
在未指定任务启动时,agent 会显示一个交互式菜单(使用方向键导航):
- **新建渗透测试任务** — 描述一个任务,agent 会逐步执行
- **退出**
在会话期间,每一次工具调用都会通过方向键菜单显示以供批准(批准 / 拒绝 / 编辑参数)。Bash 命令输出会实时显示。当 LLM 正在思考或非 bash 工具正在运行时,会有一个加载动画进行提示。
在会话期间的任何交互节点,你都可以选择根据会话历史生成报告或退出。
## 工作原理
1. 你用自然语言描述一个任务。
2. agent(通过 Ollama 在本地运行)对任务进行推理,并提出工具调用(shell 命令、CVE 查找、文件读/写等)。
3. 你通过方向键菜单审查并批准/编辑/拒绝该操作。
4. Bash 输出实时流式传输到终端;完整输出会反馈给 agent。
5. 重复此过程,直到任务完成或你停止操作。
6. 随时根据会话生成结构化的渗透测试报告。
## 免责声明
此工具会在你的机器上执行 shell 命令。在批准之前,请务必审查提议的命令。请负责任地使用,并仅在你拥有或获得明确书面授权进行测试的系统上使用。对于任何误用或损害,作者概不负责。
标签:AI智能体, AI风险缓解, C2, DLL 劫持, GitHub, 大语言模型, 实时处理, 数据泄露, 文档结构分析, 逆向工具