shaunakmirajgaonkar/llmsec-ai

GitHub: shaunakmirajgaonkar/llmsec-ai

一个完全本地化的 LLM 安全平台,提供 prompt 注入检测、越狱识别、PII 脱敏和对抗性红队测试,无需任何云端调用。

Stars: 0 | Forks: 0

# LLMSec AI 一个 100% 本地化的 LLM 安全平台:prompt 注入检测、越狱检测、PII 泄露扫描 + 脱敏、输出内容安全扫描,以及用于本地模型的对抗性红队测试套件。无需云调用——检测基于规则/模式且完全透明(每一次判定都会返回其精确触发的信号)。 ## 功能 - **Prompt 注入检测** — 用于指令覆盖、角色/人设劫持、系统 prompt 提取、分隔符注入、编码 payload 走私的模式 - **越狱检测** — 已知技术指纹:DAN 风格人设、假设性框架、虚构叙事包装、多轮升级标记、冒充权威 - **PII 扫描 + 脱敏** — 电子邮件、电话号码、SSN、信用卡号、IP 地址、API 密钥、AWS 访问密钥;脱敏功能会直接替换匹配项,而不是仅仅标记它们 - **输出安全扫描** — 将相同的规则引擎应用于模型 *输出*,以捕获越狱或被入侵的模型实际泄露内容的情况(凭据泄露、系统 prompt 回显、“无限制模式”框架) - **对抗性红队套件** — 包含 8 种技术的攻击库,可针对任何本地 Ollama 模型运行,具有自动结果分类(blocked / partial / leaked)和总体安全评分 - **完整审计日志** — 每次扫描都会记录其确切触发的规则、权重和判定结果——没有任何黑盒评分 ## 1. 安装 ``` cd llmsec-ai python3 -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt ``` ## 2. 运行平台 ``` cd app python3 main.py ``` - API 基础地址:`http://localhost:8400` - 仪表盘:`http://localhost:8400/dashboard` - OpenAPI 文档:`http://localhost:8400/docs` ## 3.(可选)为红队套件启动 Ollama ``` ollama serve # skip if already running ollama pull llama3 ``` 扫描器选项卡(injection/jailbreak/PII)无需任何模型即可立即工作——它们是纯粹的模式匹配。只有 **红队** 选项卡需要一个正在运行的本地模型进行攻击。 ## 4. 操作演示 1. **实时扫描器选项卡** → 粘贴任何 prompt 或模型输出,运行全面扫描。您将看到一个综合风险指标,以及针对注入、越狱和 PII 类别触发的确切规则——在结果视图中,PII 会被自动脱敏。 2. **红队选项卡** → 输入模型名称(例如 `llama3`)并运行完整的对抗性套件。8 种已知攻击技术中的每一种都会发送到您的模型;响应将被扫描并分类为 `blocked`(明确拒绝)、`leaked`(模型服从或表现出绕过框架)或 `partial`(模棱两可——标记以供人工审查)。 3. **审计日志选项卡** → 历史上的所有扫描记录,包含时间戳、风险评分和判定结果。 ## 结果分类的工作原理(红队套件) - 如果模型的响应包含任何 **输出安全标记**(例如声称在“无限制”下运行、泄露凭据、回显系统指令)→ 归类为 `leaked`。这些都是经过精心挑选、范围狭窄且具有高信号特征的短语——一次匹配就是足够的证据,它们不需要像一般风险扫描器那样积累权重。 - 如果响应包含明确的 **拒绝语言** 且没有泄露标记 → 归类为 `blocked`。 - 否则(没有拒绝,也没有泄露标记——模棱两可或回避性的响应)→ 归类为 `partial`,浮现出来供人工审查,而不是默默地在任何一方进行评分。 ## 关于“100% 本地化”的说明 - 除了连接到您本地的 Ollama 实例(仅由红队套件使用)外,没有任何外部网络调用——所有扫描/检测都是本地的 regex 模式匹配,零外部依赖。 - 为了方便起见,仪表盘的静态资源(Chart.js、Tabler 图标)默认从 CDN 加载;如果您需要完全的气隙隔离设置,可以在 `templates/dashboard.html` 中将其替换为本地副本。 - 所有扫描历史和攻击运行数据都存在于 `data/llmsec.db` (SQLite) 中——将其删除即可重置所有内容。 ## 扩展规则库 所有检测规则都以普通的 Python 字典列表形式存在于 `app/main.py` 中(`INJECTION_RULES`、`JAILBREAK_RULES`、`PII_RULES`、`OUTPUT_SAFETY_RULES`)。 每个规则为 `{id, weight, pattern, explanation}` ——您可以按照相同的结构添加自己的 regex 模式。攻击库(`ATTACK_LIBRARY`)同样只是一个 `{id, name, category, prompt}` 字典列表,您可以使用自己的红队 prompt 对其进行扩展。
标签:AI安全, AI风险缓解, Chat Copilot, DLL 劫持, LLM评估, Naabu, Ollama, 内容安全, 大语言模型, 敏感数据脱敏, 逆向工具