
Уязвимости зависимостей проверяют и в небольшой правке ИИ-агента
Что CTO принимает вместе с новой библиотекой: состав пакетов, проверку версий и решение инженера по находкам.
Что CTO принимает вместе с новой библиотекой: состав пакетов, проверку версий и решение инженера по находкам.
Текст подготовлен машиной агентов под надзором инженера vibecoding.ru · факты проверены 8 октября 2026
Если ИИ-агент добавил библиотеку в небольшую правку, её версию и вложенные зависимости проверяют до приёмки. Работающая кнопка ещё не отвечает на вопрос, какой сторонний код приехал вместе с ней.
На vibecoding.ru инженер ведёт машину агентов и принимает её работу. Опубликованного собственного случая CVE в библиотеке и клиентского кейса у нас нет; покажем, что CTO может потребовать от команды уже в следующей задаче.
Не хотите разбираться сами? Внедряем ИИ в ваш бизнес: задачи без лимита, одна цена в месяц, отмена в любой момент.
1. Новая библиотека меняет состав проекта, даже если функция маленькая.
Зависимостью называют готовую библиотеку, которую использует ваш код. Она может подключать другие пакеты; эти косвенные зависимости тоже попадают в проект.
Представим задачу «добавить выгрузку отчёта». Агент подключил библиотеку для экспорта, а вместе с ней установились её пакеты. Это учебный пример: работа выгрузки и состав установки проверяются отдельно.
Первый вопрос к сдаче звучит так: что добавилось и зачем? Этот пункт стоит записать в критерий готовой задачи, чтобы список пакетов появился вместе с правкой.
Состав пакетов входит в сдачу функции.
GitHub Dependency Review, проверено 08.10.2026. Критерий сдачи сформулирован редакцией.
2. Уязвимость относится к версии и условиям её использования.
Запись CVE описывает известную уязвимость. Сканер сопоставляет пакеты и версии вашего проекта с такими записями; для CTO это сигнал разобрать находку, а не сообщение о состоявшемся взломе.
Например, у npm-пакета lodash есть CVE-2021-23337. В GitHub Advisory Database затронутыми названы версии ниже 4.17.21; версия 4.17.21 исправляет эту находку. Первоисточник проверен 8 октября 2026.
В описании указан путь через функцию template. Инженер проверяет её использование и условия входа в вашем коде. Фраза «мы этой функцией не пользуемся» требует подтверждения, как и решение обновить пакет.
Версия из lock-файла определяет, затронут ли lodash.
GitHub Advisory Database, GHSA-35jh-r3h4-6jhm; проверено 08.10.2026. Диапазон относится к npm-пакету lodash.
3. Тесты функции и сканирование пакетов отвечают на разные вопросы.
Тест выгрузки проверяет, получился ли нужный отчёт. Сканер зависимостей ищет известные дефекты пакетов. Зелёный результат одного не заменяет результат другого.
Проверка своего кода разбирает, как обработаны входные данные и права доступа. Галлюцинация API тоже проверяется иначе: существует ли метод и работает ли вызов. Эти ошибки можно получить с библиотекой, у которой сканер ничего не нашёл.
В документации npm прямо указано, что audit не проверяет peerDependencies. Значит, CTO нужен ответ об охвате выбранного инструмента, а не общее «мы прогнали аудит». Для проекта на другом менеджере пакетов выбирают его проверку.
Чистый скан пакетов не заменяет тест функции.
npm Docs и GitHub Docs, проверено 08.10.2026. Разделение задач проверки сформулировано редакцией.
Проверку новых пакетов ставят перед слиянием. GitHub Dependency Review показывает изменения прямых и косвенных зависимостей. При известной уязвимости action по умолчанию падает, а обязательная проверка останавливает слияние.
Само уведомление Dependabot не делает такую проверку обязательной. В закрытом репозитории доступность Dependency Review зависит от подключения GitHub Code Security или Advanced Security; это проверяют до выбора инструмента.
Отчёт должен относиться к сдаваемому коммиту. Если сервис проверки не ответил, у команды нет результата. Флаг pnpm, который разрешает успешный выход при ошибке реестра, для этой приёмки скрывает нужный сигнал.
После слияния новые находки возвращаются к инженеру.
GitHub Docs, Dependency Review и Dependabot alerts; pnpm audit. Проверено 08.10.2026.
4. Наши поломки научили проверять каждый класс сбоев отдельно.
Наши истории здесь про установку и сборку. Они не доказывают, что мы поймали CVE: библиотечной уязвимости в них не было.
Сбой зависимости способен сломать и сам отчёт об ошибке. В сентябрьском случае запись результата проходила через ту же неработающую команду, поэтому таблица прогонов не показала провал.
Урок для CTO: зелёная проверка полезна, когда понятно, какую поломку она ловит. Название «всё проверили» не заменяет отдельного результата по новым пакетам.
Каждая поломка закончилась отдельным правилом.
05.09
Чтение файла по переменному пути заставляло сборку захватывать лишнюю часть проекта; выпуск падал при прежних зелёных проверках. Правило: путь чтения задаёт границы, отдельная проверка следит за результатом сборки.
17.09
Разобрали пропущенный замер 15 сентября. Постоянный сборщик потерял пакеты после удаления временной рабочей папки. Правило: зависимости постоянного автомата не должны ссылаться во временную папку задачи.
Записи машины vibecoding.ru и появившиеся проверки; сверено по оригиналам 08.10.2026. Это ошибки сборки и установки, не CVE.
Результат сканера тоже должен быть читаемым. «Проверено» без даты, коммита и охвата не позволяет понять, что именно приняли.
Если пакет обновили, после обновления нужна проверка функции. Старая версия с известной дырой и новая с несовместимым поведением требуют разных решений; обновление не должно создавать новый технический долг.
На публичной странице машины мы показываем роль инженера: он пишет правила заранее и принимает работу по факту. Решение по риску нового пакета тоже остаётся у принимающего инженера.
5. Подрядчик сдаёт пакеты вместе с кодом и решением по находкам.
Правило для агента должно задавать условие добавления пакета. Например, сперва объяснить его необходимость, проверить имеющуюся библиотеку и приложить результат сканирования выбранной версии. Это часть правил работы агентов.
Агент может подготовить обновление и повторный отчёт. Кто принимает изменение и риск, задаётся в ролях команды разработки; автор правки не должен сам снимать запрет, который остановил её сдачу.
Если находку решили временно допустить, решение сохраняют рядом с задачей. В нём нужны причина применимости или неприменимости, ответственный и дата пересмотра. Без них исключение останется навсегда.
Подрядчик сдаёт состав, отчёт и решение по находкам.
Редакционный критерий сдачи на основе GitHub Dependency Review, Dependabot alerts и документации пакетных менеджеров; источники проверены 08.10.2026.
Сначала этот порядок можно применить к одной реальной задаче вашей команды. Добавленный пакет, его версии и отчёт должны быть видны в вашем репозитории; результат не зависит от того, кто набрал код.
Если вести такую приёмку некому, на подписке на разработку тариф «Один проект» стоит 250 000 ₽ в месяц на 8 октября 2026. Проверку добавленных пакетов и версий стоит включить в сдачу задач клиентского репозитория до начала работы.
Обсудить такую постановку можно через следующий шаг для руководителя. Сейчас этот адрес ведёт на страницу услуг.
6. После сдачи пакет остаётся под наблюдением.
Новая запись об уязвимости может появиться после выпуска. Dependabot alerts реагирует на обновление базы advisories и на изменение графа зависимостей. Вчерашний отчёт подтверждает вчерашнюю проверку.
При уведомлении инженер возвращается к установленной версии и условиям использования. После обновления он снова проверяет пакеты и функцию; так находка заканчивается проверенным изменением.
Проверка зависимостей становится частью работы команды, когда у уведомления есть адресат. Сканер без человека, который разбирает результат, оставляет CTO список сигналов вместо принятого решения.
Что и как мы проверяли
| Факт | Что известно | Проверено |
|---|---|---|
| Механика проверки | Открыли официальные страницы GitHub Dependency Review и Dependabot alerts, npm audit и pnpm audit. Разделили проверку состава до слияния и уведомления о новых уязвимостях после него. | 2026-10-08 |
| Пример lodash | Первичный реестр GitHub Advisory Database, CVE-2021-23337, GHSA-35jh-r3h4-6jhm: npm-пакет lodash ниже 4.17.21 затронут, 4.17.21 исправляет эту находку. Условия эксплуатации в вашем приложении отдельно проверяет инженер. | 2026-10-08 |
| Истории машины | Поломки установки и сборки сверены по исходным записям 5 и 17 сентября 2026 и появившимся проверкам. Это не случаи CVE. Опубликованного собственного библиотечного CVE-кейса и клиентского кейса нет. | 2026-10-08 |
| Живой тариф | На /services тариф «Один проект» стоит 250 000 ₽ в месяц. На /open сверена роль инженера. Снимки публичных экранов сделаны 8 октября 2026; проверка пакетов в сдаче предложена как условие задачи, не как обещание полного security-аудита. | 2026-10-08 |
7. Частые вопросы
Нужно ли проверять библиотеку, если агент добавил её ради маленькой функции?+
Да. Приёмка зависит от нового состава пакетов, а не от размера кнопки или формы. Проверяются версия и косвенные зависимости.
Есть CVE, значит приложение уже взломали?+
Нет. Запись описывает уязвимость пакета. Инженер устанавливает, затронута ли версия и присутствуют ли условия использования, нужные для её эксплуатации.
Что делать, если исправленной версии нет?+
Рассмотреть замену или отказ от пакета, ограничить затронутый сценарий либо записать временное решение о риске. Результат разбирает принимающий инженер, агент готовит варианты.
Можно ли исключить зависимости разработки?+
Только после разбора, где они запускаются и к чему имеют доступ. Отсутствие пакета в боевом приложении не исключает риска на этапе установки, тестов или сборки.
Достаточно ли обновить всё автоматически?+
Нет. Обновление меняет дерево пакетов и иногда поведение функции. После него нужны новый отчёт и проверки совместимости.
Чистый отчёт означает, что пакет безопасен?+
Он означает, что инструмент не нашёл известных ему проблем в проверенном составе. Неизвестные уязвимости, ошибки собственного кода и неверные API-вызовы проверяются другими способами.
Источники
- GitHub Docs, Dependency Review. Проверено 08.10.2026 — официальная документация
- GitHub Docs, Dependabot alerts. Проверено 08.10.2026 — официальная документация
- npm Docs, аудит зависимостей. Проверено 08.10.2026 — официальная документация
- pnpm, audit. Проверено 08.10.2026 — официальная документация
- GitHub Advisory Database, lodash, CVE-2021-23337. Проверено 08.10.2026 — первичный реестр уязвимостей
- vibecoding.ru, открытая машина и роль инженера. Снимок 08.10.2026 — наш опыт
- vibecoding.ru, тарифы разработки. Снимок 08.10.2026 — наше предложение
Собственные истории установки и сборки сверены по исходным записям машины 08.10.2026. Это опыт установки и сборки.
Запомнить
1. Новый пакет входит в сдачу задачи: сохраните его назначение и точные версии.
2. Сканирование зависимостей дополняет тесты функции: запросите оба результата.
3. Находку разбирает инженер: у решения должны остаться причина и ответственный.
4. После исправления проверка повторяется: обновление должно сохранить функцию.
5. После выпуска наблюдение продолжается: назначьте адресата новых уведомлений.