You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds a Maven plugin that makes it easy to verify the provenance files of
all dependencies of a Maven-based project.
The plugin can either run during the Maven build cycle, or users can
invoke it manually from within a project directory.
The plugin checks whether the dependencies in a `pom.xml` file are
released with provenance attestations, and invokes the
[slsa-verifier](https://github.com/slsa-framework/slsa-verifier) against
the dependencies that have provenance files.
@loosebazooka@laurentsimon
---------
Signed-off-by: AdamKorcz <[email protected]>
Signed-off-by: AdamKorcz <[email protected]>
Co-authored-by: Ian Lewis <[email protected]>
Signed-off-by: Noah Elzner <[email protected]>
The Maven verification plugin can be used to verify the provenance of the dependencies of a Java project.
4
+
5
+
It is meant to make it easy for project owners and consumers to:
6
+
1: Check how many and which dependencies of a Maven-based project are released with provenance files.
7
+
2: Verify the provenance files of the dependencies of a given Maven-based project.
8
+
9
+
The plugin wraps the [the slsa verifier](https://github.com/slsa-framework/slsa-verifier) and invokes it for all the dependencies in a `pom.xml`.
10
+
11
+
## Prerequisites
12
+
13
+
To use the plugin you must have Go, Java and Maven installed. It has currently only been tested on Ubuntu.
14
+
15
+
The plugin requires that the slsa-verifier is already installed on the machine.
16
+
17
+
## Development status
18
+
19
+
The plugin is in its early stages and is not ready for production.
20
+
21
+
Things that work well are:
22
+
1: Resolving dependencies and checking whether they have provenance files in the remote repository.
23
+
2: Running the slsa-verifier against dependencies with provenance files.
24
+
3: Outputting the result from the slsa-verifier.
25
+
26
+
Things that are unfinished:
27
+
1: What to do with the results from the verifier. Currently we have not taken a stand on what the Maven verification plugin should do with the output from the slsa-verifier. This is a UX decision more than it is a technical decision.
28
+
29
+
## Using the Maven verification plugin
30
+
31
+
### Invoking it directly
32
+
33
+
It can be run from the root of a given project file.
The plugin will now go through all the dependencies in the `pom.xml` file and check if they have a provenance statement attached to their release. If a dependency has a SLSA provenance file, the Maven verification plugin will fetch it from the remote repository and invoke the `slsa-verifier` binary against the dependency and the provenance file.
44
+
45
+
### Integrating it into your Maven build cycle
46
+
47
+
The plugin can also live in your Maven build cycle. If you add it to your own `pom.xml`, the plugin will execute during the validation phase of the Maven build cycle.
0 commit comments