On Sat, 17 Apr 2021 23:17:04 GMT, John Neffenger <jgn...@openjdk.org> wrote:

>> This pull request adds dependency verification to the Gradle builds of 
>> JavaFX on Linux, macOS, and Windows. It is the third of three changes that 
>> close the gaps in the JavaFX build security:
>> 
>> * [JDK-8262236][1]: Configure Gradle checksum verification
>> * [JDK-8263204][2]: Add Gradle Wrapper Validation Action
>> * [JDK-8264010][3]: Add Gradle dependency verification
>> 
>> "Without dependency verification it's easy for an attacker to compromise 
>> your supply chain," warns the [Gradle User Guide][4]. All three changes come 
>> from conference talks by members of the Gradle team, available as [PDF 
>> slides][5] or on YouTube in the following two videos:
>> 
>> * [Cédric Champeau at Devoxx][6] in November 2019
>> * [Louis Jacomet at Jfokus][7] in February 2020
>> 
>> "We all run in a crazy-unsafe environment, in a way," says Louis Jacomet at 
>> the end of his talk. These three changes make it just a little less 
>> crazy-unsafe for all of us building JavaFX, regardless of our system, 
>> network, or country.
>> 
>> [1]: https://bugs.openjdk.java.net/browse/JDK-8262236
>> [2]: https://bugs.openjdk.java.net/browse/JDK-8263204
>> [3]: https://bugs.openjdk.java.net/browse/JDK-8264010
>> 
>> [4]: https://docs.gradle.org/current/userguide/dependency_verification.html
>> [5]: 
>> https://www.jfokus.se/jfokus20-preso/Protecting-your-organization-against-attacks-via-the-build-system.pdf
>> [6]: https://youtu.be/GWGNp3a3hpk
>> [7]: https://youtu.be/bwiafNatsf0
>
> John Neffenger has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Add dependencies for internal builds at Oracle

Looks good, with one comment on the new `README.txt` file.

gradle/README.txt line 10:

> 8: dependency verification file as follows:
> 9: 
> 10: $ gradle --write-verification-metadata sha256 help

This isn't sufficient for many of the dependencies. Gradle won't try to 
download external dependencies until the point they are used. For example: the 
`junit` dependency is downloaded only when running `gradle test`, the icu data 
dependency is downloaded only when building the sdk with 
`-PCOMPILE_WEBKIT=true`, the libav media libraries (for Linux) are downloaded 
only when building the sdk with `-PCOMPILE_MEDIA=true 
-PBUILD_LIBAV_STUBS=true`, etc.

-------------

PR: https://git.openjdk.java.net/jfx/pull/437

Reply via email to