-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Enable Dependency Checksum Verification #5819
Comments
Sounds like a good idea. Can TRON currently be smoothly migrated to gradle7.0? Are there compatibility issues and other risks? |
BTW, TRON currently uses Gradle version 5.6.4, the first step is to upgrade Gradle to 7.x. Compatibility issues are inevitable and need to be carefully tested. |
really a good idea.
|
@endiaoekoe 🚦 I think the extra overhead is acceptable, after all, the security is more valuable. |
Are the files generated by Dependency Checksum Verification consistent between platforms? |
I have some questions
Hope to get a detailed explain |
@forfreeday The jar should have nothing to do with the platform, I think it should be the same, can you give me an example? |
Yes, I think sha256 is secure enough for now.
Yes, as Dependency verification you can see,
The gradle/verification-metadata.xml file was autogenerated relying on the TOFU scheme. If you don't trust it enough, you can compute it locally, under the assumption that there are no problems with the artifacts.
disabling-verification : Gradle provides 3 different verification modes. |
As far as I know, using this under linux generates dependency names with
Artifacts generated on macOS have a name suffix of
How should these two suffixes be compatible? |
@halibobo1205 Wallet-cli maybe also need this feature, because it uses private key, secutiry is very important. Do you paln to implement it on wallet-cli ? |
@forfreeday Good catch, perhaps both are needed. |
@317787106 I think it's necessary for wallet-cli. |
should it be better to make another single issue that focuses on migrating from grade 5.6.4 to 7.x ? per investigation on the formal docs gradle publish, the migration may involve many dirty works |
@endiaoekoe Great, I'll create 2 tasks. |
It is prepared and ready for review #5903. |
Background
I noticed that Besu(Java-based Ethereum client) has enabled dependency verification by this PR: Enable dependency checksum verification. However, TRON doesn't seem to have this feature enabled yet, working with external dependencies and plugins published on third-party repositories puts the build at risk. I suggest that TRON enable dependency verification to mitigate the security risks and avoid integrating compromised dependencies in the project.
Rationale
Dependency verification uses a mechanism introduced in Gradle 6.2, and it has been promoted to a stable feature since Gradle 7.0. This feature can be used for:
Implementation
The text was updated successfully, but these errors were encountered: