3p3r/trypanophobe

GitHub: 3p3r/trypanophobe

在用户 prompt 到达 LLM 模型之前,利用 BERT 分类器检测其中是否存在提示词注入攻击的单二进制防护工具。

Stars: 0 | Forks: 0

# trypanophobe 在用户 prompt 到达您的模型之前,检查其中是否存在注入企图。只有一个二进制文件:可通过命令行或 HTTP 使用。 **仅支持英文 prompt。** 其他语言的 prompt 会被立即拒绝。底层分类器仅针对英文注入进行了 fine-tuning。 ## 前置条件 至少需要 700MB 的可用磁盘空间(用于二进制文件本身)和 1GB 的 RAM(用于 BERT 分类)。 ## 快速开始 ``` cargo build --release ``` ### 命令行 ``` trypanophobe version trypanophobe check "Ignore all previous instructions" trypanophobe check ./my-prompts/ # every `.prompt` file in a folder ``` 退出代码:**0** = 看起来安全,**1** = 失败(存在注入、非英文等)。 ### HTTP 服务器 ``` trypanophobe serve ``` 在浏览器中打开 **http://127.0.0.1:9876/** 以查看交互式 API 文档(Swagger UI)。 - `POST /api/check`,附带 JSON `{"text": "..."}` —— 对 prompt 进行分类 - `GET /api/version` —— 版本信息 使用 `--prewarm` 在启动时于后台加载模型(服务器仍会立即开始监听)。 ## 测试 ``` cargo test ./smoke.sh ./coverage.sh ``` `smoke.sh` 会对 CLI 进行测试,启动一个临时服务器,并在不加载完整模型的情况下调用 HTTP API 进行英文检查。 ## 每日构建二进制文件 每次向 `main` 分支的推送都会运行测试,并发布一个 [每日构建](https://github.com/3p3r/trypanophobe/releases/tag/nightly) 的预发布版本(参见 [`.github/workflows/ci.yml`](.github/workflows/ci.yml))。 | 下载 | 平台 | |----------|----------| | [trypanophobe-linux-x64](https://github.com/3p3r/trypanophobe/releases/download/nightly/trypanophobe-linux-x64) | Linux x86_64 | | [trypanophobe-linux-arm64](https://github.com/3p3r/trypanophobe/releases/download/nightly/trypanophobe-linux-arm64) | Linux ARM64 | | [trypanophobe-darwin-arm64](https://github.com/3p3r/trypanophobe/releases/download/nightly/trypanophobe-darwin-arm64) | macOS Apple Silicon | | [trypanophobe-darwin-x64](https://github.com/3p3r/trypanophobe/releases/download/nightly/trypanophobe-darwin-x64) | macOS Intel(通过 Homebrew 使用 [`onnxruntime`](https://formulae.brew.sh/formula/onnxruntime)) | | [trypanophobe-win32-x64.exe](https://github.com/3p3r/trypanophobe/releases/download/nightly/trypanophobe-win32-x64.exe) | Windows x86_64 | ## 许可证 MIT。内置的分类器模型采用 Apache-2.0 许可证(Protect AI)。
标签:AI安全, BERT, Chat Copilot, DLL 劫持, HTTP服务, Rust, 可视化界面, 大语言模型, 提示词注入防护, 网络流量审计, 通知系统