Skip to content

package.json should use fixed versions. #570

@MicahZoltu

Description

@MicahZoltu

https://github.com/ethereum/solc-js/blob/ee8632967bf1a51602753e113897466e6874be7e/package.json#L47-L57

To protect users against supply chain attacks, package.json should refer to explicit versions and version updates should be done intentionally rather than "when CI happens to build" or "when user happens to install the dependency".

It is worth noting that this does not protect users against transitive dependencies of this library, unless each of the dependencies also uses explicit versions in package.json. To more thoroughly protect users against supply chain attacks, only dependencies that also use explicit dependency versions should be used and the same for their dependencies etc.


Separately, I think it is worth discussing the use of npm shrinkwrap. This would make it so the developers of this library can do a one-time audit of their dependency tree and then commit and publish that so downstream users don't have to each do a full audit of solcjs's transitive dependencies every time they update or install it.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Design/Decide

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions