Carlos-Projects/reverse-abliterate

GitHub: Carlos-Projects/reverse-abliterate

一款检测和逆转LLM安全机制移除(abliteration)的防御工具,通过扫描元数据、权重异常和LoRA适配器来验证模型完整性并生成强化报告。

Stars: 1 | Forks: 1

# 🛡️ reverse-abliterate **检测并逆转模型 abliteration —— 强化 LLM 以抵御安全移除。** [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/1d/1d494e8e0d31b078d30d4187a990f06e7c891c9e4fc1b3499c6d8dedecded045.svg)](https://github.com/Carlos-Projects/reverse-abliterate/actions/workflows/ci.yml) [![文档](https://static.pigsec.cn/wp-content/uploads/repos/cas/30/302cf99dfb9558d11a856a31edfc051b7170c7442fcfcda6bf7f735511613acb.svg)](https://carlos-projects.github.io/reverse-abliterate/) [![PyPI](https://img.shields.io/pypi/v/reverse-abliterate)](https://pypi.org/project/reverse-abliterate/) [![Python](https://img.shields.io/pypi/pyversions/reverse-abliterate)](https://pypi.org/project/reverse-abliterate/) [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) [![Ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff) [![Star History](https://img.shields.io/badge/Star-History-blue?style=social)](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, 人工智能安全, 凭据扫描, 合规性, 大语言模型, 完整性校验, 文档结构分析, 无后门, 模型安全, 逆向工具