Безопасность AI-проектов в ВКР: разбор инцидента LiteLLM и применимые модели защиты

Поддомен: Cybersecurity × AI/ML. Роль автора: специалист по информационной безопасности.

Введение

В марте 2026 года в LiteLLM — открытом проекте-роутере для LLM, которым пользуются миллионы разработчиков, — обнаружили вредоносное ПО класса credential harvesting. Отдельного внимания заслуживает тот факт, что аудит соответствия (compliance) для проекта проводила компания Delve: то есть формально «безопасность была подтверждена», а вредонос всё равно проник в дистрибутив. Что это значит для выпускника ИТ-специальности? Ровно одно: классическая модель «прошли пентест один раз — успокоились» больше не работает. Для дипломной работы это готовый, свежий и очень «защищаемый» кейс — от него удобно отталкиваться, строя модели защиты цепочки поставок ПО (software supply chain), метрики контроля зависимостей и методики оценки риска для AI-пайплайнов. Ниже — как превратить эту новость в структуру, задачи и воспроизводимые артефакты ВКР, а не в пересказ пресс-релиза.

Частые вопросы студентов по этому кейсу

Можно ли строить ВКР на одном инциденте, или это «мало данных»?

Один инцидент — это не тема, а триггер. ВКР требует системы: берите LiteLLM как базовый кейс, но дополняйте его другими supply chain-атаками последних лет (event-stream, ua-parser-js, xz-utils). Тогда у вас появляется выборка для сравнительного анализа, а это уже научная новизна, а не эссе.

Какие метрики считать, если инцидент уже случился и данные «не мои»?

Стройте модель угроз и считайте профилактические метрики: MTTR обнаружения уязвимой зависимости, покрытие SBOM, количество зависимостей без подписи (Sigstore/cosign), доля пакетов вне policy allow-list. Это числовые показатели, которые легко оформить в главе 3 с формулами и графиками.

Как связать ИБ и AI, чтобы не получилось «ни то, ни другое»?

Через OWASP LLM Top 10 и ISO/IEC 25010 (подхарактеристики Security и Maintainability). AI-специфика — это vector-сторы, промпт-инъекции, утечка API-ключей к провайдерам; классическая ИБ — это CI/CD, права, секреты. Пересечение — ваша ниша.

Нужно ли писать свой эксплойт для демонстрации?

Нет. Достаточно воспроизводимого стенда: локальный LiteLLM в Kubernetes, подмена зависимости на «грязную» версию в закрытом тестовом реестре, детект через Trivy + Falco. Это честная практическая часть, не требующая вредоносного кода.

Темы ВКР, которые реально защитить (карточки)

Как встроить кейс LiteLLM в три главы ВКР

Глава 1. Аналитическая часть: где живёт угроза

Не пересказывайте новость — стройте таксономию. Опишите цепочку: контрибьютор → зависимость → CI-сборка → публикация артефакта → развёртывание у пользователя. Для каждой стадии укажите класс атак и контрмеры. Удобная диаграмма — C4-контейнер: сам LiteLLM, его зависимости, хранилище секретов, внешние LLM-провайдеры. Рядом — таблица «угроза → источник (OWASP LLM Top 10 / MITRE ATT&CK) → контроль». Именно это делает глава 1 защищаемой: видно, что вы работали с признанными стандартами, а не с блог-постами.

Глава 2. Проектирование: политики и pipeline

Здесь вы проектируете механизм. Пример минимального policy-скрипта для CI, который блокирует сборку при несоответствии требованиям доверия к зависимостям:

# policy/check-supply-chain.py
import json, sys, subprocess

ALLOWED_UNSIGNED = 0          # запрещаем любые неподписанные артефакты
REQUIRED_SLSA    = "SLSA_BUILD_LEVEL_3"

def scan(image: str):
    result = subprocess.run(
        ["trivy", "image", "--format", "json", image],
        capture_output=True, text=True, check=True
    )
    report = json.loads(result.stdout)
    critical = [v for v in report.get("Results", [])
                for v in v.get("Vulnerabilities", [])
                if v["Severity"] == "CRITICAL"]
    return critical

def verify_signature(artifact: str) -> bool:
    r = subprocess.run(["cosign", "verify", artifact],
                       capture_output=True, text=True)
    return r.returncode == 0

if __name__ == "__main__":
    target = sys.argv[1]
    critical = scan(target)
    if critical or not verify_signature(target):
        print("BLOCKED:", target)
        sys.exit(1)
    print("OK:", target)

Такая заготовка отлично защищается: её можно запустить на защите, показать вывод и объяснить, почему правило ALLOWED_UNSIGNED = 0 — не паранойя, а прямая реакция на инцидент с LiteLLM.

Глава 3. Эксперимент и метрики

Ниже — набор показателей, который вы будете представлять на защите. Считайте их до и после внедрения политик, тогда получите честный «эффект»:

МетрикаФормула / источникЧто доказывает
Покрытие SBOM(сервисы с SBOM / всего сервисов) × 100%Прозрачность зависимостей
MTTD уязвимой зависимостиΣ(tdetect − tpublish) / NСкорость реакции на CVE
Доля подписанных артефактовsigned / total × 100%Целостность сборки
Critical findings до/послеTrivy scan diffПрактический эффект политик
Ложноположительные срабатыванияFP / (FP + TP)Приемлемость для эксплуатации

Практические выводы: чему вы научитесь

Чек-лист перед сдачей
  • Все задачи из введения отражены в выводах по главам и в заключении.
  • Для каждого рисунка — подпись по ГОСТ и ссылка в тексте («см. рисунок 3»).
  • SBOM, конфиги и скрипты вынесены в приложения.
  • Метрики посчитаны с формулами и исходными данными, а не «на глаз».
  • Ссылки на источники (включая TechCrunch и OWASP) оформлены по ГОСТ Р 7.0.5.
  • Проверен порог уникальности и отсутствие прямых цитат без ссылок.
  • Термины (SBOM, Sigstore, SLSA) расшифрованы при первом упоминании.
Типичные ошибки студентов
  1. Пересказ новости вместо анализа. Если в главе 1 у вас только «LiteLLM взломали в марте 2026» — научной ценности ноль. Добавьте систематизацию и сравнительную таблицу с другими инцидентами.
  2. Отсутствие метрик. Фраза «разработана методика защиты» без числа покрытия SBOM или MTTD разваливается на первом же вопросе комиссии. Считайте, пожалуйста.
  3. Игнорирование compliance-контекста. Именно то, что аудит проводила Delve, а малварь всё равно проникла — ключевая мысль кейса. Используйте её как аргумент о разнице между «соответствием» и «защищённостью».
Есть тема, но не хватает времени на реализацию или расчёты? Мы сопровождаем студентов на всех этапах — от формулировки задач до оформления приложений. Первая консультация бесплатна; при необходимости берём на себя до 120 часов работы по теме. Помогаем с любыми направлениями — от AI/ML до ИБ и DevOps.
Материал подготовлен экспертами компании SiteName. Мы помогаем студентам с 2010 года. Если вам нужна помощь в разработке темы или оформлении работы, наши специалисты готовы подсказать — от выбора стека до соответствия требованиям нормоконтроля. Хотите заказать диплом с сопровождением по ИБ или AI-направлению — оставьте заявку и обсудим детали без обязательств.
Последнее обновление: 2026-09-26

Источник: Delve did the security compliance on LiteLLM, an AI project hit by malware (опубликовано 2026-03-26)