
На этой неделе в мире open-source произошёл инцидент, который выглядит почти как сюжет из сатирического шоу про Кремниевую долину. В популярном проекте LiteLLM обнаружили вредоносный код, который крал учётные данные пользователей. Проект, напомню, используется разработчиками для удобного доступа к сотням ИИ-моделей и управления расходами на них. По данным компании Snyk, LiteLLM скачивали до 3,4 миллиона раз в день. На GitHub у проекта 40 тысяч звёзд и тысячи форков.
Вредоносный код проник не напрямую в основной репозиторий, а через заражённую зависимость, то есть стороннюю open-source библиотеку, от которой LiteLLM зависел. Это классический вектор атаки на цепочку поставок (supply chain attack). Попав в систему, малварь собирала логины и пароли от всего, к чему получала доступ. С помощью украденных учётных данных она могла добраться до других пакетов и аккаунтов, расширяя масштаб заражения.
Обнаружил проблему исследователь Каллум МакМахон из компании FutureSearch. Что забавно, его машина просто упала после загрузки LiteLLM. Именно этот сбой и заставил его копать глубже. Оказалось, что в самом вредоносном коде была ошибка, которая и вызвала крах системы. И МакМахон, и известный ИИ-исследователь Андрей Карпати пришли к выводу, что малварь, вероятно, была “vibe coded”, то есть написана небрежно, возможно с помощью генеративного ИИ без должной проверки.
Отдельная история, которая активно обсуждается в сообществе: на момент инцидента LiteLLM гордо демонстрировал на сайте прохождение двух серьёзных сертификаций по безопасности, SOC2 и ISO 27001. Проблема в том, что эти сертификаты были получены через стартап Delve, тоже выпускник Y Combinator. Delve уже обвиняли в том, что компания вводит клиентов в заблуждение относительно реального уровня соответствия, якобы генерируя поддельные данные и используя аудиторов, которые подписывают отчёты формально. Delve эти обвинения отрицает.
Стоит понимать нюанс: подобные сертификаты подтверждают наличие у компании политик безопасности, но не гарантируют защиту от любых атак. SOC 2 должен покрывать политики работы с зависимостями, и всё же малварь может проскочить. Тем не менее, как заметил инженер Гергей Орос в соцсетях: “О, я думал, это шутка. Но нет, LiteLLM действительно был Secured by Delve”.
Команда LiteLLM работала без остановки всю неделю. Хорошая новость: LiteLLM взлом удалось обнаружить относительно быстро, вероятно в течение нескольких часов. CEO проекта Кришш Дхолакия сообщил, что к расследованию привлечена Mandiant, одна из ведущих компаний в области киберкриминалистики. По его словам, после завершения анализа команда планирует поделиться техническими выводами с сообществом разработчиков.
Этот случай наглядно показывает, насколько уязвимы даже крупные open-source проекты перед атаками на цепочку поставок. Если вы строите продукты на базе ИИ-инструментов и зависите от множества внешних библиотек, стоит задуматься о том, как организован контроль зависимостей в вашем проекте. Компания Фабио Де Лука при разработке ИИ-автоматизаций уделяет особое внимание безопасности интеграций, что позволяет минимизировать подобные риски для клиентов.
Инцидент с LiteLLM ещё раз подтверждает простую вещь: сертификаты на бумаге и реальная безопасность, это не всегда одно и то же. А доверять, но проверять нужно не только людей, но и каждую строчку кода в ваших зависимостях.