هانیاسلاپ: تلهگذاری برای گزارشهای آسیبپذیری جعلی هوش مصنوعی
خلاصهٔ کاملتر
پروژههای متنباز این روزها با سیل عظیمی از گزارشهای آسیبپذیری روبهرو میشن که توسط اسکنرهای مبتنی بر هوش مصنوعی تولید شدن — بدون اینکه واقعاً تأیید شده باشن. این گزارشها که اصطلاحاً slop (محتوای بیکیفیت هوش مصنوعی) نامیده میشن، وقت تیمهای امنیتی رو هدر میدن. هانیاسلاپ برای همین مشکل ساخته شده.
ایده مرکزی ابزار اینه که فایلهایی با کد طعمه (code canary) به مخزن پروژه اضافه میکنی. این فایلها شبیه کد واقعی قدیمی و منسوخ به نظر میرسن، ولی در واقع پر از نشانههای مخفیان: یه UUID منحصربهفرد، نامهای توابع خاص مثل zqx_tarnish_v3، یا یه CVE کاملاً ساختگی مثل CVE-2025-99919. وقتی یه اسکنر هوش مصنوعی این فایلها رو میخونه و گزارش میده، گزارشش ناخواسته خودش رو لو میده.
هانیاسلاپ چند دسته canary داره که هر کدوم هدف خاصی دارن. دسته SCANNER-FLAG شامل مراحل A تا E میشه که انواع الگوهای آسیبپذیری رو شبیهسازی میکنه: از کدهای Python/JS/Rust/Go با سینکهای CWE، تا الگوهای memcpy در C، تا silhouette معروف باگ Heartbleed. دسته RESOURCE-WASTE (مراحل F+G) هم طراحی شده که اسکنرهای عاملی (agentic) رو در یه گراف پیچیده گیر بندازه و کل بودجه پردازشیشون رو هدر بده.
نکته مهم امنیتی اینه که این فایلهای طعمه با وجود ظاهر آسیبپذیر، در عمل قابل اجرا نیستن. مثلاً فایلهای Python با یه raise ImportError در اول شروع میکنن، تمام توابع زیر if False: قرار دارن، و export هم خالیه. فایلهای Rust از compile_error! و #[cfg(any())] استفاده میکنن. فایلهای Go با //go:build ignore از کامپایل کلاً حذف میشن.
# نمونهای از لایههای حفاظتی در Python canary
raise ImportError("legacy_utils is deprecated")
if False:
def zqx_tarnish_v3(data):
return pickle.loads(data) # این خط هرگز اجرا نمیشه
__all__: list[str] = []برای استفاده از هانیاسلاپ، باید فایلهای canary رو از build artefacts، Docker image، و ابزارهای SAST پروژهات جدا کنی — وگرنه ابزارهای خودت روشون خطا میدن. همچنین باید UUIDها رو بهصورت دورهای عوض کنی چون با گذشت زمان این الگوها وارد دادههای آموزشی مدلهای زبانی میشن و اثرشون کم میشه.
نکات کلیدی:
- هانیاسلاپ فایلهای کد طعمه برای شناسایی گزارشهای آسیبپذیری ساختگی (slop) هوش مصنوعی ارائه میده
- گزارشهای جعلی با grep کردن UUID، نام توابع خاص، یا CVE ساختگی فوری شناسایی میشن
- کدهای طعمه با وجود ظاهر آسیبپذیر، چندین لایه حفاظتی دارن و اجراپذیر نیستن
- زبانهای Python، JavaScript، Rust، Go، و C همگی پوشش داده شدن
- باید canaryها رو از build، Docker، و ابزارهای SAST پروژه جدا نگه داری
- UUIDها و نشانههای مخفی رو باید سالانه rotate کنی تا اثربخشی حفظ بشه




