On Tue, 23 Mar 2021 12:07:48 GMT, Kevin Rushforth <k...@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," 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
>
> This seems like a good idea to do. I have a couple overall questions before 
> reviewing / testing.
> 
> 1. Can you add some sort of README file that describes the how to update the 
> checksums? Also, the instructions in 
> [UPDATING-lucene.txt](https://github.com/openjdk/jfx/blob/master/apps/samples/Ensemble8/UPDATING-lucene.txt)
>  should be updated accordingly.
> 2. Some of the files listed are not used directly. I presume that you added 
> them because they are used indirectly by other components? Are all of them 
> actually needed?

Thanks, Kevin. I added a README file and updated the Lucene instructions, as 
you suggested. I'm open to any other suggestions on the wording or formatting, 
no matter how minor.

> Some of the files listed are not used directly. I presume that you added them 
> because they are used indirectly by other components? Are all of them 
> actually needed?

The Gradle command, now documented in the `gradle/README.txt` file, adds 
entries to the dependency verification file for all dependencies, including 
transitive ones. I think that's the list of everything downloaded during the 
builds on Linux, macOS, and Windows. I'll clear the Gradle cache and 
double-check it now. I'll let you know if I find anything unexpected.

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

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

Reply via email to