Over time checks with overlapping SLSA requirements are added, but the check summaries for such requirements do not reflect the consolidated results. The requirements are stored in the AnalyzeContext object, which can be overwritten by the check that runs last.
For example, both mcn_provenance_available_check and mcn_provenance_witness_level_one_1 are associated with similar SLSA requirements. If the former passes but the latter fails, the summary result is reported as failing in the console:
SLSA REQUIREMENT RESULTS:
SLSA Level 1:
- Scripted build: PASSED
- Provenance - available: FAILED
- Provenance content - identifies artifacts: FAILED
- Provenance content - identifies builder: FAILED
- Provenance content - identifies build instructions: FAILED
Over time checks with overlapping SLSA requirements are added, but the check summaries for such requirements do not reflect the consolidated results. The requirements are stored in the
AnalyzeContextobject, which can be overwritten by the check that runs last.For example, both mcn_provenance_available_check and mcn_provenance_witness_level_one_1 are associated with similar SLSA requirements. If the former passes but the latter fails, the summary result is reported as failing in the console: