Потенциальная уязвимость уязвимости Github для модуля узла hoek

Сегодня github показывает следующую ошибку в моем репозитории github:

Мы обнаружили потенциальную уязвимость безопасности в одной из ваших зависимостей. Зависимость, определенная в. /package-lock.json, известна уязвимостями безопасности и должна быть обновлена.

При нажатии кнопки "Обзор уязвимости" отображается следующее сообщение:

модуль узла hoek до 5.0.3 страдает от модификации уязвимости, связанной с предполагаемыми неизменными данными (MAID), с помощью 'merge'

До вчерашнего дня такая ошибка не проявлялась. Я больше не проталкивал этот репозиторий более 5 дней. Любая идея, почему это происходит.

Ответ 1

Я использовал: rm package-lock.json && npm update && npm install. Для меня этот обновленный hoek to 4.2.1, который также содержит исправление (за этот комментарий).

Изменить: в другом приложении я запустил rm package-lock.json и либо npm я hoek && npm up && npm я && npm un hoek или npm я hoek && npm un hoek && npm up && npm i (невозможно вызвать порядок), что больше соответствует этому комментарию (от JamesSingleton).

(rm package-lock.json существует, только если он существует.)

Изменить: еще в третьем приложении я проверил npm outdated и обнаружил, что мне нужно обновить 2.13.0 react-scripts-ts с 2.13.0 до 2.15.1. Для этого я обновил package.json вручную, а затем запустил npm i. После выполнения, hoek обновляется до 4.2.1. (в частности, для таргетинга на один элемент ожидания/основной компонент).

Изменить: Мое решение для Zurb Foundation 6 Сайт:

Я обновил все свои пакеты до их основных версий, используя npm outdated. Затем я побежал:

npm я [email protected] --save && npm up hoek

npm я boom hawk sntp uncss gulp-uncss --save && npm up boom hawk sntp uncss gulp-uncss && npm un boom hawk sntp gulp-uncss uncss --save

Было два провала; browser-sync: 2.23.7 и node-sass: 4.9.0, оба в их последних версиях. Не важно: предупреждение GitHub разрешено после фиксации.

Ответ 2

Я использовал npm update hoek && npm install hoek, и пакет был обновлен до 5.0.3.

После этого оповещение об уязвимости исчезло из моего github Repo.

Ответ 3

npm update должно работать только в том случае, если уязвимый пакет объявлен как прямая зависимость проекта. Но обычно (как в случае с hoek) уязвимости лежат в тех пакетах, которые лежат в вашем дереве зависимостей.

Поскольку в моем случае я решил не обновлять все зависимости моего проекта (удалив и восстановив весь package-lock.json), я пошел на следующий (и, конечно, более трудоемкий) подход:

  • найти все случаи уязвимого пакета в моем package-lock.json
  • запустите дерево зависимостей, чтобы найти, какие пакеты верхнего уровня импортируют их
  • удалите и переустановите эти пакеты верхнего уровня, используя ту же второстепенную версию

Подобно:

npm r package-1 package-2 && npm i [email protected]^1.2.3 [email protected]^1.2.3

Этот подход будет работать только в том случае, если уязвимый пакет был исправлен и выпущен, а пакеты-потребители импортируют уязвимую версию с свободным номером версии, открытым для исправления или младших версий.

Ответ 4

Ничто из этого не помогло мне. Моя зависимость от hoek была глубокой в поддеревьях. Сначала я сделал npm ls hoek и получил что-то вроде этого:

├── [email protected]
└─┬ [email protected]
  ├─┬ [email protected]
  │ └─┬ [email protected]
  │   ├─┬ [email protected]
  │   │ └── [email protected]  deduped
  │   ├─┬ [email protected]
  │   │ └─┬ [email protected]
  │   │   └── [email protected]  deduped
  │   ├── [email protected]
  │   └─┬ [email protected]
  │     └── [email protected]  deduped
  └─┬ [email protected]
    └─┬ [email protected]
      └─┬ [email protected]
        ├─┬ [email protected]
        │ └── [email protected]  deduped
        ├── [email protected]
        └─┬ [email protected]
          └── [email protected]  deduped

Затем я увидел, что действительно нужно обновить watson-developer-cloud поскольку это то, что использует hoek на верхнем уровне.

Затем я npm install [email protected] и решил.

Ответ 5

Найденное решение здесь.

В основном в git bash, cd в папку вашего проекта, введите следующие коды:

npm i hoek  
npm uninstall hoek 
npm update 
npm install  

затем

git add .
git commit -m 'update-hoek'
git push origin master 

Теперь снова проверьте страницу проекта GitHub, предупреждение должно исчезнуть.

С уважением.

Ответ 6

Попробуйте запустить npm install [email protected] или npm install [email protected] в своем проекте.

Это установит требуемую последнюю версию hoek в зависимостях package.json, перезаписывающих выше hoek версии в package-lock.json.

Ответ 7

Я пробовал все вышеперечисленное, но не работал для меня, поэтому пошел дальше, чтобы проверить первопричину.

Я запустил npm ls hoek который дал мне:

├─┬ [email protected]
│ └─┬ [email protected]
│   └─┬ [email protected]
│     ├─┬ [email protected]
│     │ └── [email protected]
│     ├── [email protected]
│     └─┬ [email protected]
│       └── [email protected]
└── [email protected]

Я заметил версию своего hawk против той, что была на hpm, и я побежал npm я hawk --save. После этого я снова запускал свои обычные команды git:

git add .
git commit -m 'whatever_message'
git push 

И вернулся в Гитуб, и моя уязвимость была исправлена.