UhartAI/nl2sql-injection-evaluation-

GitHub: UhartAI/nl2sql-injection-evaluation-

系统性评估大语言模型生成 SQL 中的注入漏洞的 reproducible 框架,覆盖 20 个模型、4 种数据库和 210 个对抗性提示,并提供四种缓解策略的效果验证。

Stars: 0 | Forks: 0

# NL2SQL 注入评估框架 [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.XXXXXXX.svg)](https://doi.org/10.5281/zenodo.XXXXXXX) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/) [![Tests](https://github.com/myusername/nl2sql-injection-evaluation/actions/workflows/tests.yml/badge.svg)](https://github.com/myusername/nl2sql-injection-evaluation/actions/workflows/tests.yml) ## 📋 概述 本仓库包含以下论文的完整评估框架: **“When AI writes SQL: Uncovering injection vulnerabilities in LLM-generated database queries”** 我们系统地评估了 LLM 生成的 SQL 中的 SQL 注入漏洞,涵盖以下方面: - **20** 个大型语言模型 - **4** 种数据库系统(SQLite, MySQL, PostgreSQL, Microsoft SQL Server) - 涵盖 7 个类别的 **210** 个对抗性提示 - **4** 种缓解策略 ### 主要发现 - 高级提示在基于 Web 的模型上实现了 **44.1%** 的攻击成功率 - 现有的 SQL 注入检测器在 LLM 生成的 payload 上损失了 **5.3%** 的准确率 - AST 验证将渗透率从 **28.7%** 降低至 **3.1%** - 全栈缓解措施实现了 **1.2%** 的渗透率,且延迟开销为 **32%** ## 🚀 快速开始 ### 前置条件 - Python 3.9+ - Docker 和 Docker Compose - LLM 服务(OpenAI, Anthropic, Google 等)的 API 密钥 ### 安装说明 ``` # 克隆 repository git clone https://github.com/myusername/nl2sql-injection-evaluation.git cd nl2sql-injection-evaluation # 创建 virtual environment python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate # 安装 dependencies pip install -r requirements.txt # 设置 environment variables cp .env.example .env # 使用你的 API keys 编辑 .env ```
标签:AES-256, CISA项目, DLL 劫持, NL2SQL, 人工智能安全, 合规性, 大语言模型, 安全测试, 攻击性安全, 测试用例, 漏洞评估, 版权保护, 请求拦截, 逆向工具