Open-source AI превратился в разветвленную экосистему, где один продукт может использовать код из десятков репозиториев, полагаться на обучающие данные из множества источников и работать на специализированных конфигурациях оборудования, которые мало какие команды документируют полностью. Отслеживать эти зависимости сложно. Понимать, какие части этого стека открыты для интернета — еще сложнее. Выпуск Open Source AI Gap Map v0.1 от Current AI призван внести некоторый порядок в этот хаос, и командам по безопасности следует воспринимать этот документ как обязательное к прочтению чтиво.

Индекс каталогизирует 421 open-source AI продукт. Он разделяет их на четыре категории: модели ИИ, наборы данных (datasets), программные инструменты и оборудование. В основе всего проекта лежат 1 184 YAML-файла, которые отслеживают более 16 000 репозиториев GitHub. Этот разрыв между 421 продуктом и 16 000 репозиториями говорит сам за себя. Большинство приложений ИИ не являются самодостаточными монолитами. Они представляют собой сборки из движков инференса, скриптов дообучения (fine-tuning), загрузчиков данных, оценочных бенчмарков и уровней драйверов, каждый из которых живет в своем собственном репозитории со своими владельцами, историей коммитов и профилями уязвимостей.

Current AI опубликовала этот набор данных под лицензией MIT и сделала его полностью публичным. В этом и заключается смысл открытости. Любой может скачать его, проанализировать YAML и построить на его основе инструменты. Для защитников такая доступность — это возможность. Для атакующих — такая же удобная среда.

Что на самом деле отслеживает карта

Большинство организаций, использующих ИИ, не имеют четкого инвентарного списка того, что они развернули. Команда может скачать языковую модель с популярного хаба, установить несколько Python-пакетов для ее запуска и считать задачу выполненной. Но под этим простым рабочим процессом скрывается вложенный набор зависимостей. Веса модели берутся из одного репозитория. Конфигурация токенизатора — из другого. Фреймворк инференса может быть форком третьего проекта. Драйверы CUDA и образы контейнеров подтягиваются из еще большего количества источников.

Gap Map фиксирует это, организуя свои 1 184 YAML-файла вокруг 421 отдельного ИИ-продукта. Более 16 000 репозиториев GitHub, отображенных здесь, представляют собой реальный код, конфигурации и артефакты, которые обеспечивают работу этих продуктов. Разделяя записи на модели, наборы данных, программные инструменты и оборудование, индекс заставляет задать базовый вопрос: знаете ли вы, к каким из этих четырех уровней на самом деле прикасаются ваши системы?

Если вы запускаете open-source LLM в промышленной эксплуатации (production), вы, скорее всего, задействуете все четыре уровня. Вы зависите от весов и архитектуры модели. Вы зависите от наборов данных, использованных для предварительного обучения или дообучения, даже если вы никогда не скачивали их напрямую. Вы зависите от программных инструментов для конвертации, квантования или обслуживания (serving) модели. А если вы работаете на GPU или специализированных ускорителях, вы зависите от прошивок и стеков драйверов, которые относятся к категории оборудования.

Обоюдоострый меч безопасности

Этот набор данных служит двум господам, и руководителям служб безопасности необходимо понимать обе стороны.

Со стороны защиты Gap Map функционирует как телефонная книга для вашей цепочки поставок ИИ. Вы можете сравнить репозитории и инструменты, от которых зависит ваша организация, с этим индексом и выявить пробелы в вашей видимости. Если критически важный репозиторий появляется на карте, но отсутствует в вашей спецификации программного обеспечения (SBOM), вы, вероятно, обнаружили теневую ИИ-инфраструктуру. Об этом стоит узнать до того, как ее найдет противник.

Со стороны нападения этот набор данных — золотая жила для разведки. Атакующие постоянно сканируют открытую ИИ-инфраструктуру, эндпоинты обслуживания моделей и уязвимые зависимости в популярных ML-конвейерах (pipelines). Gap Map предоставляет им машиночитаемый структурированный список целей, организованный именно по тем категориям, которые их интересуют. Один лишь YAML-парсер может извлечь тысячи URL-адресов репозиториев, и на основе этого атакующий может сопоставить их с известными уязвимостями, искать неправильно настроенные публичные экземпляры или выявлять высокоценные цели для атак типа dependency confusion (подмена зависимостей).

Поскольку данные распространяются под лицензией MIT и являются публичными, барьера для входа нет. Никаких подписок, никаких процессов одобрения. Такой выбор дизайна максимизирует полезность для исследователей и защитников, но он также максимизирует полезность для злоумышленников. Тот же самый файл, который помогает вам укрепить ваш стек, помогает кому-то другому составить список целей.

Что делать с этой информацией

Относитесь к этому набору данных точно так же, как к фиду данных об угрозах (threat intelligence). Не добавляйте его в закладки, чтобы потом забыть. Проведите активную проверку вашей среды.

Начните с составления списка всех компонентов ИИ с открытым исходным кодом, которые ваши команды используют в настоящее время. Смотрите шире очевидного. Уточните, какие репозитории предоставляют ваши токенизаторы, скрипты оценки, библиотеки квантования и базовые образы контейнеров. Затем сверьте эти репозитории с 16 000, отслеживаемыми в Gap Map. Если вы найдете совпадения, это подтвердит, что ваши зависимости находятся в одном из наиболее заметных и индексируемых уголков мира ИИ с открытым исходным кодом. Такая известность — палка о двух концах. Обычно это означает активную поддержку и пристальное внимание сообщества, но это также означает, что злоумышленники знают о существовании этих репозиториев.

Далее изучите саму структуру YAML. Каждый из 1 184 файлов связывает продукты с их базовыми репозиториями в стандартизированном формате. Вы можете написать простой скрипт для сравнения ваших манифестов зависимостей, списков пакетов или экспортов SBOM с этими сопоставлениями. Если вы обнаружите, что ваш производственный стек опирается на репозитории, о которых вы никогда не слышали, копните глубже. Именно в неизвестных зависимостях скрываются атаки на цепочку поставок.

Уделите особое внимание аппаратному уровню. Команды безопасности часто сосредотачиваются на программном обеспечении и моделях, относясь к драйверам и прошивкам как к фоновому шуму. Gap Map явно индексирует репозитории, связанные с оборудованием, что должно напомнить вам: стеки драйверов GPU, наборы инструментов компилятора и прошивки ускорителей — это тоже код. В них есть ошибки. Они обновляются. И когда они устаревают, они могут стать самой легкой мишенью в вашем конвейере.

Наконец, используйте...