matheussricardoo/LocalLLMSecurityAuditor
GitHub: matheussricardoo/LocalLLMSecurityAuditor
基于本地Llama模型驱动的自主SQL注入检测工具,在消费级硬件上实现隐私优先的动态应用安全测试。
Stars: 0 | Forks: 0
一个自主、隐私优先的 AI Agent,使用量化 LLM 在本地环境中检测 SQL 注入漏洞。
### 工程案例研究
| 详情 |
|---|
| **焦点:** AI Agents 与网络安全 |
| **目标:** 在消费级硬件 (i5 + GTX 1050 Ti) 上创建自主审计器 |
| **模型:** 通过 Ollama 运行 Llama 3.2 3B (量化版) |
### 核心功能
| 功能 | 描述 |
|---|
| **自主推理** | 独立决策使用哪种工具 (ReAct 循环) |
| **隐私优先** | 100% 离线运行,不向云端发送任何数据 |
| **语义绕过** | 利用 QA 抽象技术规避安全过滤器 |
| **资源优化** | 针对 4GB VRAM 进行优化 (CPU/GPU 混合模式) |
| **自动报告** | 生成带有证据的 Markdown 格式技术报告 |
| **主动 DAST** | 专注于 SQL 注入的动态应用程序安全测试 |
### 技术栈
### 架构
```
graph LR
A[Llama 3.2 Brain] -->|Decides Action| B(Python Controller)
B -->|Executes Tool| C[Tool Set]
C -->|Inspect HTML| D[Target App]
C -->|Stress Test Payload| D
D -->|Response 200/500| B
B -->|Observation| A
A -->|Final Decision| E[Report.md]
```
### 工程历程与挑战
在消费级硬件 (i5 + GTX 1050 Ti + 8GB RAM) 上构建自主 Agent 带来了独特的挑战。以下是我们解决这些问题的方法:
#### 1. 硬件限制("CUDA Error")
问题:GTX 1050 Ti (4GB VRAM) 难以承受沉重的模型卸载,导致在现代驱动程序下发生运行时崩溃。
解决方案:我们在 Python (`num_gpu=0`) 中实施了混合回退机制,并切换到优化的 "Tiny" 模型 (Llama 3.2 3B) 以确保稳定性而非原始速度。
#### 2. "上下文遗忘" 循环
问题:较小的模型经常丢失对话状态的跟踪,陷入 `INSPECT_URL` → `INSPECT_URL` 的无限循环。
解决方案:我们从标准的 LangChain `AgentExecutor` 转移到了自定义的 **确定性控制循环**。这允许系统在 Agent 犹豫不决时将其“启动”并手动解析意图。
#### 3. 安全护栏("I can't help you" 问题)
问题:由于严格的安全对齐,Llama 3.2 拒绝生成 SQL 注入 payload。
解决方案:我们应用了 **语义抽象**。我们不是要求 LLM “攻击”,而是将 payload 封装在一个名为 `stress_test_login_inputs` 的 Python 工具中。LLM 作为执行稳定性测试的 "QA Engineer" 运行,从而绕过拒绝触发器。
### 开始使用
#### 前置条件
- Python 3.10+
- 已安装并运行 Ollama
#### 1. 设置环境
```
# 克隆仓库
git clone https://github.com/matheussricardoo/LocalLLMSecurityAuditor.git
cd LocalLLMSecurityAuditor
# 创建 Virtual Env
python -m venv venv
.\venv\Scripts\Activate.ps1
# 安装 Dependencies
pip install -r requirements.txt
```
#### 2. 下载模型
```
ollama pull llama3.2:3b
```
#### 3. 使用方法
你需要同时运行两个终端:
**终端 1 (目标应用程序):**
```
python target_app/app.py
```
**终端 2 (安全 Agent):**
```
python main.py
```
执行后检查生成的 `RELATORIO_FINAL.md`。
### 项目结构
```
LocalLLMSecurityAuditor/
├── main.py # The Agent Brain & Control Loop
├── requirements.txt # Python dependencies
├── RELATORIO_FINAL.md # Generated security report
├── tools/
│ ├── __init__.py # Tools module initialization
│ └── web_tools.py # Inspection and testing tools
└── target_app/
└── app.py # Vulnerable Flask application for testing
```
### 免责声明
此工具专为 **教育目的** 和 **授权安全测试**(CTF/实验室环境)开发。
作者 **不对** 此软件的任何滥用行为负责。请 **仅** 在你拥有或 **明确获得许可** 进行测试的系统上使用此工具。
### 作者
标签:AI安全代理, AI风险缓解, CISA项目, Cybersecurity, DAST, DOE合作, Flask, Llama 3.2, LLM评估, Local LLM, Ollama, Python, ReAct循环, Red Teaming, SQL注入检测, WAF绕过, 代码生成, 低资源计算, 动态应用安全测试, 域名收集, 对称加密, 应用安全, 恶意样本开发, 恶意软件分析, 无后门, 本地大模型, 消费级硬件, 渗透测试工具, 离线安全, 网络安全, 自主智能体, 自动化审计, 语义绕过, 逆向工具, 量化模型, 隐私优先, 隐私保护