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

Trusting Dependencies: On-Chain Integrity Check #110

Open
mario-eth opened this issue Jul 31, 2024 · 1 comment
Open

Trusting Dependencies: On-Chain Integrity Check #110

mario-eth opened this issue Jul 31, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@mario-eth
Copy link
Owner

Enhancing Dependency Integrity Verification

To ensure that the currently installed dependency is not malicious, we need an authoritative mechanism to verify that the dependency files are legitimate and have not been tampered with.

One solution is to implement a smart contract stored on-chain. This smart contract would serve as a consortium that publishes checksums after each version of a dependency is released.

For example, when OpenZeppelin publishes version 5.3.0, a checksum would be generated and submitted on-chain. This checksum would then serve as the source of truth in the integrity check process.

Challenges:

  1. Approval of Checksums: The teams responsible for maintaining the on-chain integrity must approve the checksums. Without their approval, we cannot ensure the checksums' authenticity.
  2. Collaboration: Soldeer aims to build and maintain this system but requires collaboration from all relevant teams to approve the checksums. Without their cooperation, the checksums provided by Soldeer cannot be fully trusted.

By addressing these challenges, we can create a robust system for verifying dependency integrity, ensuring that installed dependencies are secure and unaltered.

@mario-eth mario-eth added the enhancement New feature or request label Jul 31, 2024
@wagmiwiz
Copy link

It would be great to find a way to check integrity of dependencies.

Feels like the first step is simply having signed checksums for popular libs as most don't do this afaik (?). The issue then becomes how teams manage key security but there are well known procedures for that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants