ducktors / turborepo-remote-cache

Open source implementation of the Turborepo custom remote cache server.
https://ducktors.github.io/turborepo-remote-cache/
MIT License
922 stars 88 forks source link

feat(ABS): replace legacy azure-storage lib with @azure/storage-blob #376

Closed konclave closed 3 weeks ago

konclave commented 4 weeks ago

In this PR:

Issues reference:

Checklist:

socket-security[bot] commented 4 weeks ago

New and removed dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher

🚮 Removed packages: npm/azure-storage@2.10.7

View full report↗︎

socket-security[bot] commented 4 weeks ago

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

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

Alert Package NoteSource
Unmaintained npm/object-keys@1.1.1
  • Last Publish: 4/7/2019, 2:30:18 AM
  • orphan: npm/object-keys@1.1.1
Unmaintained npm/get-caller-file@2.0.5
  • Last Publish: 3/9/2019, 9:48:30 PM
Unmaintained npm/require-directory@2.1.1
  • Last Publish: 5/28/2015, 8:31:04 AM
Filesystem access npm/require-directory@2.1.1
New author npm/stack-trace@0.0.10
Unmaintained npm/os-tmpdir@1.0.2
  • Last Publish: 11/8/2018, 11:14:15 AM
Unmaintained npm/is-number@7.0.0
  • Last Publish: 7/4/2018, 3:08:58 PM
Unmaintained npm/media-typer@0.3.0
  • Last Publish: 4/25/2019, 3:16:05 AM
Unmaintained npm/fn.name@1.1.0
  • Last Publish: 6/14/2018, 11:56:27 PM
  • orphan: npm/fn.name@1.1.0
New author npm/fn.name@1.1.0
  • orphan: npm/fn.name@1.1.0
Network access npm/agent-base@7.1.1
Network access npm/agent-base@7.1.1
Network access npm/agent-base@7.1.1
Environment variable access npm/@azure/logger@1.1.2
  • orphan: npm/@azure/logger@1.1.2
Environment variable access npm/@azure/logger@1.1.2
  • orphan: npm/@azure/logger@1.1.2
Environment variable access npm/@azure/logger@1.1.2
  • orphan: npm/@azure/logger@1.1.2
Network access npm/@azure/core-rest-pipeline@1.16.0
  • orphan: npm/@azure/core-rest-pipeline@1.16.0
Environment variable access npm/@azure/core-rest-pipeline@1.16.0
  • orphan: npm/@azure/core-rest-pipeline@1.16.0
Environment variable access npm/@azure/core-rest-pipeline@1.16.0
  • orphan: npm/@azure/core-rest-pipeline@1.16.0
Network access npm/@azure/core-rest-pipeline@1.16.0
  • orphan: npm/@azure/core-rest-pipeline@1.16.0
Filesystem access npm/@azure/storage-blob@12.23.0
  • orphan: npm/@azure/storage-blob@12.23.0
Filesystem access npm/@azure/storage-blob@12.23.0
  • orphan: npm/@azure/storage-blob@12.23.0
Uses eval npm/uglify-js@3.17.4
Filesystem access npm/uglify-js@3.17.4
Environment variable access npm/uglify-js@3.17.4
Unmaintained npm/wordwrap@1.0.0
  • Last Publish: 5/7/2015, 5:07:25 PM
Unmaintained npm/stream-combiner2@1.1.1
  • Last Publish: 10/16/2015, 11:03:58 PM
New author npm/handlebars@4.7.8
Filesystem access npm/handlebars@4.7.8
Uses eval npm/bottleneck@2.19.5
Unmaintained npm/argv-formatter@1.0.0
  • Last Publish: 11/23/2014, 6:16:21 PM
Filesystem access npm/java-properties@1.0.2
Unmaintained npm/spawn-error-forwarder@1.0.0
  • Last Publish: 11/23/2014, 8:19:26 PM
Filesystem access npm/azure-storage@2.10.7
Deprecated npm/azure-storage@2.10.7
  • Reason: Please note: newer packages @azure/storage-blob, @azure/storage-queue and @azure/storage-file are available as of November 2019 and @azure/data-tables is available as of June 2021. While the legacy azure-storage package will continue to receive critical bug fixes, we strongly encourage you to upgrade. Migration guide can be found: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/storage/MigrationGuide.md
Environment variable access npm/azure-storage@2.10.7
Environment variable access npm/azure-storage@2.10.7
Environment variable access npm/azure-storage@2.10.7
Environment variable access npm/azure-storage@2.10.7
Environment variable access npm/azure-storage@2.10.7
Environment variable access npm/azure-storage@2.10.7
Environment variable access npm/azure-storage@2.10.7
Environment variable access npm/azure-storage@2.10.7
Environment variable access npm/azure-storage@2.10.7
Environment variable access npm/azure-storage@2.10.7
Environment variable access npm/azure-storage@2.10.7
Environment variable access npm/azure-storage@2.10.7
Network access npm/azure-storage@2.10.7
Network access npm/azure-storage@2.10.7
Filesystem access npm/fast-glob@3.3.2

View full report↗︎

Next steps

What are unmaintained packages?

Package has not been updated in more than 5 years 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 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 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 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 eval?

Package uses eval() which is a dangerous function. This prevents the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.

Avoid packages that use eval, since this could potentially execute any code.

What is a deprecated package?

The maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.

Research the state of the package and determine if there are non-deprecated versions that can be used, or if it should be replaced with a new, supported solution.

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 ecosystem/package-name@version specifiers. e.g. @SocketSecurity ignore npm/foo@1.0.0 or ignore all packages with @SocketSecurity ignore-all

  • @SocketSecurity ignore npm/object-keys@1.1.1
  • @SocketSecurity ignore npm/get-caller-file@2.0.5
  • @SocketSecurity ignore npm/require-directory@2.1.1
  • @SocketSecurity ignore npm/stack-trace@0.0.10
  • @SocketSecurity ignore npm/os-tmpdir@1.0.2
  • @SocketSecurity ignore npm/is-number@7.0.0
  • @SocketSecurity ignore npm/media-typer@0.3.0
  • @SocketSecurity ignore npm/fn.name@1.1.0
  • @SocketSecurity ignore npm/agent-base@7.1.1
  • @SocketSecurity ignore npm/@azure/logger@1.1.2
  • @SocketSecurity ignore npm/@azure/core-rest-pipeline@1.16.0
  • @SocketSecurity ignore npm/@azure/storage-blob@12.23.0
  • @SocketSecurity ignore npm/uglify-js@3.17.4
  • @SocketSecurity ignore npm/wordwrap@1.0.0
  • @SocketSecurity ignore npm/stream-combiner2@1.1.1
  • @SocketSecurity ignore npm/handlebars@4.7.8
  • @SocketSecurity ignore npm/bottleneck@2.19.5
  • @SocketSecurity ignore npm/argv-formatter@1.0.0
  • @SocketSecurity ignore npm/java-properties@1.0.2
  • @SocketSecurity ignore npm/spawn-error-forwarder@1.0.0
  • @SocketSecurity ignore npm/azure-storage@2.10.7
  • @SocketSecurity ignore npm/fast-glob@3.3.2
matteovivona commented 3 weeks ago

@all-contributors please add @konclave on code

allcontributors[bot] commented 3 weeks ago

@matteovivona

I've put up a pull request to add @konclave! :tada:

matteovivona commented 3 weeks ago

:tada: This PR is included in version 2.2.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: