Как избавиться от уязвимостей hoek

Недавно я нажал приложение "Угловая CLI 5" в GitHub, и он указал следующее:

We found a potential security vulnerability in one of your dependencies.
A dependency defined in net-incident/package-lock.json has known security vulnerabilities and should be updated.
Dependencies defined in net-incident/package-lock.json 816
hapijs / hoek Known security vulnerability in 2.16.3

Я прошел вывод из "npm audit" и выполнил различные обновления, в том числе следующие (что не предлагалось):

npm install --save-dev [email protected]

"Пакет запросов содержит" ястреб ", который содержит" hoek ". Когда я смотрю на пакет запросов в node_modules, версия изменилась. Но следующие два обновления из "npm audit", похоже, ничего не делают:

npm update fsevents --depth 4 npm update stringstream --depth 5

И я оставляю следующее:

[!] 33 vulnerabilities found [12201 packages audited]
    Severity: 5 Low | 24 Moderate | 4 High
    Run 'npm audit' for more detail

И многие из уязвимостей выглядят следующим образом:

Moderate        Prototype pollution
Package         hoek
Patched in      > 4.2.0 < 5.0.0 || >= 5.0.3
Dependency of   karma
Path            karma > log4js > loggly > request > hawk > boom > hoek
More info       https://nodesecurity.io/advisories/566

В итоге приложение не будет компилироваться, поэтому я заменил пакет и заблокировал файлы, и теперь я вернулся к началу. Я действительно хочу исправить проблемы безопасности. Как мне избавиться от досадных уязвимостей hoek?

Ответ 1

Вы должны запустить rm package-lock.json && npm update && npm install, если это еще не исправить вашу проблему, вы можете продолжить, запустив npm ls hoek, который должен был дать вам:

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

Проверьте версию hawk против той, что указана на npm hawk, если она не подсчитана, запустите npm я hawk --save или npm я [email protected] --save, тогда вы также должны запустить: npm я [email protected] --save, затем npm audit После этого я снова запускал свои обычные команды git:

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

Затем вы можете вернуться в Github, уязвимость безопасности должна быть исправлена.

Ответ 2

В этом ответе рассматривается аналогичная проблема с hoek, и этот ответ объясняет подробные отчеты об аудите без уязвимости.

npm audit сообщает о возможных проблемах. Нет необходимости, чтобы они были реальными проблемами, которые необходимо решить.

karma > log4js > loggly > request > hawk > boom > hoek зависимость, такая как karma > log4js > loggly > request > hawk > boom > hoek может потребовать, чтобы в пакете зависимостей karma > log4js > loggly > request > hawk > boom > hoek многочисленные пакеты в случае, если они должны быть исправлены.

Prototype pollution диагностика Prototype pollution указывает на запах кода. Причина, по которой запахи прототипа пахнет, заключается в том, что это может вызвать проблемы безопасности. Именно по этой причине он обозначается как " Moderate. Это маловероятно, что он вызывает любые риски безопасности в пакете hoek из-за того, как он работает, независимо от того, как используется пакет (что также важно).

Кроме того, karma > log4js > loggly > request > hawk > boom > hoek цепочка зависимостей karma > log4js > loggly > request > hawk > boom > hoek означает, что проблема возникает в зависимости от развития. Большинство проблем безопасности в первую очередь применимы к зависимостям, которые используются в производстве. Эта проблема специфична для тестов и кармы. Это практически невозможно, это угроза.

TL; DR: это не уязвимость. Его нужно игнорировать. Любой отчет о npm audit должен пройти проверку на работоспособность до того, как будут предприняты какие-либо усилия по его исправлению.

Ответ 3

Я был терпелив, и они исправили проблему:

npm update [email protected]

должно сработать.