Як це залишається непоміченим
Ваш агент встановлює залежність. Маніфест пакету також вказує скрипт, що виконується під час встановлення. Те, що виглядає як налаштування, може містити виконання коду, що заслуговує окремої перевірки.
Проект може використовувати хуки встановлення для цілком звичайних кроків збірки. Він також може містити несподівану команду. Важливо те, що скрипт знаходиться в маніфесті, де його можна пропустити, якщо перевіряти лише команду встановлення верхнього рівня.
Що виявляє ClawMetry
ClawMetry сканує маніфест пакету робочого простору на наявність підтримуваних хуків життєвого циклу встановлення. Система підвищує попередження про виконання маніфесту пакету та ідентифікує хук. Сканер зчитує файл, але не виконує знайдену команду.
Різниця, яка змінює знахідку
Приклад спрацювання
postinstall: node build.js
Попереджувальна знахідка
Тиха порівняльна ситуація
test: node build.js
Для цього детектора знахідок немає.
Перевірений приклад має скрипт postinstall, що вказує на програму збірки та виробляє попередження. Помістіть ту саму програму під звичайний скрипт тестування, і цей детектор залишається без реакції. Відмінність полягає в тому, коли маніфест вказує, що програма запуститься.
Перегляньте результат детектора
{
"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)Як перевірявся приклад
Ці приклади оцінюють опублікований детектор із авторськими даними подій або одноразовими файлами конфігурації. Відео ілюструє цю поведінку. Це не записи живих агентів або інтерфейсу продукту. Жодна команда з прикладів не виконувалась.
Результат встановлює поведінку для цих вхідних даних. Він не встановлює прийом у середовищі виконання, запобігання або реального компрометування. Перегляньте закріплений вихідний контракт.
Що перевірити далі
Прочитайте команду хука та програму, на яку вона посилається. Перевірте, чи належить така поведінка встановлення до проекту та чи є джерело залежності надійним. Якщо встановлення вже відбулося, окремо перевірте фактичні наслідки, перш ніж приймати середовище.
- Прочитайте хук життєвого циклу
- Перевірте програму, на яку посилаються
- Перегляньте очікувану поведінку встановлення
Що встановлює цей сигнал
Хук встановлення не є автоматично ворожим. Ця знахідка повідомляє про запис у маніфесті, а не є доказом того, що встановлення або виконання відбулося.