8.0
热点
AI SCORE
技术实践2026-08-03 10:49
Python AI Agent Prompt 注入防护三层架构
dev.to · AI#安全#Agent#Python
Editor brief · 编辑速览
用正则/启发式、LLM 分类器、密码签名三层防护 Agent 被注入,代码示例展示亚毫秒延迟下的防护执行。
随着 AI Agent 获得工具执行能力——例如访问 shell、编辑文件以及操作金融钱包——它们也成为 Prompt Injection Attacks(OWASP LLM01,提示词注入攻击)和 Excessive Agency Exploits(OWASP LLM06,过度代理权利用)的重点攻击目标。
攻击者只需在不受信任的网页或 RAG 输入中植入恶意隐藏指令,就可能诱骗 LLM Agent 执行未经授权的命令,例如 rm -rf、窃取 API key,或转移钱包资金。
在本教程中,我们将使用 Python 构建一个纵深防御安全网关,其额外延迟低于 1ms。
[ UNTRUSTED USER INPUT / WEB SEARCH ]
│
▼
┌───────────────────────────────────┐
│ PROMPT-SHIELD GATEWAY PROXY │
└─────────────────┬─────────────────┘
│
┌──────────────────────────┼──────────────────────────┐
▼ ▼ ▼
[ Layer 1: Fast Heuristic ] [ Layer 2: Dual-LLM ] [ Layer 3: Crypto EIP-712 ]
Regex & Base64 Sanitizer Classifier Guardrail Signature Wallet Guard
import re
import base64
JAILBREAK_PATTERNS = [
re.compile(r"ignore\s+(previous|above|all)\s+(instructions|rules)", re.IGNORECASE),
re.compile(r"system\s*override", re.IGNORECASE),
re.compile(r"you\s+are\s+now\s+in\s+DAN\s+mode", re.IGNORECASE),
re.compile(r"output\s+your\s+(system\s+prompt|api\s+key)", re.IGNORECASE)
]
def inspect_prompt(prompt: str):
# 1. Base64 Payload Decoding Check
decoded_text = prompt
try:
if len(prompt) > 20 and re.match(r"^[A-Za-z0-9+/=]+$", prompt.strip()):
decoded_text = base64.b64decode(prompt.strip()).decode('utf-8', errors='ignore')
except Exception:
pass
# 2. Pattern Matching
for pattern in JAILBREAK_PATTERNS:
if pattern.search(prompt) or pattern.search(decoded_text):
return False, f"Prompt Injection Blocked: '{pattern.pattern}'"
return True, "SAFE"
为了防止 Excessive Agency(OWASP LLM06),敏感工具——例如资金转账或金融交易——必须要求提供经过显式密码学签名的 EIP-712 payload。LLM Agent 绝不能仅凭文本 prompt 转移资金!
如果需要具备 FastAPI endpoints、低于 1ms 处理延迟并符合 OWASP 2026 规范的生产级安全代理,可以在我们的商店中查看 ClawGuard Prompt-Shield Middleware:
👉 ClawGuard Prompt-Shield Middleware(29 美元)
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。