Как это остаётся незамеченным
Ваш агент устанавливает зависимость. В манифесте пакета также указан скрипт, запускаемый во время установки. То, что выглядит как настройка, может включать выполнение кода, заслуживающего отдельной проверки.
Проект может использовать хуки установки для совершенно обычных шагов сборки. Он также может содержать неожиданную команду. Важно то, что скрипт находится в манифесте, где его легко пропустить, проверяя только команду установки верхнего уровня.
Что обнаруживает ClawMetry
ClawMetry сканирует манифест пакетов рабочего пространства на наличие поддерживаемых lifecycle-хуков установки. При обнаружении хука создаётся предупреждение о выполнении из манифеста пакета с указанием хука. Сканер читает файл, но не выполняет найденную команду.
Различие, меняющее результат
Пример срабатывания
postinstall: node build.js
Предупреждающее предупреждение
Тихое сравнение
test: node build.js
Для этого детектора нет находки.
В проверяемом примере скрипт postinstall, указывающий на программу сборки, создаёт предупреждение. Та же программа под обычным скриптом test не активирует этот детектор. Различие в том, когда манифест указывает на запуск программы.
Изучить результат детектора
{
"kind": "package_manifest_exec",
"severity": "warning",
"evidence": {
"hooks": [
"postinstall"
],
"hits": [
{
"hook": "postinstall",
"command": "node build.js",
"tool": null,
"alarm": null
}
],
"manifest": "package.json",
"tools": [],
"observed": "package_manifest"
}
}Скачать входные данные и полные результаты (JSON)Как проверялся пример
Эти примеры оценивают опубликованный детектор с авторскими данными событий или одноразовыми файлами конфигурации. Видео иллюстрируют это поведение. Они не являются записями живых агентов или интерфейса продукта. Ни одна команда в примерах не была выполнена.
Результат устанавливает поведение для этих входных данных. Он не устанавливает приём в реальном времени, предотвращение или реальную компрометацию. Изучить закреплённый исходный контракт.
Что проверить дальше
Прочитайте команду хука и программу, на которую она ссылается. Проверьте, соответствует ли такое поведение при установке проекту и является ли источник зависимости доверенным. Если установка уже произошла, отдельно проверьте фактические последствия, прежде чем принимать среду.
- Изучите lifecycle-хук
- Проверьте указанную программу
- Оцените ожидаемое поведение при установке
Что устанавливает этот сигнал
Хук установки не является автоматически враждебным. Это предупреждение сообщает о записи в манифесте, а не доказывает факт установки или выполнения.