-
Notifications
You must be signed in to change notification settings - Fork 61
Description
Description
The objects in the data.fileInformation array of ArtC should have an optional checksum member so that consumers can verify the integrity of the artifact's files. Example:
{
"meta": {
"type": "EiffelArtifactCreatedEvent",
...
},
"data": {
"fileInformation": [
{
"name": "image.bin",
"integrity": {
"checksum": "a480451897f590d3eb032c946de140b092dcda58356b5647bdeeee30f965769b",
"alg": "SHA-256"
}
},
],
...
},
...
}
It's tempting to align with meta.security.integrityProtection, but they're not quite the same as the latter signs the payload and references algorithms for signatures and HMACs but in this case we just want a plain checksum with no secret (neither shared key or public key).
Motivation
An artifact consumer can verify that the file they eventually download actually is the same file as the original and that no corruption or funny business has taken place.
Exemplification
See above.
Benefits
An opportunity to improve the integrity of the software supply chain by using Eiffel to verify the end-to-end integrity of artifacts produced in a pipeline. This can be used to detect honest mistakes, corruption, and malicious attacks on the artifact storage.
Possible Drawbacks
None.