موتور سیاست و Hookها
موتور سیاست لایه اعمال است که بین LLM و دنیای بیرون قرار دارد. هر اقدام را در نقاط بحرانی جریان داده رهگیری میکند و تصمیمات قطعی ALLOW، BLOCK یا REDACT میگیرد. LLM نمیتواند این تصمیمات را دور بزند، تغییر دهد یا بر آنها تأثیر بگذارد.
Hookهای اعمال
Hookها در نقاط مشخصی در خط لوله پردازش پیام اجرا میشوند:
| Hook | چه زمانی اجرا میشود | آنچه بررسی میشود |
|---|---|---|
PRE_CONTEXT_INJECTION | قبل از تزریق داده به زمینه LLM | طبقهبندی داده، مجوزهای نشست |
PRE_TOOL_CALL | قبل از اجرای فراخوانی ابزار | مجوز ابزار، محدودیت نرخ، طبقهبندی |
POST_TOOL_RESPONSE | پس از بازگشت نتیجه ابزار | ویرایش محتوا، انتشار طبقهبندی |
PRE_OUTPUT | قبل از ارسال پاسخ به کانال | قانون عدم نوشتن به پایین، فیلتر محتوا |
PRE_MEMORY_WRITE | قبل از نوشتن در حافظه پایدار | اعمال طبقهبندی حافظه |
PRE_MEMORY_READ | قبل از خواندن از حافظه پایدار | فیلتر حق دسترسی |
ویژگیهای Hook
- خالص: هیچ فراخوانی LLM، هیچ I/O شبکه، هیچ تصادف
- همزمان: بدون عملیات ناهمزمان — اجرا و بازگشت فوری
- ثبتشده: هر تصمیم با زمینه کامل در سیستم بازرسی ثبت میشود
- غیرقابل جعل: LLM هیچ کانالی برای تأثیرگذاری بر تصمیمات hook ندارد
انواع قوانین
قوانین ثابت
همیشه فعال هستند و نمیتوان آنها را غیرفعال کرد:
- عدم نوشتن به پایین
- افزایش Taint نشست
- ثبت بازرسی
- جلوگیری از SSRF
قوانین قابل پیکربندی
قابل تنظیم در triggerfish.yaml:
yaml
policy:
rules:
- hook: POST_TOOL_RESPONSE
conditions:
- content_matches: '\b\d{3}-\d{2}-\d{4}\b'
action: REDACT
redaction_pattern: "[SSN REDACTED]"