{
"index": 3302,
"is_latest": true,
"next_snapshot_timestamp": null,
"artifact_compliance_count": {
"true": 10,
"false": 0,
"null": 0
},
"timestamp": 1736866378.596097,
"type": "ECS",
"compliant": true,
"html_url": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/3302",
"artifacts": [
{
"name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:2a4de05",
"deployments": [],
"compliant": true,
"policy_decisions": [
{
"policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "7453f56a-e9f5-46b4-bd60-cf92040e",
"flow_id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e",
"flow_name": "dashboard-ci",
"trail_id": "4e1cd103-4404-42b0-9929-f38c4b9a",
"trail_name": "2a4de05a37ef40c597f823130850bcfc89fb6ee9"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "7453f56a-e9f5-46b4-bd60-cf92040e",
"flow_id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e",
"flow_name": "dashboard-ci",
"trail_id": "4e1cd103-4404-42b0-9929-f38c4b9a",
"trail_name": "2a4de05a37ef40c597f823130850bcfc89fb6ee9",
"artifact_status": "COMPLIANT"
}
}
]
}
]
},
{
"policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "7453f56a-e9f5-46b4-bd60-cf92040e",
"flow_id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e",
"flow_name": "dashboard-ci",
"trail_id": "4e1cd103-4404-42b0-9929-f38c4b9a",
"trail_name": "2a4de05a37ef40c597f823130850bcfc89fb6ee9"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": false,
"exceptions": []
}
},
"satisfied": null,
"ignored": true,
"resolutions": []
},
{
"rule": {
"type": "attestation",
"definition": {
"if_condition": null,
"name": "snyk-container-scan",
"type": "snyk",
"must_be_compliant": true
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "7453f56a-e9f5-46b4-bd60-cf92040e",
"flow_id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e",
"flow_name": "dashboard-ci",
"trail_id": "4e1cd103-4404-42b0-9929-f38c4b9a",
"trail_name": "2a4de05a37ef40c597f823130850bcfc89fb6ee9",
"matching_attestation_id": "d9fbe21e-7261-4199-8d9e-2da6c16e",
"matching_attestation_name": "snyk-container-scan",
"matching_attestation_type": "snyk",
"matching_attestation_compliance": true
}
}
]
}
]
}
],
"reasons_for_incompliance": [],
"fingerprint": "08dc3610fb972dbdb532e27be09fb35fbfb6c3d7d6411d3053290a8df706fc8d",
"creationTimestamp": [
1736866282
],
"pods": null,
"annotation": {
"type": "unchanged",
"was": 1,
"now": 1
},
"flow_name": "dashboard-ci",
"git_commit": "2a4de05a37ef40c597f823130850bcfc89fb6ee9",
"commit_url": "https://github.com/cyber-dojo/dashboard/commit/2a4de05a37ef40c597f823130850bcfc89fb6ee9",
"html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/08dc3610fb972dbdb532e27be09fb35fbfb6c3d7d6411d3053290a8df706fc8d?artifact_id=7453f56a-e9f5-46b4-bd60-cf92040e",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/dashboard/compare/fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6...2a4de05a37ef40c597f823130850bcfc89fb6ee9",
"previous_git_commit": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
"previous_fingerprint": "0f23d3be5b12f4ed64bef569f8d3855a8313fb0d9002afb5d9bc9fe286003f11",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:fbadb11",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
"previous_trail_name": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
"previous_template_reference_name": "dashboard"
},
"commit_lead_time": 101833.0,
"flows": [
{
"flow_name": "dashboard-ci",
"trail_name": "2a4de05a37ef40c597f823130850bcfc89fb6ee9",
"template_reference_name": "dashboard",
"git_commit": "2a4de05a37ef40c597f823130850bcfc89fb6ee9",
"commit_url": "https://github.com/cyber-dojo/dashboard/commit/2a4de05a37ef40c597f823130850bcfc89fb6ee9",
"git_commit_info": {
"sha1": "2a4de05a37ef40c597f823130850bcfc89fb6ee9",
"message": "Merge pull request #242 from cyber-dojo/update-sonar-scan-action\n\nUpdate sonarcloud action to new sonarqube-scan-action",
"author": "FayeSGW <108031168+FayeSGW@users.noreply.github.com>",
"branch": "main",
"timestamp": 1736764449.0,
"url": "https://github.com/cyber-dojo/dashboard/commit/2a4de05a37ef40c597f823130850bcfc89fb6ee9"
},
"html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/08dc3610fb972dbdb532e27be09fb35fbfb6c3d7d6411d3053290a8df706fc8d?artifact_id=7453f56a-e9f5-46b4-bd60-cf92040e",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/dashboard/compare/fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6...2a4de05a37ef40c597f823130850bcfc89fb6ee9",
"previous_git_commit": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
"previous_fingerprint": "0f23d3be5b12f4ed64bef569f8d3855a8313fb0d9002afb5d9bc9fe286003f11",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:fbadb11",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
"previous_trail_name": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
"previous_template_reference_name": "dashboard"
},
"commit_lead_time": 101833.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
]
},
{
"name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:d8868c7",
"deployments": [],
"compliant": true,
"policy_decisions": [
{
"policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "4d4d0fc5-91f1-4a3d-845d-82cd6ab9",
"flow_id": "0b4a3bb0-4f77-41a9-8dea-733d1dc3",
"flow_name": "languages-start-points-ci",
"trail_id": "c035a437-9cdb-4c66-aa6f-3dfce278",
"trail_name": "d8868c7ff6d5bcefdb45f74a91a89ac71e99576b"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "4d4d0fc5-91f1-4a3d-845d-82cd6ab9",
"flow_id": "0b4a3bb0-4f77-41a9-8dea-733d1dc3",
"flow_name": "languages-start-points-ci",
"trail_id": "c035a437-9cdb-4c66-aa6f-3dfce278",
"trail_name": "d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
"artifact_status": "COMPLIANT"
}
}
]
}
]
},
{
"policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "4d4d0fc5-91f1-4a3d-845d-82cd6ab9",
"flow_id": "0b4a3bb0-4f77-41a9-8dea-733d1dc3",
"flow_name": "languages-start-points-ci",
"trail_id": "c035a437-9cdb-4c66-aa6f-3dfce278",
"trail_name": "d8868c7ff6d5bcefdb45f74a91a89ac71e99576b"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": false,
"exceptions": []
}
},
"satisfied": null,
"ignored": true,
"resolutions": []
},
{
"rule": {
"type": "attestation",
"definition": {
"if_condition": null,
"name": "snyk-container-scan",
"type": "snyk",
"must_be_compliant": true
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "4d4d0fc5-91f1-4a3d-845d-82cd6ab9",
"flow_id": "0b4a3bb0-4f77-41a9-8dea-733d1dc3",
"flow_name": "languages-start-points-ci",
"trail_id": "c035a437-9cdb-4c66-aa6f-3dfce278",
"trail_name": "d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
"matching_attestation_id": "b33063a6-cc37-4ba9-afaf-fae9cb21",
"matching_attestation_name": "snyk-container-scan",
"matching_attestation_type": "snyk",
"matching_attestation_compliance": true
}
}
]
}
]
}
],
"reasons_for_incompliance": [],
"fingerprint": "fb66bc84620af85e434f183dd62482366adefc28c745e174937f79e2d002db1f",
"creationTimestamp": [
1736768291
],
"pods": null,
"annotation": {
"type": "unchanged",
"was": 1,
"now": 1
},
"flow_name": "languages-start-points-ci",
"git_commit": "d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
"commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
"html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/fb66bc84620af85e434f183dd62482366adefc28c745e174937f79e2d002db1f?artifact_id=4d4d0fc5-91f1-4a3d-845d-82cd6ab9",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/2bbcf42d511157dd97830404fa6f2acd346e75c7...d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
"previous_git_commit": "2bbcf42d511157dd97830404fa6f2acd346e75c7",
"previous_fingerprint": "ff56d0f568fe4b615b502c46d37d93fbef33ec05619d8a81012bd40a8ac29cb5",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:2bbcf42",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/2bbcf42d511157dd97830404fa6f2acd346e75c7",
"previous_trail_name": "2bbcf42d511157dd97830404fa6f2acd346e75c7",
"previous_template_reference_name": "languages-start-points"
},
"commit_lead_time": 1643.0,
"flows": [
{
"flow_name": "languages-start-points-ci",
"trail_name": "d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
"template_reference_name": "languages-start-points",
"git_commit": "d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
"commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
"git_commit_info": {
"sha1": "d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
"message": "Merge pull request #58 from cyber-dojo/language-upgrades\n\nUpgrade to latest version of js, rust and ruby-approval",
"author": "FayeSGW <108031168+FayeSGW@users.noreply.github.com>",
"branch": "main",
"timestamp": 1736766648.0,
"url": "https://github.com/cyber-dojo/languages-start-points/commit/d8868c7ff6d5bcefdb45f74a91a89ac71e99576b"
},
"html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/fb66bc84620af85e434f183dd62482366adefc28c745e174937f79e2d002db1f?artifact_id=4d4d0fc5-91f1-4a3d-845d-82cd6ab9",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/2bbcf42d511157dd97830404fa6f2acd346e75c7...d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
"previous_git_commit": "2bbcf42d511157dd97830404fa6f2acd346e75c7",
"previous_fingerprint": "ff56d0f568fe4b615b502c46d37d93fbef33ec05619d8a81012bd40a8ac29cb5",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:2bbcf42",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/2bbcf42d511157dd97830404fa6f2acd346e75c7",
"previous_trail_name": "2bbcf42d511157dd97830404fa6f2acd346e75c7",
"previous_template_reference_name": "languages-start-points"
},
"commit_lead_time": 1643.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
]
},
{
"name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:fedad19",
"deployments": [],
"compliant": true,
"policy_decisions": [
{
"policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "985e91b4-0f29-4f00-bf62-8a57228e",
"flow_id": "d398561b-b0a9-4f0e-95a3-bbb0e347",
"flow_name": "differ-ci",
"trail_id": "8c65794a-022a-4eb9-bc37-8a08d21a",
"trail_name": "fedad1940aa80caa77c9839eff062665a7060241"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "985e91b4-0f29-4f00-bf62-8a57228e",
"flow_id": "d398561b-b0a9-4f0e-95a3-bbb0e347",
"flow_name": "differ-ci",
"trail_id": "8c65794a-022a-4eb9-bc37-8a08d21a",
"trail_name": "fedad1940aa80caa77c9839eff062665a7060241",
"artifact_status": "COMPLIANT"
}
}
]
}
]
},
{
"policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "985e91b4-0f29-4f00-bf62-8a57228e",
"flow_id": "d398561b-b0a9-4f0e-95a3-bbb0e347",
"flow_name": "differ-ci",
"trail_id": "8c65794a-022a-4eb9-bc37-8a08d21a",
"trail_name": "fedad1940aa80caa77c9839eff062665a7060241"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": false,
"exceptions": []
}
},
"satisfied": null,
"ignored": true,
"resolutions": []
},
{
"rule": {
"type": "attestation",
"definition": {
"if_condition": null,
"name": "snyk-container-scan",
"type": "snyk",
"must_be_compliant": true
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "985e91b4-0f29-4f00-bf62-8a57228e",
"flow_id": "d398561b-b0a9-4f0e-95a3-bbb0e347",
"flow_name": "differ-ci",
"trail_id": "8c65794a-022a-4eb9-bc37-8a08d21a",
"trail_name": "fedad1940aa80caa77c9839eff062665a7060241",
"matching_attestation_id": "4a296807-c88d-4b11-9fde-e8cb5925",
"matching_attestation_name": "snyk-container-scan",
"matching_attestation_type": "snyk",
"matching_attestation_compliance": true
}
}
]
}
]
}
],
"reasons_for_incompliance": [],
"fingerprint": "083e55d12fc029dae5ac7b6ce57de0a1f819e20b6ac01d64a173f366e4b78d92",
"creationTimestamp": [
1736512568
],
"pods": null,
"annotation": {
"type": "unchanged",
"was": 1,
"now": 1
},
"flow_name": "differ-ci",
"git_commit": "fedad1940aa80caa77c9839eff062665a7060241",
"commit_url": "https://github.com/cyber-dojo/differ/commit/fedad1940aa80caa77c9839eff062665a7060241",
"html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/083e55d12fc029dae5ac7b6ce57de0a1f819e20b6ac01d64a173f366e4b78d92?artifact_id=985e91b4-0f29-4f00-bf62-8a57228e",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/differ/compare/982af120903b0663651360f457dd1e56473efe10...fedad1940aa80caa77c9839eff062665a7060241",
"previous_git_commit": "982af120903b0663651360f457dd1e56473efe10",
"previous_fingerprint": "44cab1b562faa36d901b3ba5de7e90e300f913eaca23d13809797611beed877d",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:982af12",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/982af120903b0663651360f457dd1e56473efe10",
"previous_trail_name": "982af120903b0663651360f457dd1e56473efe10",
"previous_template_reference_name": "differ"
},
"commit_lead_time": 859.0,
"flows": [
{
"flow_name": "differ-ci",
"trail_name": "fedad1940aa80caa77c9839eff062665a7060241",
"template_reference_name": "differ",
"git_commit": "fedad1940aa80caa77c9839eff062665a7060241",
"commit_url": "https://github.com/cyber-dojo/differ/commit/fedad1940aa80caa77c9839eff062665a7060241",
"git_commit_info": {
"sha1": "fedad1940aa80caa77c9839eff062665a7060241",
"message": "Delete duplication when creating json metrics files (#288)",
"author": "Jon Jagger <jon@kosli.com>",
"branch": "main",
"timestamp": 1736511709.0,
"url": "https://github.com/cyber-dojo/differ/commit/fedad1940aa80caa77c9839eff062665a7060241"
},
"html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/083e55d12fc029dae5ac7b6ce57de0a1f819e20b6ac01d64a173f366e4b78d92?artifact_id=985e91b4-0f29-4f00-bf62-8a57228e",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/differ/compare/982af120903b0663651360f457dd1e56473efe10...fedad1940aa80caa77c9839eff062665a7060241",
"previous_git_commit": "982af120903b0663651360f457dd1e56473efe10",
"previous_fingerprint": "44cab1b562faa36d901b3ba5de7e90e300f913eaca23d13809797611beed877d",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:982af12",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/982af120903b0663651360f457dd1e56473efe10",
"previous_trail_name": "982af120903b0663651360f457dd1e56473efe10",
"previous_template_reference_name": "differ"
},
"commit_lead_time": 859.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
]
},
{
"name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:5840b94",
"deployments": [],
"compliant": true,
"policy_decisions": [
{
"policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "1199a0c5-9915-40e1-8cdf-3657f1a2",
"flow_id": "e54bdf65-de27-448f-807a-08e09590",
"flow_name": "saver-ci",
"trail_id": "92f7f65c-4567-4bd5-8484-570c9037",
"trail_name": "5840b9427b858bd6eba9bca0abd008500b60aa92"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "1199a0c5-9915-40e1-8cdf-3657f1a2",
"flow_id": "e54bdf65-de27-448f-807a-08e09590",
"flow_name": "saver-ci",
"trail_id": "92f7f65c-4567-4bd5-8484-570c9037",
"trail_name": "5840b9427b858bd6eba9bca0abd008500b60aa92",
"artifact_status": "COMPLIANT"
}
}
]
}
]
},
{
"policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "1199a0c5-9915-40e1-8cdf-3657f1a2",
"flow_id": "e54bdf65-de27-448f-807a-08e09590",
"flow_name": "saver-ci",
"trail_id": "92f7f65c-4567-4bd5-8484-570c9037",
"trail_name": "5840b9427b858bd6eba9bca0abd008500b60aa92"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": false,
"exceptions": []
}
},
"satisfied": null,
"ignored": true,
"resolutions": []
},
{
"rule": {
"type": "attestation",
"definition": {
"if_condition": null,
"name": "snyk-container-scan",
"type": "snyk",
"must_be_compliant": true
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "1199a0c5-9915-40e1-8cdf-3657f1a2",
"flow_id": "e54bdf65-de27-448f-807a-08e09590",
"flow_name": "saver-ci",
"trail_id": "92f7f65c-4567-4bd5-8484-570c9037",
"trail_name": "5840b9427b858bd6eba9bca0abd008500b60aa92",
"matching_attestation_id": "fdbb61b9-8c17-48cc-b8df-c3d3849a",
"matching_attestation_name": "snyk-container-scan",
"matching_attestation_type": "snyk",
"matching_attestation_compliance": true
}
}
]
}
]
}
],
"reasons_for_incompliance": [],
"fingerprint": "aac802189b6408858517d1af86fdb9a7d0a9b5c6ed9b01ffbeceb4e04bf45a85",
"creationTimestamp": [
1736511592
],
"pods": null,
"annotation": {
"type": "unchanged",
"was": 1,
"now": 1
},
"flow_name": "saver-ci",
"git_commit": "5840b9427b858bd6eba9bca0abd008500b60aa92",
"commit_url": "https://github.com/cyber-dojo/saver/commit/5840b9427b858bd6eba9bca0abd008500b60aa92",
"html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/aac802189b6408858517d1af86fdb9a7d0a9b5c6ed9b01ffbeceb4e04bf45a85?artifact_id=1199a0c5-9915-40e1-8cdf-3657f1a2",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/saver/compare/2a9ef64892c515a23a9ef7d10a9bd40f789f8163...5840b9427b858bd6eba9bca0abd008500b60aa92",
"previous_git_commit": "2a9ef64892c515a23a9ef7d10a9bd40f789f8163",
"previous_fingerprint": "489c1f6d4c25a32ce6dc71b3320db5f2793c4602913475aec72c43115db879bd",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:2a9ef64",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/2a9ef64892c515a23a9ef7d10a9bd40f789f8163",
"previous_trail_name": "2a9ef64892c515a23a9ef7d10a9bd40f789f8163",
"previous_template_reference_name": "saver"
},
"commit_lead_time": 6752.0,
"flows": [
{
"flow_name": "saver-ci",
"trail_name": "5840b9427b858bd6eba9bca0abd008500b60aa92",
"template_reference_name": "saver",
"git_commit": "5840b9427b858bd6eba9bca0abd008500b60aa92",
"commit_url": "https://github.com/cyber-dojo/saver/commit/5840b9427b858bd6eba9bca0abd008500b60aa92",
"git_commit_info": {
"sha1": "5840b9427b858bd6eba9bca0abd008500b60aa92",
"message": "Merge pull request #102 from cyber-dojo/dont-duplicate-coverage-data\n\nDon't duplicate coverage data",
"author": "Jon Jagger <jon@kosli.com>",
"branch": "main",
"timestamp": 1736504840.0,
"url": "https://github.com/cyber-dojo/saver/commit/5840b9427b858bd6eba9bca0abd008500b60aa92"
},
"html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/aac802189b6408858517d1af86fdb9a7d0a9b5c6ed9b01ffbeceb4e04bf45a85?artifact_id=1199a0c5-9915-40e1-8cdf-3657f1a2",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/saver/compare/2a9ef64892c515a23a9ef7d10a9bd40f789f8163...5840b9427b858bd6eba9bca0abd008500b60aa92",
"previous_git_commit": "2a9ef64892c515a23a9ef7d10a9bd40f789f8163",
"previous_fingerprint": "489c1f6d4c25a32ce6dc71b3320db5f2793c4602913475aec72c43115db879bd",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:2a9ef64",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/2a9ef64892c515a23a9ef7d10a9bd40f789f8163",
"previous_trail_name": "2a9ef64892c515a23a9ef7d10a9bd40f789f8163",
"previous_template_reference_name": "saver"
},
"commit_lead_time": 6752.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
]
},
{
"name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:171a05c",
"deployments": [],
"compliant": true,
"policy_decisions": [
{
"policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "8374731b-573e-4e78-8ea2-c75b8e06",
"flow_id": "a81e8c6d-bb00-474f-b986-a6cb9b08",
"flow_name": "runner-ci",
"trail_id": "142100e5-2ac4-46b1-8c85-53ea030c",
"trail_name": "171a05c10347fe12788b87ba18b635e508fd2c17"
}
},
{
"type": "rule_satisfied",
"context": {
"artifact_id": "801aec29-e348-4fdc-9bbb-575de312",
"flow_id": "fe044e85-4bd5-44af-b181-950b685e",
"flow_name": "aws-prod-snyk-scan",
"trail_id": "6c690248-e61d-412c-bf9d-cac3c866",
"trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d"
}
},
{
"type": "rule_satisfied",
"context": {
"artifact_id": "1b0f4ff0-969d-4a6e-8cb5-85872681",
"flow_id": "2f2cd910-9bba-446b-a00d-07e6273c",
"flow_name": "aws-beta-snyk-scan",
"trail_id": "d14211de-7f41-4a75-83f3-27b78211",
"trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "8374731b-573e-4e78-8ea2-c75b8e06",
"flow_id": "a81e8c6d-bb00-474f-b986-a6cb9b08",
"flow_name": "runner-ci",
"trail_id": "142100e5-2ac4-46b1-8c85-53ea030c",
"trail_name": "171a05c10347fe12788b87ba18b635e508fd2c17",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_satisfied",
"context": {
"artifact_id": "801aec29-e348-4fdc-9bbb-575de312",
"flow_id": "fe044e85-4bd5-44af-b181-950b685e",
"flow_name": "aws-prod-snyk-scan",
"trail_id": "6c690248-e61d-412c-bf9d-cac3c866",
"trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_satisfied",
"context": {
"artifact_id": "1b0f4ff0-969d-4a6e-8cb5-85872681",
"flow_id": "2f2cd910-9bba-446b-a00d-07e6273c",
"flow_name": "aws-beta-snyk-scan",
"trail_id": "d14211de-7f41-4a75-83f3-27b78211",
"trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d",
"artifact_status": "COMPLIANT"
}
}
]
}
]
},
{
"policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "8374731b-573e-4e78-8ea2-c75b8e06",
"flow_id": "a81e8c6d-bb00-474f-b986-a6cb9b08",
"flow_name": "runner-ci",
"trail_id": "142100e5-2ac4-46b1-8c85-53ea030c",
"trail_name": "171a05c10347fe12788b87ba18b635e508fd2c17"
}
},
{
"type": "rule_satisfied",
"context": {
"artifact_id": "801aec29-e348-4fdc-9bbb-575de312",
"flow_id": "fe044e85-4bd5-44af-b181-950b685e",
"flow_name": "aws-prod-snyk-scan",
"trail_id": "6c690248-e61d-412c-bf9d-cac3c866",
"trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d"
}
},
{
"type": "rule_satisfied",
"context": {
"artifact_id": "1b0f4ff0-969d-4a6e-8cb5-85872681",
"flow_id": "2f2cd910-9bba-446b-a00d-07e6273c",
"flow_name": "aws-beta-snyk-scan",
"trail_id": "d14211de-7f41-4a75-83f3-27b78211",
"trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": false,
"exceptions": []
}
},
"satisfied": null,
"ignored": true,
"resolutions": []
},
{
"rule": {
"type": "attestation",
"definition": {
"if_condition": null,
"name": "snyk-container-scan",
"type": "snyk",
"must_be_compliant": true
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "8374731b-573e-4e78-8ea2-c75b8e06",
"flow_id": "a81e8c6d-bb00-474f-b986-a6cb9b08",
"flow_name": "runner-ci",
"trail_id": "142100e5-2ac4-46b1-8c85-53ea030c",
"trail_name": "171a05c10347fe12788b87ba18b635e508fd2c17",
"matching_attestation_id": "255816e9-359e-445f-9d6f-16110342",
"matching_attestation_name": "snyk-container-scan",
"matching_attestation_type": "snyk",
"matching_attestation_compliance": true
}
},
{
"type": "rule_satisfied",
"context": {
"artifact_id": "801aec29-e348-4fdc-9bbb-575de312",
"flow_id": "fe044e85-4bd5-44af-b181-950b685e",
"flow_name": "aws-prod-snyk-scan",
"trail_id": "6c690248-e61d-412c-bf9d-cac3c866",
"trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d",
"matching_attestation_id": "d39047be-7fe3-477d-900d-50cec479",
"matching_attestation_name": "snyk-container-scan",
"matching_attestation_type": "snyk",
"matching_attestation_compliance": true
}
},
{
"type": "rule_satisfied",
"context": {
"artifact_id": "1b0f4ff0-969d-4a6e-8cb5-85872681",
"flow_id": "2f2cd910-9bba-446b-a00d-07e6273c",
"flow_name": "aws-beta-snyk-scan",
"trail_id": "d14211de-7f41-4a75-83f3-27b78211",
"trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d",
"matching_attestation_id": "e2bc3f4c-5775-4685-815a-91f19430",
"matching_attestation_name": "snyk-container-scan",
"matching_attestation_type": "snyk",
"matching_attestation_compliance": true
}
}
]
}
]
}
],
"reasons_for_incompliance": [],
"fingerprint": "9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d",
"creationTimestamp": [
1735053494,
1735053518,
1735053521
],
"pods": null,
"annotation": {
"type": "unchanged",
"was": 3,
"now": 3
},
"flow_name": "runner-ci",
"git_commit": "171a05c10347fe12788b87ba18b635e508fd2c17",
"commit_url": "https://github.com/cyber-dojo/runner/commit/171a05c10347fe12788b87ba18b635e508fd2c17",
"html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d?artifact_id=8374731b-573e-4e78-8ea2-c75b8e06",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/runner/compare/be3845e25d9e69053d510d9d6cef742f8998ec32...171a05c10347fe12788b87ba18b635e508fd2c17",
"previous_git_commit": "be3845e25d9e69053d510d9d6cef742f8998ec32",
"previous_fingerprint": "f78d639a1f29406dfc9075345a0dbbf8e75cf7fe2c9a884173a39ca2609959df",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:be3845e",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/be3845e25d9e69053d510d9d6cef742f8998ec32",
"previous_trail_name": "be3845e25d9e69053d510d9d6cef742f8998ec32",
"previous_template_reference_name": "runner"
},
"commit_lead_time": 1054.0,
"flows": [
{
"flow_name": "runner-ci",
"trail_name": "171a05c10347fe12788b87ba18b635e508fd2c17",
"template_reference_name": "runner",
"git_commit": "171a05c10347fe12788b87ba18b635e508fd2c17",
"commit_url": "https://github.com/cyber-dojo/runner/commit/171a05c10347fe12788b87ba18b635e508fd2c17",
"git_commit_info": {
"sha1": "171a05c10347fe12788b87ba18b635e508fd2c17",
"message": "Merge pull request #82 from cyber-dojo/simplify-workflow-yaml\n\nSimplify workflow yaml file",
"author": "Jon Jagger <jon@kosli.com>",
"branch": "main",
"timestamp": 1735052440.0,
"url": "https://github.com/cyber-dojo/runner/commit/171a05c10347fe12788b87ba18b635e508fd2c17"
},
"html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d?artifact_id=8374731b-573e-4e78-8ea2-c75b8e06",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/runner/compare/be3845e25d9e69053d510d9d6cef742f8998ec32...171a05c10347fe12788b87ba18b635e508fd2c17",
"previous_git_commit": "be3845e25d9e69053d510d9d6cef742f8998ec32",
"previous_fingerprint": "f78d639a1f29406dfc9075345a0dbbf8e75cf7fe2c9a884173a39ca2609959df",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:be3845e",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/be3845e25d9e69053d510d9d6cef742f8998ec32",
"previous_trail_name": "be3845e25d9e69053d510d9d6cef742f8998ec32",
"previous_template_reference_name": "runner"
},
"commit_lead_time": 1054.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "aws-prod-snyk-scan",
"trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d",
"template_reference_name": "runner",
"git_commit": "76099e9f546ee6096cf670e94d3903ebfdb359ab",
"commit_url": "https://github.com/cyber-dojo/live-snyk-scans/commit/76099e9f546ee6096cf670e94d3903ebfdb359ab",
"git_commit_info": {
"sha1": "76099e9f546ee6096cf670e94d3903ebfdb359ab",
"message": "Run CI workflow after snyk vulnerability update",
"author": "JonJagger <jon@kosli.com>",
"branch": "main",
"timestamp": 1734868979.0,
"url": "https://github.com/cyber-dojo/live-snyk-scans/commit/76099e9f546ee6096cf670e94d3903ebfdb359ab"
},
"html_url": "https://app.kosli.com/cyber-dojo/flows/aws-prod-snyk-scan/artifacts/9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d?artifact_id=801aec29-e348-4fdc-9bbb-575de312",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/aws-prod-snyk-scan",
"deployment_diff": null,
"commit_lead_time": 184515.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "aws-beta-snyk-scan",
"trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d",
"template_reference_name": "runner",
"git_commit": "76099e9f546ee6096cf670e94d3903ebfdb359ab",
"commit_url": "https://github.com/cyber-dojo/live-snyk-scans/commit/76099e9f546ee6096cf670e94d3903ebfdb359ab",
"git_commit_info": {
"sha1": "76099e9f546ee6096cf670e94d3903ebfdb359ab",
"message": "Run CI workflow after snyk vulnerability update",
"author": "JonJagger <jon@kosli.com>",
"branch": "main",
"timestamp": 1734868979.0,
"url": "https://github.com/cyber-dojo/live-snyk-scans/commit/76099e9f546ee6096cf670e94d3903ebfdb359ab"
},
"html_url": "https://app.kosli.com/cyber-dojo/flows/aws-beta-snyk-scan/artifacts/9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d?artifact_id=1b0f4ff0-969d-4a6e-8cb5-85872681",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/aws-beta-snyk-scan",
"deployment_diff": null,
"commit_lead_time": 184515.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
]
},
{
"name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:ceff002",
"deployments": [],
"compliant": true,
"policy_decisions": [
{
"policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "be3e5202-ff07-4b4b-87f2-e34341d7",
"flow_id": "e4e08b57-e36e-4724-acc8-04e7e437",
"flow_name": "creator-ci",
"trail_id": "b3864a64-25d7-4ca9-bb57-0094ea0e",
"trail_name": "ceff002aa4b5a690fd4c1db93dcd2859c0286483"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "be3e5202-ff07-4b4b-87f2-e34341d7",
"flow_id": "e4e08b57-e36e-4724-acc8-04e7e437",
"flow_name": "creator-ci",
"trail_id": "b3864a64-25d7-4ca9-bb57-0094ea0e",
"trail_name": "ceff002aa4b5a690fd4c1db93dcd2859c0286483",
"artifact_status": "COMPLIANT"
}
}
]
}
]
},
{
"policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "be3e5202-ff07-4b4b-87f2-e34341d7",
"flow_id": "e4e08b57-e36e-4724-acc8-04e7e437",
"flow_name": "creator-ci",
"trail_id": "b3864a64-25d7-4ca9-bb57-0094ea0e",
"trail_name": "ceff002aa4b5a690fd4c1db93dcd2859c0286483"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": false,
"exceptions": []
}
},
"satisfied": null,
"ignored": true,
"resolutions": []
},
{
"rule": {
"type": "attestation",
"definition": {
"if_condition": null,
"name": "snyk-container-scan",
"type": "snyk",
"must_be_compliant": true
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "be3e5202-ff07-4b4b-87f2-e34341d7",
"flow_id": "e4e08b57-e36e-4724-acc8-04e7e437",
"flow_name": "creator-ci",
"trail_id": "b3864a64-25d7-4ca9-bb57-0094ea0e",
"trail_name": "ceff002aa4b5a690fd4c1db93dcd2859c0286483",
"matching_attestation_id": "c730d8f2-c0c5-4c90-aef5-a4790daf",
"matching_attestation_name": "snyk-container-scan",
"matching_attestation_type": "snyk",
"matching_attestation_compliance": true
}
}
]
}
]
}
],
"reasons_for_incompliance": [],
"fingerprint": "b0548207de58762c948890dae97d35e1c3465ef0c4396762d90052b919bf4411",
"creationTimestamp": [
1735049869
],
"pods": null,
"annotation": {
"type": "unchanged",
"was": 1,
"now": 1
},
"flow_name": "creator-ci",
"git_commit": "ceff002aa4b5a690fd4c1db93dcd2859c0286483",
"commit_url": "https://gitlab.com/cyber-dojo/creator/-/commit/ceff002aa4b5a690fd4c1db93dcd2859c0286483",
"html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/b0548207de58762c948890dae97d35e1c3465ef0c4396762d90052b919bf4411?artifact_id=be3e5202-ff07-4b4b-87f2-e34341d7",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci",
"deployment_diff": {
"diff_url": "https://gitlab.com/cyber-dojo/creator/-/compare/b5a7a0c93ec2ea22ebf599f3bd8281bf8ca764eb...ceff002aa4b5a690fd4c1db93dcd2859c0286483",
"previous_git_commit": "b5a7a0c93ec2ea22ebf599f3bd8281bf8ca764eb",
"previous_fingerprint": "5eec49c96341e684278faffaabf327a60d3efbace5b4858910d112d0851973a2",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:b5a7a0c",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://gitlab.com/cyber-dojo/creator/-/commit/b5a7a0c93ec2ea22ebf599f3bd8281bf8ca764eb",
"previous_trail_name": "b5a7a0c93ec2ea22ebf599f3bd8281bf8ca764eb",
"previous_template_reference_name": "creator"
},
"commit_lead_time": 891.0,
"flows": [
{
"flow_name": "creator-ci",
"trail_name": "ceff002aa4b5a690fd4c1db93dcd2859c0286483",
"template_reference_name": "creator",
"git_commit": "ceff002aa4b5a690fd4c1db93dcd2859c0286483",
"commit_url": "https://gitlab.com/cyber-dojo/creator/-/commit/ceff002aa4b5a690fd4c1db93dcd2859c0286483",
"git_commit_info": {
"sha1": "ceff002aa4b5a690fd4c1db93dcd2859c0286483",
"message": "Merge branch 'add-kosli-commands' into 'main'\n\nAdd create-flow and begin-trail commands to main.yml workflow\n\nSee merge request cyber-dojo/creator!158",
"author": "Jon Jagger <jrbjagger@googlemail.com>",
"branch": "main",
"timestamp": 1735048978.0,
"url": "https://gitlab.com/cyber-dojo/creator/-/commit/ceff002aa4b5a690fd4c1db93dcd2859c0286483"
},
"html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/b0548207de58762c948890dae97d35e1c3465ef0c4396762d90052b919bf4411?artifact_id=be3e5202-ff07-4b4b-87f2-e34341d7",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci",
"deployment_diff": {
"diff_url": "https://gitlab.com/cyber-dojo/creator/-/compare/b5a7a0c93ec2ea22ebf599f3bd8281bf8ca764eb...ceff002aa4b5a690fd4c1db93dcd2859c0286483",
"previous_git_commit": "b5a7a0c93ec2ea22ebf599f3bd8281bf8ca764eb",
"previous_fingerprint": "5eec49c96341e684278faffaabf327a60d3efbace5b4858910d112d0851973a2",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:b5a7a0c",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://gitlab.com/cyber-dojo/creator/-/commit/b5a7a0c93ec2ea22ebf599f3bd8281bf8ca764eb",
"previous_trail_name": "b5a7a0c93ec2ea22ebf599f3bd8281bf8ca764eb",
"previous_template_reference_name": "creator"
},
"commit_lead_time": 891.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
]
},
{
"name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:5fc87b1",
"deployments": [],
"compliant": true,
"policy_decisions": [
{
"policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "3f60ce81-f375-4593-8fc7-98eab9bd",
"flow_id": "fd583a48-28de-4b5c-b4a7-b6356e94",
"flow_name": "web-ci",
"trail_id": "525b0df9-ee9d-462b-b727-f682e9af",
"trail_name": "5fc87b1c17020fd4f50485ee56662b7b4a04982d"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "3f60ce81-f375-4593-8fc7-98eab9bd",
"flow_id": "fd583a48-28de-4b5c-b4a7-b6356e94",
"flow_name": "web-ci",
"trail_id": "525b0df9-ee9d-462b-b727-f682e9af",
"trail_name": "5fc87b1c17020fd4f50485ee56662b7b4a04982d",
"artifact_status": "COMPLIANT"
}
}
]
}
]
},
{
"policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "3f60ce81-f375-4593-8fc7-98eab9bd",
"flow_id": "fd583a48-28de-4b5c-b4a7-b6356e94",
"flow_name": "web-ci",
"trail_id": "525b0df9-ee9d-462b-b727-f682e9af",
"trail_name": "5fc87b1c17020fd4f50485ee56662b7b4a04982d"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": false,
"exceptions": []
}
},
"satisfied": null,
"ignored": true,
"resolutions": []
},
{
"rule": {
"type": "attestation",
"definition": {
"if_condition": null,
"name": "snyk-container-scan",
"type": "snyk",
"must_be_compliant": true
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "3f60ce81-f375-4593-8fc7-98eab9bd",
"flow_id": "fd583a48-28de-4b5c-b4a7-b6356e94",
"flow_name": "web-ci",
"trail_id": "525b0df9-ee9d-462b-b727-f682e9af",
"trail_name": "5fc87b1c17020fd4f50485ee56662b7b4a04982d",
"matching_attestation_id": "dc1d1d27-4933-430c-a889-c866c367",
"matching_attestation_name": "snyk-container-scan",
"matching_attestation_type": "snyk",
"matching_attestation_compliance": true
}
}
]
}
]
}
],
"reasons_for_incompliance": [],
"fingerprint": "9828ded232d0882203a9f2891a368e7551fff4974a54c76287caff7e21b9059a",
"creationTimestamp": [
1734437878,
1734437967,
1734437971
],
"pods": null,
"annotation": {
"type": "unchanged",
"was": 3,
"now": 3
},
"flow_name": "web-ci",
"git_commit": "5fc87b1c17020fd4f50485ee56662b7b4a04982d",
"commit_url": "https://github.com/cyber-dojo/web/commit/5fc87b1c17020fd4f50485ee56662b7b4a04982d",
"html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/9828ded232d0882203a9f2891a368e7551fff4974a54c76287caff7e21b9059a?artifact_id=3f60ce81-f375-4593-8fc7-98eab9bd",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/web/compare/c7e77cdad86eae306b7d8305f0e7dada7eaffc6d...5fc87b1c17020fd4f50485ee56662b7b4a04982d",
"previous_git_commit": "c7e77cdad86eae306b7d8305f0e7dada7eaffc6d",
"previous_fingerprint": "9c9e70dec5183c351a7e19f93fd2e92ec28ac514352d19d2603d2cbce85ea13d",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:c7e77cd",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/c7e77cdad86eae306b7d8305f0e7dada7eaffc6d",
"previous_trail_name": "c7e77cdad86eae306b7d8305f0e7dada7eaffc6d",
"previous_template_reference_name": "web"
},
"commit_lead_time": 886.0,
"flows": [
{
"flow_name": "web-ci",
"trail_name": "5fc87b1c17020fd4f50485ee56662b7b4a04982d",
"template_reference_name": "web",
"git_commit": "5fc87b1c17020fd4f50485ee56662b7b4a04982d",
"commit_url": "https://github.com/cyber-dojo/web/commit/5fc87b1c17020fd4f50485ee56662b7b4a04982d",
"git_commit_info": {
"sha1": "5fc87b1c17020fd4f50485ee56662b7b4a04982d",
"message": "Add --attachment flag to kosli-attest-snyk calls in Workflow (#134)",
"author": "Jon Jagger <jon@kosli.com>",
"branch": "main",
"timestamp": 1734436992.0,
"url": "https://github.com/cyber-dojo/web/commit/5fc87b1c17020fd4f50485ee56662b7b4a04982d"
},
"html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/9828ded232d0882203a9f2891a368e7551fff4974a54c76287caff7e21b9059a?artifact_id=3f60ce81-f375-4593-8fc7-98eab9bd",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/web/compare/c7e77cdad86eae306b7d8305f0e7dada7eaffc6d...5fc87b1c17020fd4f50485ee56662b7b4a04982d",
"previous_git_commit": "c7e77cdad86eae306b7d8305f0e7dada7eaffc6d",
"previous_fingerprint": "9c9e70dec5183c351a7e19f93fd2e92ec28ac514352d19d2603d2cbce85ea13d",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:c7e77cd",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/c7e77cdad86eae306b7d8305f0e7dada7eaffc6d",
"previous_trail_name": "c7e77cdad86eae306b7d8305f0e7dada7eaffc6d",
"previous_template_reference_name": "web"
},
"commit_lead_time": 886.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
]
},
{
"name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:3ccc36f",
"deployments": [],
"compliant": true,
"policy_decisions": [
{
"policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "b524c429-0a4e-4797-8a90-d38c8f87",
"flow_id": "c1bb83be-5195-4814-9fae-eac6bf67",
"flow_name": "exercises-start-points-ci",
"trail_id": "5ffea181-ff0f-41b8-9401-be083d22",
"trail_name": "3ccc36f7dc0670451bb3bfedf42528cc13af80c2"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "b524c429-0a4e-4797-8a90-d38c8f87",
"flow_id": "c1bb83be-5195-4814-9fae-eac6bf67",
"flow_name": "exercises-start-points-ci",
"trail_id": "5ffea181-ff0f-41b8-9401-be083d22",
"trail_name": "3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
"artifact_status": "COMPLIANT"
}
}
]
}
]
},
{
"policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "b524c429-0a4e-4797-8a90-d38c8f87",
"flow_id": "c1bb83be-5195-4814-9fae-eac6bf67",
"flow_name": "exercises-start-points-ci",
"trail_id": "5ffea181-ff0f-41b8-9401-be083d22",
"trail_name": "3ccc36f7dc0670451bb3bfedf42528cc13af80c2"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": false,
"exceptions": []
}
},
"satisfied": null,
"ignored": true,
"resolutions": []
},
{
"rule": {
"type": "attestation",
"definition": {
"if_condition": null,
"name": "snyk-container-scan",
"type": "snyk",
"must_be_compliant": true
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "b524c429-0a4e-4797-8a90-d38c8f87",
"flow_id": "c1bb83be-5195-4814-9fae-eac6bf67",
"flow_name": "exercises-start-points-ci",
"trail_id": "5ffea181-ff0f-41b8-9401-be083d22",
"trail_name": "3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
"matching_attestation_id": "556250c5-ee8e-462b-a0eb-9c2fcd11",
"matching_attestation_name": "snyk-container-scan",
"matching_attestation_type": "snyk",
"matching_attestation_compliance": true
}
}
]
}
]
}
],
"reasons_for_incompliance": [],
"fingerprint": "c60769e5131fe470a41bce2865b3e2cac8b085aa09dba3dc4f3376bd612f3bb0",
"creationTimestamp": [
1734437858
],
"pods": null,
"annotation": {
"type": "unchanged",
"was": 1,
"now": 1
},
"flow_name": "exercises-start-points-ci",
"git_commit": "3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
"commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
"html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/c60769e5131fe470a41bce2865b3e2cac8b085aa09dba3dc4f3376bd612f3bb0?artifact_id=b524c429-0a4e-4797-8a90-d38c8f87",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/exercises-start-points/compare/a7fde6f564511228205dfe23c61d825fcbfaaf7f...3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
"previous_git_commit": "a7fde6f564511228205dfe23c61d825fcbfaaf7f",
"previous_fingerprint": "6e54a3411540ba5fa493f9c7ab03fd4a4bbf90603acc91a283cbe06e5ee7b567",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:a7fde6f",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/a7fde6f564511228205dfe23c61d825fcbfaaf7f",
"previous_trail_name": "a7fde6f564511228205dfe23c61d825fcbfaaf7f",
"previous_template_reference_name": "exercises-start-points"
},
"commit_lead_time": 1635.0,
"flows": [
{
"flow_name": "exercises-start-points-ci",
"trail_name": "3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
"template_reference_name": "exercises-start-points",
"git_commit": "3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
"commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
"git_commit_info": {
"sha1": "3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
"message": "Merge pull request #44 from cyber-dojo/attest-attachments\n\nAdd --attachment flag to kosli-attest-snyk calls in Workflow",
"author": "Jon Jagger <jon@kosli.com>",
"branch": "main",
"timestamp": 1734436223.0,
"url": "https://github.com/cyber-dojo/exercises-start-points/commit/3ccc36f7dc0670451bb3bfedf42528cc13af80c2"
},
"html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/c60769e5131fe470a41bce2865b3e2cac8b085aa09dba3dc4f3376bd612f3bb0?artifact_id=b524c429-0a4e-4797-8a90-d38c8f87",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/exercises-start-points/compare/a7fde6f564511228205dfe23c61d825fcbfaaf7f...3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
"previous_git_commit": "a7fde6f564511228205dfe23c61d825fcbfaaf7f",
"previous_fingerprint": "6e54a3411540ba5fa493f9c7ab03fd4a4bbf90603acc91a283cbe06e5ee7b567",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:a7fde6f",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/a7fde6f564511228205dfe23c61d825fcbfaaf7f",
"previous_trail_name": "a7fde6f564511228205dfe23c61d825fcbfaaf7f",
"previous_template_reference_name": "exercises-start-points"
},
"commit_lead_time": 1635.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
]
},
{
"name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:a146899",
"deployments": [],
"compliant": true,
"policy_decisions": [
{
"policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "89ca9c7c-1e48-4104-a6bb-bf467481",
"flow_id": "28447c7d-904b-4594-8b05-88d5d938",
"flow_name": "nginx-ci",
"trail_id": "e608e75a-f2c6-4924-b5d0-9083b934",
"trail_name": "a146899f5ef8821bc337473e8111bb96242842c2"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "89ca9c7c-1e48-4104-a6bb-bf467481",
"flow_id": "28447c7d-904b-4594-8b05-88d5d938",
"flow_name": "nginx-ci",
"trail_id": "e608e75a-f2c6-4924-b5d0-9083b934",
"trail_name": "a146899f5ef8821bc337473e8111bb96242842c2",
"artifact_status": "COMPLIANT"
}
}
]
}
]
},
{
"policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "89ca9c7c-1e48-4104-a6bb-bf467481",
"flow_id": "28447c7d-904b-4594-8b05-88d5d938",
"flow_name": "nginx-ci",
"trail_id": "e608e75a-f2c6-4924-b5d0-9083b934",
"trail_name": "a146899f5ef8821bc337473e8111bb96242842c2"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": false,
"exceptions": []
}
},
"satisfied": null,
"ignored": true,
"resolutions": []
},
{
"rule": {
"type": "attestation",
"definition": {
"if_condition": null,
"name": "snyk-container-scan",
"type": "snyk",
"must_be_compliant": true
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "89ca9c7c-1e48-4104-a6bb-bf467481",
"flow_id": "28447c7d-904b-4594-8b05-88d5d938",
"flow_name": "nginx-ci",
"trail_id": "e608e75a-f2c6-4924-b5d0-9083b934",
"trail_name": "a146899f5ef8821bc337473e8111bb96242842c2",
"matching_attestation_id": "43e8f23a-e447-4158-8610-b20c6da1",
"matching_attestation_name": "snyk-container-scan",
"matching_attestation_type": "snyk",
"matching_attestation_compliance": true
}
}
]
}
]
}
],
"reasons_for_incompliance": [],
"fingerprint": "c0e0f1cccd3a5d867e5d90abfccd8a787031725093a67473325b6cb45a4cabd0",
"creationTimestamp": [
1734437855
],
"pods": null,
"annotation": {
"type": "unchanged",
"was": 1,
"now": 1
},
"flow_name": "nginx-ci",
"git_commit": "a146899f5ef8821bc337473e8111bb96242842c2",
"commit_url": "https://github.com/cyber-dojo/nginx/commit/a146899f5ef8821bc337473e8111bb96242842c2",
"html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/c0e0f1cccd3a5d867e5d90abfccd8a787031725093a67473325b6cb45a4cabd0?artifact_id=89ca9c7c-1e48-4104-a6bb-bf467481",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/nginx/compare/b8e88822b1500976c5ab973212a03f3bd77973ba...a146899f5ef8821bc337473e8111bb96242842c2",
"previous_git_commit": "b8e88822b1500976c5ab973212a03f3bd77973ba",
"previous_fingerprint": "ac0f554abe992043a8cf19abca36d421ff3f26d562daa295b707d15b41bd1dd3",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:b8e8882",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/nginx/commit/b8e88822b1500976c5ab973212a03f3bd77973ba",
"previous_trail_name": "b8e88822b1500976c5ab973212a03f3bd77973ba",
"previous_template_reference_name": "nginx"
},
"commit_lead_time": 1481.0,
"flows": [
{
"flow_name": "nginx-ci",
"trail_name": "a146899f5ef8821bc337473e8111bb96242842c2",
"template_reference_name": "nginx",
"git_commit": "a146899f5ef8821bc337473e8111bb96242842c2",
"commit_url": "https://github.com/cyber-dojo/nginx/commit/a146899f5ef8821bc337473e8111bb96242842c2",
"git_commit_info": {
"sha1": "a146899f5ef8821bc337473e8111bb96242842c2",
"message": "Merge pull request #37 from cyber-dojo/attest-attachments\n\nAdd --attachment flag to kosli-attest-snyk calls in Workflow",
"author": "Jon Jagger <jon@kosli.com>",
"branch": "main",
"timestamp": 1734436374.0,
"url": "https://github.com/cyber-dojo/nginx/commit/a146899f5ef8821bc337473e8111bb96242842c2"
},
"html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/c0e0f1cccd3a5d867e5d90abfccd8a787031725093a67473325b6cb45a4cabd0?artifact_id=89ca9c7c-1e48-4104-a6bb-bf467481",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/nginx/compare/b8e88822b1500976c5ab973212a03f3bd77973ba...a146899f5ef8821bc337473e8111bb96242842c2",
"previous_git_commit": "b8e88822b1500976c5ab973212a03f3bd77973ba",
"previous_fingerprint": "ac0f554abe992043a8cf19abca36d421ff3f26d562daa295b707d15b41bd1dd3",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:b8e8882",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/nginx/commit/b8e88822b1500976c5ab973212a03f3bd77973ba",
"previous_trail_name": "b8e88822b1500976c5ab973212a03f3bd77973ba",
"previous_template_reference_name": "nginx"
},
"commit_lead_time": 1481.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
]
},
{
"name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:9687deb",
"deployments": [],
"compliant": true,
"policy_decisions": [
{
"policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "fe201c5d-7455-46e9-b6f2-7470732d",
"flow_id": "217f4b82-2fe6-41ef-8214-e34c3a47",
"flow_name": "custom-start-points-ci",
"trail_id": "27c2e6de-be56-417f-a5ce-9c4b3181",
"trail_name": "9687deb44cd233d817cdb9c89320e82748130e6a"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "fe201c5d-7455-46e9-b6f2-7470732d",
"flow_id": "217f4b82-2fe6-41ef-8214-e34c3a47",
"flow_name": "custom-start-points-ci",
"trail_id": "27c2e6de-be56-417f-a5ce-9c4b3181",
"trail_name": "9687deb44cd233d817cdb9c89320e82748130e6a",
"artifact_status": "COMPLIANT"
}
}
]
}
]
},
{
"policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "fe201c5d-7455-46e9-b6f2-7470732d",
"flow_id": "217f4b82-2fe6-41ef-8214-e34c3a47",
"flow_name": "custom-start-points-ci",
"trail_id": "27c2e6de-be56-417f-a5ce-9c4b3181",
"trail_name": "9687deb44cd233d817cdb9c89320e82748130e6a"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": false,
"exceptions": []
}
},
"satisfied": null,
"ignored": true,
"resolutions": []
},
{
"rule": {
"type": "attestation",
"definition": {
"if_condition": null,
"name": "snyk-container-scan",
"type": "snyk",
"must_be_compliant": true
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "fe201c5d-7455-46e9-b6f2-7470732d",
"flow_id": "217f4b82-2fe6-41ef-8214-e34c3a47",
"flow_name": "custom-start-points-ci",
"trail_id": "27c2e6de-be56-417f-a5ce-9c4b3181",
"trail_name": "9687deb44cd233d817cdb9c89320e82748130e6a",
"matching_attestation_id": "ea0bcb33-be3a-4abe-8f04-8e626d8f",
"matching_attestation_name": "snyk-container-scan",
"matching_attestation_type": "snyk",
"matching_attestation_compliance": true
}
}
]
}
]
}
],
"reasons_for_incompliance": [],
"fingerprint": "9a9d148b4cafb8d2d99d152291516bf225038739a1a3b2c135011c78d53457b5",
"creationTimestamp": [
1734437845
],
"pods": null,
"annotation": {
"type": "unchanged",
"was": 1,
"now": 1
},
"flow_name": "custom-start-points-ci",
"git_commit": "9687deb44cd233d817cdb9c89320e82748130e6a",
"commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/9687deb44cd233d817cdb9c89320e82748130e6a",
"html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/9a9d148b4cafb8d2d99d152291516bf225038739a1a3b2c135011c78d53457b5?artifact_id=fe201c5d-7455-46e9-b6f2-7470732d",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/74bd0b5a956615fc7aaf4c79e4249ef092a14560...9687deb44cd233d817cdb9c89320e82748130e6a",
"previous_git_commit": "74bd0b5a956615fc7aaf4c79e4249ef092a14560",
"previous_fingerprint": "86ab562076e372f0a8739474b4306f7b3d4deb70e4c94461f8fe0edecf102426",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:74bd0b5",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/74bd0b5a956615fc7aaf4c79e4249ef092a14560",
"previous_trail_name": "74bd0b5a956615fc7aaf4c79e4249ef092a14560",
"previous_template_reference_name": "custom-start-points"
},
"commit_lead_time": 1773.0,
"flows": [
{
"flow_name": "custom-start-points-ci",
"trail_name": "9687deb44cd233d817cdb9c89320e82748130e6a",
"template_reference_name": "custom-start-points",
"git_commit": "9687deb44cd233d817cdb9c89320e82748130e6a",
"commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/9687deb44cd233d817cdb9c89320e82748130e6a",
"git_commit_info": {
"sha1": "9687deb44cd233d817cdb9c89320e82748130e6a",
"message": "Merge pull request #43 from cyber-dojo/attest-attachments\n\nAdd --attachment flag to kosli-attest-snyk calls in Workflow",
"author": "Jon Jagger <jon@kosli.com>",
"branch": "main",
"timestamp": 1734436072.0,
"url": "https://github.com/cyber-dojo/custom-start-points/commit/9687deb44cd233d817cdb9c89320e82748130e6a"
},
"html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/9a9d148b4cafb8d2d99d152291516bf225038739a1a3b2c135011c78d53457b5?artifact_id=fe201c5d-7455-46e9-b6f2-7470732d",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/74bd0b5a956615fc7aaf4c79e4249ef092a14560...9687deb44cd233d817cdb9c89320e82748130e6a",
"previous_git_commit": "74bd0b5a956615fc7aaf4c79e4249ef092a14560",
"previous_fingerprint": "86ab562076e372f0a8739474b4306f7b3d4deb70e4c94461f8fe0edecf102426",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:74bd0b5",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/74bd0b5a956615fc7aaf4c79e4249ef092a14560",
"previous_trail_name": "74bd0b5a956615fc7aaf4c79e4249ef092a14560",
"previous_template_reference_name": "custom-start-points"
},
"commit_lead_time": 1773.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
]
},
{
"name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:fbadb11",
"deployments": [],
"compliant": true,
"policy_decisions": [
{
"policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "b179db81-ba1b-4805-9d48-cb93985f",
"flow_id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e",
"flow_name": "dashboard-ci",
"trail_id": "59a04d37-242a-45c1-82b6-bc665654",
"trail_name": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "b179db81-ba1b-4805-9d48-cb93985f",
"flow_id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e",
"flow_name": "dashboard-ci",
"trail_id": "59a04d37-242a-45c1-82b6-bc665654",
"trail_name": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
"artifact_status": "COMPLIANT"
}
}
]
}
]
},
{
"policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
"policy_version": 1,
"status": "COMPLIANT",
"rule_evaluations": [
{
"rule": {
"type": "provenance",
"definition": {
"required": true,
"exceptions": []
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "b179db81-ba1b-4805-9d48-cb93985f",
"flow_id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e",
"flow_name": "dashboard-ci",
"trail_id": "59a04d37-242a-45c1-82b6-bc665654",
"trail_name": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6"
}
}
]
},
{
"rule": {
"type": "trail-compliance",
"definition": {
"required": false,
"exceptions": []
}
},
"satisfied": null,
"ignored": true,
"resolutions": []
},
{
"rule": {
"type": "attestation",
"definition": {
"if_condition": null,
"name": "snyk-container-scan",
"type": "snyk",
"must_be_compliant": true
}
},
"satisfied": true,
"ignored": false,
"resolutions": [
{
"type": "rule_satisfied",
"context": {
"artifact_id": "b179db81-ba1b-4805-9d48-cb93985f",
"flow_id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e",
"flow_name": "dashboard-ci",
"trail_id": "59a04d37-242a-45c1-82b6-bc665654",
"trail_name": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
"matching_attestation_id": "45efdbb6-e7ad-44ea-8fab-b59f1f02",
"matching_attestation_name": "snyk-container-scan",
"matching_attestation_type": "snyk",
"matching_attestation_compliance": true
}
}
]
}
]
}
],
"reasons_for_incompliance": [],
"fingerprint": "0f23d3be5b12f4ed64bef569f8d3855a8313fb0d9002afb5d9bc9fe286003f11",
"creationTimestamp": [
1734418981
],
"pods": null,
"annotation": {
"type": "exited",
"was": 1,
"now": 0
},
"flow_name": "dashboard-ci",
"git_commit": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
"commit_url": "https://github.com/cyber-dojo/dashboard/commit/fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
"html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/0f23d3be5b12f4ed64bef569f8d3855a8313fb0d9002afb5d9bc9fe286003f11?artifact_id=b179db81-ba1b-4805-9d48-cb93985f",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/dashboard/compare/f74bb82cbb72c9e19a31660acb11705728abc772...fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
"previous_git_commit": "f74bb82cbb72c9e19a31660acb11705728abc772",
"previous_fingerprint": "d23d2d0b744b013f658750a2483d3e04f3d474a072b2837ecb2af8d0e34b0c0c",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:f74bb82",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/f74bb82cbb72c9e19a31660acb11705728abc772",
"previous_trail_name": "f74bb82cbb72c9e19a31660acb11705728abc772",
"previous_template_reference_name": "dashboard"
},
"commit_lead_time": 10978.0,
"flows": [
{
"flow_name": "dashboard-ci",
"trail_name": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
"template_reference_name": "dashboard",
"git_commit": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
"commit_url": "https://github.com/cyber-dojo/dashboard/commit/fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
"git_commit_info": {
"sha1": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
"message": "Put --attachments flag on correct call (#241)",
"author": "Jon Jagger <jon@kosli.com>",
"branch": "main",
"timestamp": 1734408003.0,
"url": "https://github.com/cyber-dojo/dashboard/commit/fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6"
},
"html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/0f23d3be5b12f4ed64bef569f8d3855a8313fb0d9002afb5d9bc9fe286003f11?artifact_id=b179db81-ba1b-4805-9d48-cb93985f",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci",
"deployment_diff": {
"diff_url": "https://github.com/cyber-dojo/dashboard/compare/f74bb82cbb72c9e19a31660acb11705728abc772...fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
"previous_git_commit": "f74bb82cbb72c9e19a31660acb11705728abc772",
"previous_fingerprint": "d23d2d0b744b013f658750a2483d3e04f3d474a072b2837ecb2af8d0e34b0c0c",
"previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:f74bb82",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/f74bb82cbb72c9e19a31660acb11705728abc772",
"previous_trail_name": "f74bb82cbb72c9e19a31660acb11705728abc772",
"previous_template_reference_name": "dashboard"
},
"commit_lead_time": 10978.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
]
}
],
"applied_policies": [
{
"id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
"name": "default-policy",
"version": 1,
"policy_dump": {
"schema_version": "1",
"artifacts": {
"provenance": {
"required": true,
"exceptions": []
},
"trail_compliance": {
"required": true,
"exceptions": []
},
"attestations": []
}
},
"failing_artifacts": []
},
{
"id": "d4f22b17-1fac-4f36-a735-5a39f697",
"name": "snyk-policy",
"version": 1,
"policy_dump": {
"schema_version": "1",
"artifacts": {
"provenance": {
"required": true,
"exceptions": []
},
"trail_compliance": {
"required": false,
"exceptions": []
},
"attestations": [
{
"if_condition": null,
"name": "snyk-container-scan",
"type": "snyk",
"must_be_compliant": true
}
]
}
},
"failing_artifacts": []
}
]
}