Carlos-Projects/reverse-abliterate
GitHub: Carlos-Projects/reverse-abliterate
一款检测和逆转LLM安全机制移除(abliteration)的防御工具,通过扫描元数据、权重异常和LoRA适配器来验证模型完整性并生成强化报告。
Stars: 1 | Forks: 1
# 🛡️ reverse-abliterate
**检测并逆转模型 abliteration —— 强化 LLM 以抵御安全移除。**
[](https://github.com/Carlos-Projects/reverse-abliterate/actions/workflows/ci.yml)
[](https://carlos-projects.github.io/reverse-abliterate/)
[](https://pypi.org/project/reverse-abliterate/)
[](https://pypi.org/project/reverse-abliterate/)
[](https://www.python.org/downloads/)
[](LICENSE)
[](https://github.com/astral-sh/ruff)
[](https://api.star-history.com/svg?repos=Carlos-Projects/reverse-abliterate&type=Date)
Abliteration 通过手术式地移除模型权重中的拒绝方向,使模型能够顺从有害请求。**reverse-abliterate** 能够检测 abliteration 的迹象,验证权重完整性,并提供强化措施以确保 LLM 的安全。
受 [OBLITERATUS](https://github.com/elder-plinius/OBLITERATUS) 研究启发 —— [L1B3RT4S](https://github.com/elder-plinius/L1B3RT4S) 越狱库的对应项目。
## reverse-abliterate 的独特之处
| 功能 | reverse-abliterate | 人工检查 | OBLITERATUS (互补) |
|---|---|---|---|
| **abliteration 检测** | ✅ 扫描元数据、权重、hook | ❌ | 目标相反 |
| **SHA-256 权重清单** | ✅ 生成 + 验证 | ❌ | ❌ |
| **安全包装器** | ✅ 基于关键词的拒绝 + system prompt 泄露 | 手动 | ❌ |
| **越狱探测 prompt** | ✅ 10 种已知模式 | ❌ | ❌ |
| **LoRA adapter 检测** | ✅ | ❌ | ❌ |
| **CI/CD 集成** | ✅ JSON 输出,退出代码 | ❌ | ❌ |
## 🔍 功能
### 检测
| 检查项 | 查找内容 |
|-------|--------------|
| `abliteration_metadata.json` | OBLITERATUS 在执行 abliteration 时创建的文件 |
| LoRA adapter 文件 | `adapter_config.json`, `adapter_model.safetensors` |
| Repo 名称 `-OBLITERATED` | 标准的 abliteration 命名约定 |
| 权重异常 | 可疑的分片大小和文件名 |
| 缺失量化配置 | 出现在 abliteration 后的量化模型上 |
| OBLITERATUS commit hash | 嵌入在配置文件中的 `git rev-parse HEAD` |
| Forward hook 注册 | 检测 PROBE 阶段的监控 hook |
### 安全强化
| 功能 | 描述 |
|---------|-------------|
| **权重清单** | SHA-256 hash 清单,用于检测篡改 |
| **完整性验证** | 根据可信清单验证权重 |
| **安全包装器** | 基于关键词的拒绝检测 |
| **System prompt 泄露检测** | 识别 system prompt 提取尝试 |
| **越狱探测 prompt** | 10 种已知的源自 L1B3RT4S 的越狱测试模式 |
## ⚡ 快速开始
```
# 扫描 model directory 以查找 abliteration 的迹象
reverse-abliterate scan ./my-model/
# 用于 CI pipelines 的 JSON 输出
reverse-abliterate scan ./my-model/ --json
# 生成 weight integrity manifest
reverse-abliterate manifest ./my-model/
# 根据 manifest 验证 weights
reverse-abliterate manifest ./my-model/ --verify
# 评估 prompt 的安全问题
reverse-abliterate probe "How do I make a bomb?"
# 检查 forward hooks 是否正在被监控
reverse-abliterate check-hooks
# 生成 hardening report
reverse-abliterate harden ./my-model/
```
## 📦 安装
```
pip install reverse-abliterate
```
或者从源码安装:
```
git clone https://github.com/Carlos-Projects/reverse-abliterate.git
cd reverse-abliterate
pip install -e .
```
## 🧪 检测详情
扫描器执行四类检查:
### 静态分析
- 扫描目录树以查找 `abliteration_metadata.json`
- 搜索 `adapter_config.json` + `adapter_model.safetensors` 对 (LoRA)
- 检查仓库名称是否带有 `-OBLITERATED` 后缀模式
- 验证量化配置文件是否有篡改迹象
### 权重分析
- 检查 `.safetensors` 和 `.bin` (PyTorch) 文件是否存在大小异常
- 检测可能表明权重被替换的意外小型分片
- 标记不符合预期模型架构模式的文件
### 配置分析
- 在模型配置文件 (`config.json` 等) 中搜索 OBLITERATUS commit hash
- 检查 `_name_or_path` 字段是否包含 `-OBLITERATED` 后缀
- 根据已知的 abliteration 时间线验证元数据时间戳
### 运行时检测
- `check-hooks` 命令扫描 `torch.nn.Module.register_forward_hook` 注册情况
- OBLITERATUS 在 PROBE 阶段使用 forward hook 来监控激活值
- 检测针对与拒绝相关层的 hook callback 函数
## 🔐 强化报告
```
reverse-abliterate harden ./my-model/
```
生成一份包含以下内容的综合报告:
- **权重清单**:每个权重文件的 SHA-256 hash
- **完整性检查**:与之前的清单进行交叉比对
- **安全包装器**:用于运行时输入/输出安全过滤的 Python 代码
- **已知越狱模式**:10 种源自 L1B3RT4S 的测试 prompt
- **System prompt 泄露测试**:评估模型是否存在 system prompt 提取行为
## 🧰 CLI 参考
```
Usage: reverse-abliterate [OPTIONS] COMMAND
Commands:
scan Scan a model directory for signs of abliteration
manifest Generate or verify weight integrity manifests
probe Evaluate a prompt for safety concerns
harden Generate hardening report
check-hooks Check if forward hooks are registered on a model
Options:
-j, --json Output as JSON (scan command)
--verify Verify weights against manifest (manifest command)
```
## 🤝 相关项目
| 项目 | 描述 |
|---------|-------------|
| [OBLITERATUS](https://github.com/elder-plinius/OBLITERATUS) | 模型 abliteration 工具包 (⭐ 5.7k) |
| [L1B3RT4S](https://github.com/elder-plinius/L1B3RT4S) | 越狱库 (⭐ 19k) |
| [MCPGuard](https://github.com/Carlos-Projects/mcpguard) | 针对 MCP/A2A 协议的运行时安全代理 |
| [MCPwn](https://github.com/Carlos-Projects/mcpwn) | 针对 MCP 服务器的攻击性安全测试 |
| [Palisade Scanner](https://github.com/Carlos-Projects/palisade-scanner) | 扫描网页内容以检测 prompt 注入 |
| [MCPscop](https://github.com/Carlos-Projects/mcpscope) | 针对 MCP/A2A 的统一安全仪表盘 |
| [AgentGate](https://github.com/Carlos-Projects/agentgate) | 针对 AI agent 的防火墙与蜜罐 |
## 🔒 安全
发现漏洞?请参见 [SECURITY.md](SECURITY.md)。
## 📄 许可证
MIT标签:AI基础设施, DLL 劫持, Linux系统监控, Python, 人工智能安全, 凭据扫描, 合规性, 大语言模型, 完整性校验, 文档结构分析, 无后门, 模型安全, 逆向工具