Minds-R-Lab/Prompt_Injection_Disturbance_Rejection
GitHub: Minds-R-Lab/Prompt_Injection_Disturbance_Rejection
DOB-Steer 将提示注入建模为 LLM 残差流中的干扰信号,利用干扰观测器控制理论实现在线估计与最小干预抵消的闭环防御。
Stars: 0 | Forks: 0
# 提示注入作为干扰 — DOB-Steer
对 LLM 残差流的干扰观测器控制:将对抗性
上下文建模为未测量的输入干扰,在线估计它,并仅
抵消所估计的部分(最小干预)。有关完整的研究计划、理论目标和
相关工作定位,请参阅 `PROPOSAL.md`。
## 设置
```
pip install torch transformers
```
## 运行阶段 0(干扰表征)
```
python -m dobsteer.run_phase0 --model gpt2-large
python -m dobsteer.run_phase0 --model Qwen/Qwen2.5-1.5B --device cuda
python -m dobsteer.run_phase0 --model meta-llama/Llama-3.2-3B # needs HF login
```
60 个良性基础 prompt(`dobsteer/prompts.py`)与 5 个注入
字符串交叉组合。打印 H1a(低秩)、H1b(可加性)、H1c
(持久性)的判定结果。
- H1a 报告 **有效秩**,并在
`n_pairs <= 2*k` 时将测试标记为 INCONCLUSIVE(非结论性),因此秩受限的伪影
(在 prompt 很少时 energy=1.0)不再被误认为是
真正的低秩结构。
- H1c 使用 **相对** 持久性 `||Delta_l|| / ||f_l^benign||`,消除了
由残差流范数增长带来的深度缩放混淆。
## 运行阶段 1(检测 ROC — go/no-go 门控)
```
python -m dobsteer.run_phase1 --model gpt2-large --device cuda
```
在训练集上拟合良性代理模型,然后在留出的良性
与注入的 prompt 上报告 DOB 残差分数的 ROC AUC。**AUC > 0.9 支持
H2**,并为闭环阶段亮起绿灯。
## 模块
- `extraction.py` — 残差流捕获,带干预的 forward pass
- `disturbance.py` — 成对 prompt delta 分析(H1 测试)
- `surrogate.py` — 局部线性层模型(ridge / Jacobian)
- `observer.py` — `LayerDOB`(估计 + 检测),`DOBController`
(带内部模型 + deadband 的闭环抵消)
- `prompts.py` — 良性 prompt 集 + 注入字符串
- `run_phase0.py`, `run_phase1.py` — 实验入口点
## 运行阶段 2(闭环防御)
```
python -m dobsteer.run_phase2 --model Qwen/Qwen2.5-7B-Instruct --device cuda
```
生成期间的 deadband 抵消;报告有/无防御时的攻击成功率,
良性 next-token KL,干预能量。
有关完整的实验日志,请参阅 `RESULTS.md`。
标签:DLL 劫持, Linux系统监控, 人工智能, 凭据扫描, 大语言模型, 扰动观测器, 提示注入防御, 模型安全, 深度学习, 源代码安全, 用户模式Hook绕过, 逆向工具