You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Having in mind that Scorecard uses OSV Scanner to identify vulnerabilities, getting Scorecard results on vulnerabilities for airbnb/lottie-web, we have:
In airbnb/lottie-web's case, the vulnerability occurs because package.json lists watch dependency, which depends on exec-sh, which depends on merge. merge is the npm package containing the vulnerability. The possible edge case here is that there's no package-lock.json and package.json lists the dependency on watch to a range of 1.0.2 or higher, as seen here. The problem here is that the latest available version of watch is 1.0.2 and it's unlikely there will be new releases. Therefore, whomever installs the package.json dependencies right now, will install a vulnerable watch version. IMO, that should be identified as a vulnerability.
Complementing the problem, watch is unlikely to receive new releases because there hasn't been any releases or commits in the past 5 years. It's pretty much abandoned.
We scan package-lock.json instead of package.json files, which is why it can't see the merge dependency, though with guided remediation capabilities coming to osv-scanner (#352) we will be getting the ability to scan package.json, and get the merge dependency from the graphs provided by https://deps.dev.
It also looks like the package has only devDependencies, which could be why there is no package-lock.json, and also makes the vulnerability seems to be unexploitable in this case? (Still good to have the option to scan package.json though).
Describe the bug
OSV Scanner is not identifying correctly the vulnerabilities for https://github.com/airbnb/lottie-web case. OSV Scanner reports different results then
npm audit
, which is the npm command to identify security vulnerabilities in the project dependencies as per npm documentation. While npm audit reports GHSA-7wpw-2hjm-89gp as a vulnerability, OSV Scanner reports no vulnerabilities, even though this vulnerability is in the database.Reproduction steps
Having in mind that Scorecard uses OSV Scanner to identify vulnerabilities, getting Scorecard results on vulnerabilities for airbnb/lottie-web, we have:
--repo
or--npm
flagVulnerabilities
scores 10And getting npm results on vulnerabilities for airbnb/lottie-web, we have:
npm ci
to install dependenciesnpm audit
to identify vulnerabilitiesAdditional context
In airbnb/lottie-web's case, the vulnerability occurs because
package.json
listswatch
dependency, which depends onexec-sh
, which depends onmerge
.merge
is the npm package containing the vulnerability. The possible edge case here is that there's nopackage-lock.json
andpackage.json
lists the dependency onwatch
to a range of1.0.2
or higher, as seen here. The problem here is that the latest available version ofwatch
is1.0.2
and it's unlikely there will be new releases. Therefore, whomever installs thepackage.json
dependencies right now, will install a vulnerablewatch
version. IMO, that should be identified as a vulnerability.Complementing the problem,
watch
is unlikely to receive new releases because there hasn't been any releases or commits in the past 5 years. It's pretty much abandoned.For reference on
watch
:The text was updated successfully, but these errors were encountered: