Skip to content
This repository has been archived by the owner on Jan 23, 2025. It is now read-only.

added policy to check immutable tags for ecr #1076

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
13 changes: 13 additions & 0 deletions avd_docs/aws/ecr/AVD-AWS-0192/docs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

Ensures ECR repository image tags cannot be overwritten

### Impact
<!-- Add Impact here -->

<!-- DO NOT CHANGE -->
{{ remediationActions }}

### Links
- https://sysdig.com/blog/toctou-tag-mutability/


5 changes: 4 additions & 1 deletion avd_docs/kubernetes/general/AVD-KSV-0107/docs.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@

apiVersion and kind has been deprecated
apiVersion '' and kind '' has been deprecated on: '' and planned for removal on:''
SanaaYousaf marked this conversation as resolved.
Show resolved Hide resolved

### Impact
<!-- Add Impact here -->

<!-- DO NOT CHANGE -->
{{ remediationActions }}

### Links
-

SanaaYousaf marked this conversation as resolved.
Show resolved Hide resolved

4 changes: 2 additions & 2 deletions avd_docs/kubernetes/general/AVD-KSV-0108/docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
Services with external IP addresses allows direct access from the internet and might expose risk for CVE-2020-8554

### Impact
Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.externalIPs field, to intercept traffic to that IP address. Additionally, an attacker who is able to patch the status (which is considered a privileged operation and should not typically be granted to users) of a LoadBalancer service can set the status.loadBalancer.ingress.ip to similar effect.
https://www.cvedetails.com/cve/CVE-2020-8554/
<!-- Add Impact here -->
SanaaYousaf marked this conversation as resolved.
Show resolved Hide resolved

SanaaYousaf marked this conversation as resolved.
Show resolved Hide resolved
<!-- DO NOT CHANGE -->
{{ remediationActions }}

Expand Down
2 changes: 1 addition & 1 deletion avd_docs/kubernetes/general/AVD-KSV-0109/docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Storing secrets in configMaps is unsafe

### Impact
Unsafe storage of secret content in configMaps could lead to the information being compromised.
<!-- Add Impact here -->
SanaaYousaf marked this conversation as resolved.
Show resolved Hide resolved

<!-- DO NOT CHANGE -->
{{ remediationActions }}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# METADATA
# title: "ECR Repository Tag Immutability"
# description: "Ensures ECR repository image tags cannot be overwritten"
# scope: package
# schemas:
# - input: schema.input
# related_resources:
# - https://sysdig.com/blog/toctou-tag-mutability/
# custom:
# avd_id: AVD-AWS-0192
# provider: aws
# service: ecr
# severity: HIGH
# short_code: enforce-immutable-repository
# recommended_action: "Update ECR registry configurations to ensure image tag mutability is set to immutable."
# input:
# selector:
# - type: cloud
package builtin.aws.ecr.aws0192

deny[res] {
repo := input.aws.ecr.repositories[_]
not repo.imagetagsimmutable.value
res := result.new("Repository tags are mutable.", repo.imagetagsimmutable)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package builtin.aws.ecr.aws0192

test_detects_when_mutable {
r := deny with input as {"aws": {"ecr": {"repositories": [{"imagetagsimmutable": {"value": false}}]}}}
count(r) == 1
}

test_when_immutable {
r := deny with input as {"aws": {"ecr": {"repositories": [{"imagetagsimmutable": {"value": true}}]}}}
count(r) == 0
}