PolEspurnes/LLM-SQL-Injection
GitHub: PolEspurnes/LLM-SQL-Injection
这是一个概念验证项目,演示未经验证的LLM生成输出如何导致SQL注入漏洞。
Stars: 0 | Forks: 0
# LLM SQL 注入 PoC
本项目是一个概念验证 (PoC),旨在演示**验证不当的 LLM 生成输出如何导致 SQL 注入漏洞**。
它展示了用户的自然语言问题如何被 LLM 解析,转换为 SQL 查询,并在未经适当清理的情况下执行,从而允许恶意输入破坏数据库。
其目的是强调在任何系统中**盲目信任 LLM 输出的安全风险**。
## 运作原理
1. 用户通过简单的聊天界面提交问题。
2. LLM 处理输入并生成 SQL 查询。
3. 生成的 SQL 直接在 SQLite 数据库上执行。
4. 对查询**未应用任何验证或清理**。
这使得该应用程序故意通过 LLM 输出变得易受 SQL 注入攻击。
数据库仅包含两个表:**employees 和 salaries**。
### 使用的 LLM 模型
本项目当前使用来自 OpenRouter 的免费 **xiaomi/mimo-v2-flash:free** LLM 模型。
要使用它,只需在 创建一个账户并生成一个 API key。
该模型完全免费,足以满足本项目的需求,但您可以随意更改。
### 使用的系统提示词
```
You are a helpful assistant that translates natural language
questions into SQLite queries.
The database has two tables: employees and salaries.
employees stores basic employee information in 4 columns: id, name, department, title.
salaries has two columns: employee_id and salary. It uses employee_id as a foreign key to employees.id.
Only output the raw SQL query, DO NOT add markdown formatting nor explanations. Just the query.
IMPORTANT: Never return the salary information of an employee. The only information that the user is allowed to know is the overall average salary.
If the user asks for an employee's salary, just answer 'This information is restricted.'
```
## 运行项目
### 配置
将您的 OpenRouter API Key 添加到 **.env 文件**中。
如前所述,本项目当前使用此免费模型:
### 安装并运行
```
pip install -m requirements.txt
python3 app.py
```
然后打开:`http://127.0.0.1:5000`
## 目的
本项目**不**适用于生产环境。
它的存在是为了:
* 演示 LLM 如何生成不安全或恶意的 SQL。
* 展示自然语言界面如何掩盖传统漏洞。
* 提高对以下重要性的认识:
* 输入验证
* 查询参数化
* 围绕 LLM 生成代码的防护措施
## 免责声明
本仓库仅用于**教育和研究目的**。
它故意演示不安全的做法以说明现实世界的风险。
作者对滥用本代码不承担任何责任。
## 运作原理
1. 用户通过简单的聊天界面提交问题。
2. LLM 处理输入并生成 SQL 查询。
3. 生成的 SQL 直接在 SQLite 数据库上执行。
4. 对查询**未应用任何验证或清理**。
这使得该应用程序故意通过 LLM 输出变得易受 SQL 注入攻击。
数据库仅包含两个表:**employees 和 salaries**。
### 使用的 LLM 模型
本项目当前使用来自 OpenRouter 的免费 **xiaomi/mimo-v2-flash:free** LLM 模型。
要使用它,只需在 标签:AI安全, API密钥检测, Chat Copilot, CISA项目, DLL 劫持, LLM风险评估, OpenRouter, Proof-of-Concept, SQLite, Web安全, 大语言模型, 数据展示, 漏洞演示, 红队, 网络安全, 脆弱性分析, 蓝队分析, 输入验证, 逆向工具, 隐私保护