هوش مصنوعی متنباز به اکوسیستمی گسترده تبدیل شده است که در آن یک محصول واحد ممکن است کدی را از دهها مخزن دریافت کند، بر دادههای آموزشی از چندین منبع تکیه کند و روی پیکربندیهای سختافزاری تخصصی اجرا شود که تعداد کمی از تیمها آن را بهطور کامل مستند کردهاند. پیگیری این وابستگیها دشوار است. درک اینکه کدام بخش از این پشته در معرض اینترنت قرار دارد، دشوارتر است. انتشار Open Source AI Gap Map v0.1 توسط Current AI تلاش میکند تا نظمی به این هرجومرج ببخشد و تیمهای امنیتی باید آن را به عنوان مطالعهای ضروری در نظر بگیرند.
این شاخص ۴۲۱ محصول هوش مصنوعی متنباز را فهرست میکند. این محصولات را به چهار دسته تقسیم میکند: مدلهای هوش مصنوعی، مجموعهدادهها، ابزارهای نرمافزاری و سختافزار. در پشت صحنه، کل پروژه بر پایه ۱,۱۸۴ فایل YAML اجرا میشود که بیش از ۱۶,۰۰۰ مخزن GitHub را ردیابی میکنند. آن شکاف بین ۴۲۱ محصول و ۱۶,۰۰۰ مخزن، داستان خود را دارد. اکثر برنامههای هوش مصنوعی، مونولیتهای (monoliths) خودکفا نیستند. آنها مجموعهای از موتورهای استنتاج، اسکریپتهای fine-tuning، بارگذاریکنندههای داده، بنچمارکهای ارزیابی و لایههای درایور هستند که هر کدام در مخزن خود با نگهدارندگان، تاریخچه کامیتها و پروفایلهای آسیبپذیری خاص خود زندگی میکنند.
Current AI این مجموعهداده را تحت مجوز MIT منتشر کرده و آن را کاملاً عمومی کرده است. هدف اصلی همین باز بودن است. هر کسی میتواند آن را دانلود کند، فایلهای YAML را تجزیه کند و ابزارهای جدیدی بر پایه آن بسازد. برای مدافعان، این دسترسی یک فرصت است. برای مهاجمان، به همان اندازه راحت است.
آنچه این نقشه واقعاً ردیابی میکند
اکثر سازمانهایی که از هوش مصنوعی استفاده میکنند، موجودی دقیقی از آنچه مستقر کردهاند ندارند. یک تیم ممکن است یک مدل زبانی را از یک هاب محبوب دانلود کند، چند بسته Python را برای اجرای آن نصب کند و کار را تمام شده بداند. اما در زیر آن گردش کار ساده، مجموعهای از وابستگیهای تو در تو قرار دارد. وزنهای مدل از یک مخزن میآیند. پیکربندی توکنایزر (tokenizer) از مخزن دیگری میآید. چارچوب استنتاج ممکن است نسخهای از (fork) یک پروژه سوم باشد. درایورهای CUDA و ایمیجهای کانتینر نیز از منابع بیشتری گرفته میشوند.
Gap Map این موضوع را با سازماندهی ۱,۱۸۴ فایل YAML خود حول محور ۴۲۱ محصول متمایز هوش مصنوعی پوشش میدهد. بیش از ۱۶,۰۰۰ مخزن GitHub که در اینجا نقشهبرداری شدهاند، نشاندهنده کدها، پیکربندیها و مصنوعات واقعی هستند که باعث عملکرد آن محصولات میشوند. با جدا کردن ورودیها به مدلها، مجموعهدادهها، ابزارهای نرمافزاری و سختافزار، این شاخص یک سوال اساسی را مطرح میکند: آیا میدانید سیستمهای شما واقعاً با کدام یک از این چهار لایه در تماس هستند؟
اگر در حال اجرای یک مدل زبانی بزرگ (LLM) متنباز در محیط عملیاتی هستید، احتمالاً با هر چهار مورد در تماس هستید. شما به وزنها و معماری مدل وابسته هستید. شما به مجموعهدادههای استفاده شده برای پیشآموزش (pre-training) یا تنظیم دقیق (fine-tuning) وابسته هستید، حتی اگر هرگز آنها را مستقیماً دانلود نکرده باشید. شما به ابزارهای نرمافزاری برای تبدیل، کوانتیزه کردن (quantize) یا سرو کردن مدل وابسته هستید. و اگر روی GPUها یا شتابدهندههای تخصصی اجرا میکنید، به پشتههای میانافزار (firmware) و درایور وابسته هستید که در دسته سختافزار قرار میگیرند.
شمشیر دو لبه امنیتی
این مجموعهداده به دو ارباب خدمت میکند و رهبران امنیتی باید هر دو جنبه را درک کنند.
در سمت دفاعی، Gap Map مانند یک دفترچه تلفن برای زنجیره تأمین هوش مصنوعی شما عمل میکند. شما میتوانید مخازن و ابزارهایی را که سازمانتان به آنها وابسته است با این شاخص مقایسه کنید و شکافهای موجود در دید خود را شناسایی کنید. اگر یک مخزن حیاتی در نقشه ظاهر شود اما در فهرست مواد نرمافزاری (SBOM) شما نباشد، احتمالاً یک زیرساخت هوش مصنوعی سایه (shadow AI) پیدا کردهاید. دانستن این موضوع قبل از اینکه یک مهاجم آن را برای شما پیدا کند، ارزشمند است.
در سمت تهاجمی، این مجموعهداده یک منبع طلایی برای شناسایی (reconnaissance) است. مهاجمان دائماً در جستجوی زیرساختهای هوش مصنوعی در معرض قرار گرفته، نقاط پایانی سرویس مدل (model serving endpoints) و وابستگیهای آسیبپذیر در خط لولههای محبوب یادگیری ماشین هستند. Gap Map به آنها فهرستی ساختاریافته و ماشینخوان از اهداف میدهد که دقیقاً بر اساس دستههای مورد علاقه آنها سازماندهی شده است. یک تجزیهکننده (parser) ساده YAML میتواند هزاران URL مخزن را استخراج کند و از آنجا یک مهاجم میتواند آسیبپذیریهای شناخته شده را با هم تطبیق دهد، به دنبال نمونههای عمومی با پیکربندی اشتباه بگردد یا اهداف با ارزش بالا را برای حملات اشتباه در وابستگی (dependency confusion) شناسایی کند.
از آنجایی که دادهها دارای مجوز MIT و عمومی هستند، هیچ مانعی برای ورود وجود ندارد. بدون نیاز به اشتراک یا فرآیند تأیید. این انتخاب طراحی، کاربرد را برای محققان و مدافعان به حداکثر میرساند، اما کاربرد را برای بازیگران تهدید نیز به حداکثر میرساند. همان فایلی که به شما کمک میکند پشته خود را مستحکم کنید، به شخص دیگری کمک میکند تا یک لیست هدف بسازد.
با این اطلاعات چه باید کرد
با این مجموعهداده دقیقاً همانگونه رفتار کنید که با یک فید اطلاعات تهدید (threat intelligence) رفتار میکنید. آن را علامتگذاری نکنید و فراموشش کنید. یک بررسی فعال در برابر محیط خود انجام دهید.
Start by pulling a list of every open-source AI component your teams currently use. Look beyond the obvious. Ask which repositories supply your tokenizers, your evaluation scripts, your quantization libraries, and your container base images. Then check those repositories against the 16,000 tracked in the Gap Map. If you find matches, you have confirmed that your dependencies live in one of the most prominently indexed corners of the open-source AI world. That prominence cuts both ways. It usually means active maintenance and community scrutiny, but it also means attackers know these repositories exist.
Next, look at the YAML structure itself. Each of the 1,184 files connects products to their underlying repositories in a standardized format. You can write a simple script to compare your dependency manifests, package lists, or SBOM exports against these mappings. If you discover that your production stack relies on repositories you had never heard of, dig deeper. Unknown dependencies are where supply chain attacks hide.
Pay special attention to the hardware layer. Security teams often focus on software and models while treating drivers and firmware as background noise. The Gap Map explicitly indexes hardware-related repositories, which should remind you that GPU driver stacks, compiler toolchains, and accelerator firmware are code too. They have bugs. They get updated. And when they are out of date, they can be the softest target in your pipeline.
Finally, use the
