Анализ спам-кампании IndonesianFoods для ВКР: защита цепочки поставок NPM
В середине ноября 2025 года исследователь Пол Маккарти обнаружил в реестре NPM десятки тысяч пакетов, названных в честь индонезийских блюд — баксо, сате, ренданг. Эти пакеты не выполняли полезных функций, но активно тянули за собой зависимости и даже самореплицировались. Кампания IndonesianFoods стала ярким примером атаки на цепочку поставок открытого кода. Для студентов ИТ-направлений этот кейс — готовый материал для дипломной работы, ведь он демонстрирует реальные риски, которые необходимо учитывать при проектировании безопасных программных систем.
Почему IndonesianFoods стоит разобрать в дипломе
Атака показала, что даже «безобидный» спам в пакетном менеджере может спровоцировать серьёзные проблемы: засорение кодовой базы, репутационные риски и потенциальное превращение мусорных пакетов в вектор поставки вредоносного кода. Если ваша ВКР связана с разработкой, безопасностью или архитектурой ПО, тема NPM-экосистемы даёт богатый материал для аналитики, проектирования и экспериментов.
Темы ВКР на основе кейса
1. Анализ и автоматизация обнаружения спам-пакетов в реестре NPM
Актуальность: После IndonesianFoods стало очевидно: ручная модерация и базовые правила публикации не спасают от «мусорных» пакетов. Нужны автоматические методы выявления аномалий.
Цель: разработать инструмент для выявления спам-пакетов в NPM на основе их метаданных и зависимостей.
Задачи:
- исследовать структуру спам-пакетов IndonesianFoods (README, зависимости, паттерны публикации);
- сформировать набор признаков (критериев) для классификации пакетов;
- реализовать скрипт/сервис для сбора метаданных и анализа пакетов;
- оценить точность предложенного метода на реальном наборе данных из NPM.
Возможная структура: глава 1 — обзор атак на пакетные менеджеры; глава 2 — проектирование и реализация анализатора; глава 3 — тестирование на выборке пакетов и расчёт метрик качества.
2. Безопасность цепочки поставок в CI/CD-пайплайне
Актуальность: IndonesianFoods публиковала пакеты через механизм саморепликации. Если такой механизм попадёт в CI/CD — последствия будут катастрофическими. Нужно проектировать безопасные пайплайны.
Цель: спроектировать конвейер непрерывной интеграции с встроенными проверками целостности зависимостей.
Задачи:
- проанализировать уязвимости стандартных CI/CD процессов при подключении npm-зависимостей;
- выбрать инструменты сканирования уязвимостей (npm audit, Snyk, Endor Labs);
- разработать архитектуру пайплайна с автоматической блокировкой при подозрительных пакетах;
- провести сравнительное тестирование производительности конвейера.
Структура: глава 1 — нормативная база (ГОСТ 34.602-89, ISO/IEC 25010) и анализ рисков; глава 2 — проектирование пайплайна на Kubernetes с использованием контейнерных проверок; глава 3 — нагрузочное тестирование и оценка RTO/RPO.
3. Проектирование защищённого корпоративного реестра npm-пакетов
Актуальность: Компании могут избежать «мусора» из публичного реестра, используя собственный прокси-сервер с белым списком. Это направление отлично подходит для дипломного проектирования.
Цель: создать архитектуру корпоративного реестра, блокирующего нежелательные пакеты.
Задачи:
- изучить подходы к проксированию npm-трафика (Verdaccio, Nexus Repository, приватные registry);
- разработать схему фильтрации по метаданным и поведенческим признакам;
- интегрировать реестр с существующей инфраструктурой (Kubernetes, OpenTelemetry для мониторинга);
- подготовить тестовый стенд и провести проверку на пакетах IndonesianFoods.
Как применить статью в разделах диплома
Аналитическая глава: сравнение решений и обоснование стека
В аналитической части диплома можно разобрать, почему IndonesianFoods оставалась незамеченной почти два года. Используйте таблицу для сравнения существующих систем безопасности реестров:
| Подход | Что обнаруживает | Недостатки |
|---|---|---|
| Ручная модерация | Очевидный спам | Невозможно масштабировать |
| Базовый статический анализ | Наличие вредоносных строк | Пропускает «скрытые» зависимости |
| Поведенческий анализ | Аномалии публикации | Требует сбора данных с реестра |
| Машинное обучение | Косвенные признаки спама | Нужен набор размеченных данных |
В этом разделе вы можете обосновать выбор метода, ссылаясь на характеристики именно IndonesianFoods: «легитимно выглядящие» README, случайные названия, большое количество зависимостей.
Проектная часть: схемы, алгоритмы, интеграция
Опишите архитектуру решения. Например, для анализатора спама может подойти конвейер:
npm-пакет → парсер метаданных → проверка README → анализ зависимостей → оценка аномальности → вердикт
Важно показать, как компоненты интегрируются в существующую инфраструктуру. Если вы проектируете защищённый CI/CD, добавьте в схему сканер зависимостей, работающий на уровне Kubernetes admission controller. Это можно увязать с требованиями ГОСТ 34.602-89 к оформлению технического задания.
Тестирование и метрики
Спам-кампания IndonesianFoods — готовый источник данных для тестирования. Вы можете собрать сведения о 86 000 пакетах и прогнать через свой алгоритм. Метрики для оценки: точность (precision), полнота (recall), F1-мера, время анализа одного пакета. Для инженерных дипломов добавьте нагрузочное тестирование: например, сколько пакетов в минуту способен обработать ваш анализатор. Для реестра — RTO и RPO при атаке. Всё это укладывается в стандарт ISO/IEC 25010, который требует оценивать не только функциональность, но и производительность, переносимость и безопасность.
Чему вы научитесь, взяв эту тему
- Свободно ориентироваться в экосистеме NPM и её подводных камнях.
- Проектировать защищённые конвейеры разработки с учётом реальных угроз.
- Обосновывать выбор архитектурных решений и инструментов с привязкой к стандартам.
- Готовить схемы и диаграммы, которые требуют на защите — от UML-диаграмм до моделирования угроз.
- Оценивать эффективность своей работы через метрики, а не слова.
Типичные ошибки студентов в работах по безопасности ПО
Ошибка 1. Подмена понятий: «спам-пакет» называют вирусом или трояном. Избегайте этого, чётко определяйте термины в разделе «понятийный аппарат».
Ошибка 2. Отсутствие метрик эффективности. Если вы предлагаете решение, обязательно измерьте его качества: долю заблокированных пакетов, время работы, количество ложных срабатываний. Иначе руководитель задаст вопрос «а почему это работает?»
Ошибка 3. Игнорирование требований ГОСТ 34.602-89 при оформлении ТЗ. Даже если ваш вуз этого не требует, ссылка на стандарт усилит работу и покажет ваш уровень профессионализма. Особенно это важно для дипломов по направлению «Проектирование АСУ».
Часто задаваемые вопросы
Сложно ли реализовать анализатор спам-пакетов без опыта в машинном обучении?
Вовсе нет. Для начала можно использовать правила на основе метаданных: количество зависимостей, отсутствие кода, дата публикации, странная символика в имени. Отличная тема для бакалаврской ВКР. Машинное обучение добавите позже, если захотите улучшить результат.
Если в моём вузе нет требований к написанию кода в ВКР, можно ли обойтись только проектированием?
Да. Спроектируйте архитектуру, опишите алгоритмы блок-схемами, смоделируйте угрозы. Как правило, для технических специальностей достаточно проекта и прототипа интерфейса (или его схемы). Но обязательно уточните требования у научного руководителя.
Где взять данные для тестирования?
Используйте открытые данные NPM через реестр и API. Пакеты IndonesianFoods частично удалены, но реестр содержит метаданные уже даже удалённых пакетов. Можно также взять последние версии пакетов, помеченных как спам, с GitHub-архивов исследователей.
Как оформить диаграммы, чтобы их приняли на защите?
Используйте UML для описания сценариев использования (use case), диаграммы компонентов и развёртывания. Для бизнес-процессов — BPMN. Подписи под схемами обязательны: «Рисунок 1 — Архитектура защищённого реестра». Не перегружайте рисунки избыточными деталями.
Чек-лист перед сдачей диплома
- Проверить соответствие поставленных задач и полученных результатов.
- Указать источник в списке литературы: Касперский. «Спам-кампания IndonesianFoods» (со ссылкой на сайт).
- Вставить схемы архитектуры и алгоритмов, подписать их.
- Добавить сравнение с аналогами в аналитической главе.
- Прописать конкретные метрики/показатели эффективности.
- Проверить оформление по ГОСТ 34.602-89, если это требуется в вашем вузе.
- Прогнать текст через антиплагиат и снизить цитируемость до нормы.
Ищете, как написать ВКР быстро и без лишнего стресса? Наши эксперты берут на себя все этапы: от анализа требований до сдачи на проверку. Помощь с дипломом любой сложности — бесплатная консультация по вашей задаче. Погружение в проект до 120 часов, прозрачный процесс и гарантии. Закажите диплом с сопровождением — и получите время на подготовку к защите.
Источник: Спам-кампания IndonesianFoods: 86 тысяч мусорных пакетов в NPM (опубликовано 2026-03-18)
```