Потенциальная уязвимость уязвимости 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
И вернулся в Гитуб, и моя уязвимость была исправлена.