Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Snyk] Fix for 1 vulnerabilities #22

Open
wants to merge 1 commit into
base: trunk
Choose a base branch
from

fix: packages/scripts/package.json to reduce vulnerabilities

90641b0
Select commit
Loading
Failed to load commit list.
Open

[Snyk] Fix for 1 vulnerabilities #22

fix: packages/scripts/package.json to reduce vulnerabilities
90641b0
Select commit
Loading
Failed to load commit list.
Socket Security / Socket Security: Pull Request Alerts failed Nov 30, 2023 in 5m 55s

Pull Request #22 Alerts: Complete with warnings

Report Status Message
PR #22 Alerts ⚠️ Found 68 project alerts

Pull request alerts notify when new issues are detected between the diff of the pull request and it's target branch.

Details

🚨 Potential security issues detected. Learn more about Socket for GitHub ↗︎

To accept the risk, merge this PR and you will not be notified again.

Issue Package Version Note Source
Chronological version anomaly @sinonjs/commons 3.0.0
Chronological version anomaly @sinonjs/fake-timers 10.3.0
Debug access @jest/core 29.7.0
Dynamic require jest-resolve 29.7.0
Dynamic require jest-runtime 29.7.0
Dynamic require jest-snapshot 29.7.0
Dynamic require yargs 17.7.1
Environment variable access yargs 17.7.1
Empty package markdownlint-micromark 0.1.2
Major refactor markdownlint-micromark 0.1.2
  • Change Percentage: 42100.00
  • Current Line Count: 0
  • Previous Line Count: 0
  • Lines Changed: 421
No v1 markdownlint-micromark 0.1.2
Environment variable access minimatch 9.0.3
Environment variable access @puppeteer/browsers 0.5.0
Network access @puppeteer/browsers 0.5.0
No v1 @puppeteer/browsers 0.5.0
Environment variable access chromium-bidi 0.4.7
Environment variable access jackspeak 2.3.6
Environment variable access jest-changed-files 29.7.0
Filesystem access path-scurry 1.10.1
Major refactor create-jest 29.7.0
  • Change Percentage: 108.51
  • Current Line Count: 482
  • Previous Line Count: 0
  • Lines Changed: 523
New author create-jest 29.7.0
Semver anomaly create-jest 29.7.0
Mixed license @pkgjs/parseargs 0.11.0
No v1 @pkgjs/parseargs 0.11.0
Unmaintained @pkgjs/parseargs 0.11.0
  • Last Publish: 10/10/2022, 2:18:44 PM
No v1 eastasianwidth 0.2.0
Unmaintained eastasianwidth 0.2.0
  • Last Publish: 1/1/2018, 9:26:07 AM
Semver anomaly devtools-protocol 0.0.1107588
Shell access foreground-child 3.1.1
Unpublished package lru-cache 10.1.0
  • Version: 10/1/2000, 12:00:00 AM

Next steps

What is a chronological version anomaly?

Semantic versions published out of chronological order.

This could either indicate dependency confusion or a patched vulnerability.

What is debug access?

Uses debug, reflection and dynamic code execution features.

Removing the use of debug will reduce the risk of any reflection and dynamic code execution.

What is dynamic require?

Dynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.

Packages should avoid dynamic imports when possible. Audit the use of dynamic require to ensure it is not executing malicious or vulnerable code.

What is environment variable access?

Package accesses environment variables, which may be a sign of credential stuffing or data theft.

Packages should be clear about which environment variables they access, and care should be taken to ensure they only access environment variables they claim to.

What is an empty package?

Package does not contain any code. It may be removed, is name squatting, or the result of a faulty package publish.

Remove dependencies that do not export any code or functionality and ensure the package version includes all of the files it is supposed to.

What is a major refactor?

Package has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.

Consider waiting before upgrading to see if any issues are discovered, or be prepared to scrutinize any bugs or subtle changes the major refactor may bring. Publishers my consider publishing beta versions of major refactors to limit disruption to parties interested in the new changes.

What is wrong with semver < v1?

Package is not semver >=1. This means it is not stable and does not support ^ ranges.

If the package sees any general use, it should begin releasing at version 1.0.0 or later to benefit from semver.

What is network access?

This module accesses the network.

Packages should remove all network access that is functionally unnecessary. Consumers should audit network access to ensure legitimate use.

What is filesystem access?

Accesses the file system, and could potentially read sensitive data.

If a package must read the file system, clarify what it will read and ensure it reads only what it claims to. If appropriate, packages can leave file system access to consumers and operate on data passed to it instead.

What is new author?

A new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.

Scrutinize new collaborator additions to packages because they now have the ability to publish code into your dependency tree. Packages should avoid frequent or unnecessary additions or changes to publishing rights.

What are semver anomalies?

Package semver skipped several versions, this could indicate a dependency confusion attack or indicate the intention of disruptive breaking changes or major priority shifts for the project.

Packages should follow semantic versions conventions by not skipping subsequent version numbers. Consumers should research the purpose of the skipped version number.

What is a mixed license?

(Experimental) Package contains multiple licenses.

A new version of the package should be published that includes a single license. Consumers may seek clarification from the package author. Ensure that the license details are consistent across the LICENSE file, package.json license field and license details mentioned in the README.

What are unmaintained packages?

Package has not been updated in more than a year and may be unmaintained. Problems with the package may go unaddressed.

Package should publish periodic maintenance releases if they are maintained, or deprecate if they have no intention in further maintenance.

What is shell access?

This module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.

Packages should avoid accessing the shell which can reduce portability, and make it easier for malicious shell access to be introduced.

What are unpublished packages?

Package version was not found on the registry. It may exist on a different registry and need to be configured to pull from that registry.

Packages can be removed from the registry by manually un-publishing, a security issue removal, or may simply never have been published to the registry. Reliance on these packages will cause problem when they are not found.

Take a deeper look at the dependency

Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev.

Remove the package

If you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency.

Mark a package as acceptable risk

To ignore an alert, reply with a comment starting with @SocketSecurity ignore followed by a space separated list of package-name@version specifiers. e.g. @SocketSecurity ignore [email protected] bar@* or ignore all packages with @SocketSecurity ignore-all