تصور کنید تنها یک مسیر دادهای ناامن به یک مدل زبانی، کل امنیت اپلیکیشن شما را به خطر اندازد. برای مقابله با این ریسک، گیتهاب در ۱۰ ژوئیه ۲۰۲۶ نسخه CodeQL 2.26.0 را منتشر کرد که شناسایی بومی آسیبپذیریهای تزریق پرامپت (Prompt Injection) را ممکن میسازد.
طبق اعلام گیتهاب در یادداشت تغییرات (Changelog)، هدف این بهروزرسانی عبور از جستوجوی ساده و رسیدن به یک «آزمون رگرسیون» دائمی است. تحلیلهای ایستا معمولاً وقتی توسعهدهندگان فقط به دنبال عبارتهایی مثل «دستورات قبلی را نادیده بگیر» میگردند، شکست میخورند. برای اثربخشی واقعی، ابزارها باید مسیر واقعی جریان داده از یک منبع غیرمعتبر تا مقصد مدل را ردیابی کنند. این رویکرد یادآور استفاده از تحلیلهای پیشرفتهتر جریان داده است، همانطور که در بررسی کاربرد Tree-sitter برای شناسایی آسیبپذیریهای پیچیده در Sighthound مشاهده کردیم که بر اهمیت ردیابی دقیق مسیرهای آلوده (Taint Flow) تأکید داشت.
همانطور که در تحلیل قبلی ما دربارهی حفاظهای امنیتی مدلهای زبانی اشاره کردیم، تمرکز تیمهای امنیتی اکنون باید از «عبارات» به «مدلسازی مسیرها» تغییر کند. برای پیادهسازی این رویکرد، توسعهدهندگان میتوانند یک دایرکتوری Fixture بسازند که شامل موارد زیر باشد:
- موردهای مثبت: فایلهایی مانند
direct-flow.tsکه عمداً هشدار ایجاد میکنند. - کنترلهای منفی: مواردی مثل
trusted-instruction.tsکه در آن ورودی مهاجم نمیتواند دستورات را تغییر دهد. - فایل expected-alerts.json: قراردادی برای ثبت آسیبپذیریهای شناختهشده.
به نقل از مستندات فنی، ادغام این Fixtureها در خط لوله CI نیازمند تثبیت نسخه CodeQL CLI و اعتبارسنجی شواهد SARIF است. برای مثال، اگر یک هشدار ضروری ناپدید شود یا یک مورد منفی ناگهان هشدار دهد، سیستم باید خطا دهد. این متد مانع از «شکنندگی» سیستم میشود؛ زیرا تغییرات نامرتبط در کد نباید باعث شکست گیت امنیتی شود.
این رویکرد، امنیت هوش مصنوعی را از یک تیک ساده در لیست تغییرات به یک قرارداد اجرایی تبدیل میکند. بر اساس بررسی منابع متعدد، این متد میپذیرد که تحلیل ایستا نمیتواند واکنش مدل را پیشبینی کند، اما میتواند ثابت کند که یک مسیر خطرناک در کد وجود دارد. در واقع، تمرکز از پیشبینی نامطمئن خروجی مدل به بررسی لولهکشیهای زیرساختی منتقل شده است.
گام بعدی شما
- بحرانیترین مسیرهای «ورودی غیرمعتبر به مدل» را در کد خود شناسایی کنید.
- این مسیرها را به Fixtureهای اجرایی تبدیل کنید تا در آپدیتهای آینده دوباره باز نشوند.
- آزمونهای خصمانه (Adversarial Tests) در زمان اجرا را برای پوشش SDKهای پشتیبانینشده حفظ کنید.
اما داستان سختافزاریِ این تحولات حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو