diff --git a/assets/queries/k8s/object_is_using_a_deprecated_api_version/metadata.json b/assets/queries/k8s/object_is_using_a_deprecated_api_version/metadata.json index 99f04d3f9b9..6b040eb9b59 100644 --- a/assets/queries/k8s/object_is_using_a_deprecated_api_version/metadata.json +++ b/assets/queries/k8s/object_is_using_a_deprecated_api_version/metadata.json @@ -1,10 +1,10 @@ { "id": "94b76ea5-e074-4ca2-8a03-c5a606e30645", "queryName": "Object Is Using A Deprecated API Version", - "severity": "HIGH", - "category": "Insecure Configurations", - "descriptionText": "Check if any objects are using a deprecated version of API.", - "descriptionUrl": "https://kubernetes.io/docs/reference/using-api/deprecation-policy/", + "severity": "LOW", + "category": "Best Practices", + "descriptionText": "Kubernetes APIs evolve over time and are sometimes removed with newer releases. To prevent incompatibilities when upgrading Kubernetes, deprecated APIs should be replaced with newer and more stable API versions.", + "descriptionUrl": "https://kubernetes.io/docs/reference/using-api/deprecation-guide/", "platform": "Kubernetes", "descriptionID": "d5c30c5b" } diff --git a/assets/queries/k8s/object_is_using_a_deprecated_api_version/query.rego b/assets/queries/k8s/object_is_using_a_deprecated_api_version/query.rego index 97efdf6babe..5282ea26bbe 100644 --- a/assets/queries/k8s/object_is_using_a_deprecated_api_version/query.rego +++ b/assets/queries/k8s/object_is_using_a_deprecated_api_version/query.rego @@ -35,6 +35,12 @@ CxPolicy[result] { "Role": "rbac.authorization.k8s.io/v1", "RoleBinding": "rbac.authorization.k8s.io/v1", }, + "batch/v1beta1": { + "CronJob": "batch/v1", + }, + "policy/v1beta1": { + "PodDisruptionBudget": "policy/v1", + } } common_lib.valid_key(recommendedVersions[document.apiVersion], document.kind) diff --git a/assets/queries/k8s/object_is_using_a_deprecated_api_version/test/positive.yaml b/assets/queries/k8s/object_is_using_a_deprecated_api_version/test/positive.yaml index 8d5aa28fa76..a41f5bdb91e 100644 --- a/assets/queries/k8s/object_is_using_a_deprecated_api_version/test/positive.yaml +++ b/assets/queries/k8s/object_is_using_a_deprecated_api_version/test/positive.yaml @@ -90,3 +90,23 @@ spec: name: test port: number: 80 +--- +apiVersion: batch/v1beta1 +kind: CronJob +metadata: + name: hello +spec: + schedule: "* * * * *" + jobTemplate: + spec: + template: + spec: + containers: + - name: hello + image: busybox + imagePullPolicy: IfNotPresent + command: + - /bin/sh + - -c + - date; echo Hello from kics + restartPolicy: OnFailure diff --git a/assets/queries/k8s/object_is_using_a_deprecated_api_version/test/positive_expected_result.json b/assets/queries/k8s/object_is_using_a_deprecated_api_version/test/positive_expected_result.json index 7ddf4d1be26..aeea421e766 100644 --- a/assets/queries/k8s/object_is_using_a_deprecated_api_version/test/positive_expected_result.json +++ b/assets/queries/k8s/object_is_using_a_deprecated_api_version/test/positive_expected_result.json @@ -1,22 +1,27 @@ [ { "queryName": "Object Is Using A Deprecated API Version", - "severity": "HIGH", + "severity": "LOW", "line": 1 }, { "queryName": "Object Is Using A Deprecated API Version", - "severity": "HIGH", + "severity": "LOW", "line": 23 }, { "queryName": "Object Is Using A Deprecated API Version", - "severity": "HIGH", + "severity": "LOW", "line": 58 }, { "queryName": "Object Is Using A Deprecated API Version", - "severity": "HIGH", + "severity": "LOW", "line": 76 + }, + { + "queryName": "Object Is Using A Deprecated API Version", + "severity": "LOW", + "line": 94 } ]