ai-build-integrity:verify-artifact-digests

Full name:

com.intsof:ai-build-integrity-maven-plugin:0.13.2:verify-artifact-digests

Description:

Verifies that build artifacts have not been modified since their digests were generated.

This mojo reads either sidecar digest files or a central ledger, recomputes the digest of each artifact, and compares against the stored value. If any mismatch is detected and failOnError is true, the build fails.

Security rationale: Artifact integrity must be verified before deployment to detect any tampering that occurred after packaging.

Performance: Uses streaming hash computation with 64 KiB buffers. For large artifact sets, verification adds measurable but acceptable time to the build.

Attributes:

  • Requires a Maven project to be executed.
  • The goal is not marked as thread-safe and thus does not support parallel builds.
  • Binds by default to the lifecycle phase: verify.

Optional Parameters

Name Type Since Description
<algorithms> String[] - Array of algorithms to verify. Must match what was used during generation.
Default: SHA-256
User Property: ai.integrity.algorithms
<centralDigestFile> String - Explicit path to the central digest ledger file.
User Property: ai.integrity.centralDigestFile
<centralReportFile> String - Explicit path to the central audit report file.
User Property: ai.integrity.centralReportFile
<failOnError> boolean - If false, validation failures will only log errors and will not break the build.
Default: true
User Property: ai.integrity.failOnError
<generateAuditReport> boolean - If true, generates a machine-readable JSON audit report for SIEM systems.
Default: true
User Property: ai.integrity.generateAuditReport
<hashFileMode> HashFileMode - Strategy for storing generated digests (SIDECAR or CENTRAL).
Default: SIDECAR
User Property: ai.integrity.hashFileMode
<skip> boolean - If true, skips the execution of the mojo. Accepts both -Dai.integrity.skip=true and the Maven-conventional -Dskip.ai.integrity=true.
Default: false
User Property: ai.integrity.skip
<skipAlt> boolean - Alternate Maven-conventional skip flag (e.g. -Dskip.ai.integrity=true).
Default: false
User Property: skip.ai.integrity

Parameter Details

<algorithms>

Array of algorithms to verify. Must match what was used during generation.
  • Type: java.lang.String[]
  • Required: No
  • User Property: ai.integrity.algorithms
  • Default: SHA-256

<centralDigestFile>

Explicit path to the central digest ledger file.
  • Type: java.lang.String
  • Required: No
  • User Property: ai.integrity.centralDigestFile

<centralReportFile>

Explicit path to the central audit report file.
  • Type: java.lang.String
  • Required: No
  • User Property: ai.integrity.centralReportFile

<failOnError>

If false, validation failures will only log errors and will not break the build.
  • Type: boolean
  • Required: No
  • User Property: ai.integrity.failOnError
  • Default: true

<generateAuditReport>

If true, generates a machine-readable JSON audit report for SIEM systems.
  • Type: boolean
  • Required: No
  • User Property: ai.integrity.generateAuditReport
  • Default: true

<hashFileMode>

Strategy for storing generated digests (SIDECAR or CENTRAL).
  • Type: com.intsof.ai.build.integrity.HashFileMode
  • Required: No
  • User Property: ai.integrity.hashFileMode
  • Default: SIDECAR

<skip>

If true, skips the execution of the mojo. Accepts both -Dai.integrity.skip=true and the Maven-conventional -Dskip.ai.integrity=true.
  • Type: boolean
  • Required: No
  • User Property: ai.integrity.skip
  • Default: false

<skipAlt>

Alternate Maven-conventional skip flag (e.g. -Dskip.ai.integrity=true).
  • Type: boolean
  • Required: No
  • User Property: skip.ai.integrity
  • Default: false