RuntimeClasses
| Operation | Description | Sample | Rule |
|---|---|---|---|
| get-runtimeclasses | Reads a single RuntimeClass, which selects the container runtime (e.g. a sandboxed gVisor/Kata handler) a pod uses. Elastic flags a first-seen reader. | Y | N |
| list-runtimeclasses | Lists available RuntimeClasses, reconnaissance for which sandboxing options (or lack of one) a pod could request. Elastic's new-terms rule covers this verb too. | Y | N |
| watch-runtimeclasses | Opens a long-lived watch on RuntimeClass changes. Elastic's new-terms user-agent rule flags a not-previously-seen identity watching this sandboxing config. | Y | N |
| create-runtimeclasses | Y | N | |
| update-runtimeclasses | Y | N | |
| patch-runtimeclasses | Modifies a RuntimeClass's handler or overhead settings, changing which container runtime pods that reference it get. Elastic flags an unexpected change. | Y | N |
| delete-runtimeclasses | Y | N | |
| deletecollection-runtimeclasses | Y | N | |
| any-runtimeclasses | Synthetic aggregation for rules that filter the runtimeclasses resource with no specific verb. Not a distinct audit record; hosts rule listings that key on objectRef.resource alone. | N | Y |
get runtimeclasses
#Description
Reads a single RuntimeClass, which selects the container runtime (e.g. a sandboxed gVisor/Kata handler) a pod uses. Elastic flags a first-seen reader.
Example Audit Event #
{
"kind": "Event",
"apiVersion": "audit.k8s.io/v1",
"level": "Metadata",
"auditID": "00000000-0000-0000-0000-000000000000",
"stage": "ResponseComplete",
"requestURI": "/apis/node.k8s.io/v1/runtimeclasses/dw-harn-runtimeclasses",
"verb": "get",
"user": {
"username": "kubernetes-admin",
"groups": [
"kubeadm:cluster-admins",
"system:authenticated"
],
"extra": {
"authentication.kubernetes.io/credential-id": [
"X509SHA256=9bb0383c49b319fbf6b5ed61ab944378956d4292c784d32244ce2fa4dd846a3c"
]
}
},
"sourceIPs": [
"203.0.113.10"
],
"userAgent": "kubectl/v1.36.2 (linux/amd64) kubernetes/24e2b02",
"objectRef": {
"resource": "runtimeclasses",
"name": "dw-harn-runtimeclasses",
"apiGroup": "node.k8s.io",
"apiVersion": "v1"
},
"responseStatus": {
"metadata": {},
"code": 200
},
"requestReceivedTimestamp": "2026-07-02T04:48:27.981664Z",
"stageTimestamp": "2026-07-02T04:48:27.982829Z",
"annotations": {
"authorization.k8s.io/decision": "allow",
"authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"kubeadm:cluster-admins\" of ClusterRole \"cluster-admin\" to Group \"kubeadm:cluster-admins\""
}
}
References #
list runtimeclasses
#Description
Lists available RuntimeClasses, reconnaissance for which sandboxing options (or lack of one) a pod could request. Elastic's new-terms rule covers this verb too.
Example Audit Event #
{
"kind": "Event",
"apiVersion": "audit.k8s.io/v1",
"level": "Metadata",
"auditID": "00000000-0000-0000-0000-000000000000",
"stage": "ResponseComplete",
"requestURI": "/apis/node.k8s.io/v1/runtimeclasses?labelSelector=dw-harn-patched%3D1",
"verb": "list",
"user": {
"username": "kubernetes-admin",
"groups": [
"kubeadm:cluster-admins",
"system:authenticated"
],
"extra": {
"authentication.kubernetes.io/credential-id": [
"X509SHA256=fd038e49e5a46840f8f58360c3f09257f92bccd0cadad3ad68fcfec20b99b52c"
]
}
},
"sourceIPs": [
"203.0.113.10"
],
"userAgent": "kubectl/v1.36.2 (linux/amd64) kubernetes/24e2b02",
"objectRef": {
"resource": "runtimeclasses",
"apiGroup": "node.k8s.io",
"apiVersion": "v1"
},
"responseStatus": {
"metadata": {},
"code": 200
},
"requestReceivedTimestamp": "2026-07-02T22:13:23.655333Z",
"stageTimestamp": "2026-07-02T22:13:23.657047Z",
"annotations": {
"authorization.k8s.io/decision": "allow",
"authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"kubeadm:cluster-admins\" of ClusterRole \"cluster-admin\" to Group \"kubeadm:cluster-admins\""
}
}
References #
watch runtimeclasses
#Description
Opens a long-lived watch on RuntimeClass changes. Elastic's new-terms user-agent rule flags a not-previously-seen identity watching this sandboxing config.
Example Audit Event #
{
"kind": "Event",
"apiVersion": "audit.k8s.io/v1",
"level": "Metadata",
"auditID": "00000000-0000-0000-0000-000000000000",
"stage": "ResponseComplete",
"requestURI": "/apis/node.k8s.io/v1/runtimeclasses?resourceVersion=965&timeout=3s&watch=true",
"verb": "watch",
"user": {
"username": "kubernetes-admin",
"groups": [
"kubeadm:cluster-admins",
"system:authenticated"
],
"extra": {
"authentication.kubernetes.io/credential-id": [
"X509SHA256=fd038e49e5a46840f8f58360c3f09257f92bccd0cadad3ad68fcfec20b99b52c"
]
}
},
"sourceIPs": [
"203.0.113.10"
],
"userAgent": "kubectl/v1.36.2 (linux/amd64) kubernetes/24e2b02",
"objectRef": {
"resource": "runtimeclasses",
"apiGroup": "node.k8s.io",
"apiVersion": "v1"
},
"responseStatus": {
"metadata": {},
"code": 200
},
"requestReceivedTimestamp": "2026-07-02T22:13:20.287079Z",
"stageTimestamp": "2026-07-02T22:13:23.296156Z",
"annotations": {
"authorization.k8s.io/decision": "allow",
"authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"kubeadm:cluster-admins\" of ClusterRole \"cluster-admin\" to Group \"kubeadm:cluster-admins\""
}
}
References #
create runtimeclasses
#Example Audit Event #
{
"kind": "Event",
"apiVersion": "audit.k8s.io/v1",
"level": "RequestResponse",
"auditID": "00000000-0000-0000-0000-000000000000",
"stage": "ResponseComplete",
"requestURI": "/apis/node.k8s.io/v1/runtimeclasses?fieldManager=kubectl-create&fieldValidation=Strict",
"verb": "create",
"user": {
"username": "kubernetes-admin",
"groups": [
"kubeadm:cluster-admins",
"system:authenticated"
],
"extra": {
"authentication.kubernetes.io/credential-id": [
"X509SHA256=9bb0383c49b319fbf6b5ed61ab944378956d4292c784d32244ce2fa4dd846a3c"
]
}
},
"sourceIPs": [
"203.0.113.10"
],
"userAgent": "kubectl/v1.36.2 (linux/amd64) kubernetes/24e2b02",
"objectRef": {
"resource": "runtimeclasses",
"name": "dw-harn-runtimeclasses",
"apiGroup": "node.k8s.io",
"apiVersion": "v1"
},
"responseStatus": {
"metadata": {},
"code": 201
},
"requestObject": {
"kind": "RuntimeClass",
"apiVersion": "node.k8s.io/v1",
"metadata": {
"name": "dw-harn-runtimeclasses"
},
"handler": "runc"
},
"responseObject": {
"kind": "RuntimeClass",
"apiVersion": "node.k8s.io/v1",
"metadata": {
"name": "dw-harn-runtimeclasses",
"uid": "00000000-0000-0000-0000-000000000000",
"resourceVersion": "1709",
"creationTimestamp": "2026-07-02T04:48:27Z"
},
"handler": "runc"
},
"requestReceivedTimestamp": "2026-07-02T04:48:27.909670Z",
"stageTimestamp": "2026-07-02T04:48:27.912892Z",
"annotations": {
"authorization.k8s.io/decision": "allow",
"authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"kubeadm:cluster-admins\" of ClusterRole \"cluster-admin\" to Group \"kubeadm:cluster-admins\""
}
}
References #
update runtimeclasses
#Example Audit Event #
{
"kind": "Event",
"apiVersion": "audit.k8s.io/v1",
"level": "RequestResponse",
"auditID": "00000000-0000-0000-0000-000000000000",
"stage": "ResponseComplete",
"requestURI": "/apis/node.k8s.io/v1/runtimeclasses/dw-harn-runtimeclasses?fieldManager=kubectl-replace&fieldValidation=Strict",
"verb": "update",
"user": {
"username": "kubernetes-admin",
"groups": [
"kubeadm:cluster-admins",
"system:authenticated"
],
"extra": {
"authentication.kubernetes.io/credential-id": [
"X509SHA256=4cf95d11cbd90036bab41cdc6b88cc8f91550e9135ed4bb61495b02f647812ff"
]
}
},
"sourceIPs": [
"203.0.113.10"
],
"userAgent": "kubectl/v1.36.2 (linux/amd64) kubernetes/24e2b02",
"objectRef": {
"resource": "runtimeclasses",
"name": "dw-harn-runtimeclasses",
"uid": "00000000-0000-0000-0000-000000000000",
"apiGroup": "node.k8s.io",
"apiVersion": "v1",
"resourceVersion": "908"
},
"responseStatus": {
"metadata": {},
"code": 200
},
"requestObject": {
"kind": "RuntimeClass",
"apiVersion": "node.k8s.io/v1",
"metadata": {
"name": "dw-harn-runtimeclasses",
"uid": "00000000-0000-0000-0000-000000000000",
"resourceVersion": "908",
"creationTimestamp": "2026-07-02T21:32:06Z",
"labels": {
"dw-harn-patched": "1"
}
},
"handler": "runc"
},
"responseObject": {
"kind": "RuntimeClass",
"apiVersion": "node.k8s.io/v1",
"metadata": {
"name": "dw-harn-runtimeclasses",
"uid": "00000000-0000-0000-0000-000000000000",
"resourceVersion": "908",
"creationTimestamp": "2026-07-02T21:32:06Z",
"labels": {
"dw-harn-patched": "1"
}
},
"handler": "runc"
},
"requestReceivedTimestamp": "2026-07-02T21:32:09.860854Z",
"stageTimestamp": "2026-07-02T21:32:09.863387Z",
"annotations": {
"authorization.k8s.io/decision": "allow",
"authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"kubeadm:cluster-admins\" of ClusterRole \"cluster-admin\" to Group \"kubeadm:cluster-admins\""
}
}
References #
patch runtimeclasses
#Description
Modifies a RuntimeClass's handler or overhead settings, changing which container runtime pods that reference it get. Elastic flags an unexpected change.
Example Audit Event #
{
"kind": "Event",
"apiVersion": "audit.k8s.io/v1",
"level": "RequestResponse",
"auditID": "00000000-0000-0000-0000-000000000000",
"stage": "ResponseComplete",
"requestURI": "/apis/node.k8s.io/v1/runtimeclasses/dw-harn-runtimeclasses?fieldManager=kubectl-patch",
"verb": "patch",
"user": {
"username": "kubernetes-admin",
"groups": [
"kubeadm:cluster-admins",
"system:authenticated"
],
"extra": {
"authentication.kubernetes.io/credential-id": [
"X509SHA256=9bb0383c49b319fbf6b5ed61ab944378956d4292c784d32244ce2fa4dd846a3c"
]
}
},
"sourceIPs": [
"203.0.113.10"
],
"userAgent": "kubectl/v1.36.2 (linux/amd64) kubernetes/24e2b02",
"objectRef": {
"resource": "runtimeclasses",
"name": "dw-harn-runtimeclasses",
"apiGroup": "node.k8s.io",
"apiVersion": "v1"
},
"responseStatus": {
"metadata": {},
"code": 200
},
"requestObject": {
"metadata": {
"labels": {
"dw-harn-patched": "1"
}
}
},
"responseObject": {
"kind": "RuntimeClass",
"apiVersion": "node.k8s.io/v1",
"metadata": {
"name": "dw-harn-runtimeclasses",
"uid": "00000000-0000-0000-0000-000000000000",
"resourceVersion": "1713",
"creationTimestamp": "2026-07-02T04:48:27Z",
"labels": {
"dw-harn-patched": "1"
}
},
"handler": "runc"
},
"requestReceivedTimestamp": "2026-07-02T04:48:31.186864Z",
"stageTimestamp": "2026-07-02T04:48:31.191240Z",
"annotations": {
"authorization.k8s.io/decision": "allow",
"authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"kubeadm:cluster-admins\" of ClusterRole \"cluster-admin\" to Group \"kubeadm:cluster-admins\""
}
}
References #
delete runtimeclasses
#Example Audit Event #
{
"kind": "Event",
"apiVersion": "audit.k8s.io/v1",
"level": "RequestResponse",
"auditID": "00000000-0000-0000-0000-000000000000",
"stage": "ResponseComplete",
"requestURI": "/apis/node.k8s.io/v1/runtimeclasses/dw-harn-runtimeclasses",
"verb": "delete",
"user": {
"username": "kubernetes-admin",
"groups": [
"kubeadm:cluster-admins",
"system:authenticated"
],
"extra": {
"authentication.kubernetes.io/credential-id": [
"X509SHA256=9bb0383c49b319fbf6b5ed61ab944378956d4292c784d32244ce2fa4dd846a3c"
]
}
},
"sourceIPs": [
"203.0.113.10"
],
"userAgent": "kubectl/v1.36.2 (linux/amd64) kubernetes/24e2b02",
"objectRef": {
"resource": "runtimeclasses",
"name": "dw-harn-runtimeclasses",
"apiGroup": "node.k8s.io",
"apiVersion": "v1"
},
"responseStatus": {
"metadata": {},
"status": "Success",
"details": {
"name": "dw-harn-runtimeclasses",
"group": "node.k8s.io",
"kind": "runtimeclasses",
"uid": "00000000-0000-0000-0000-000000000000"
},
"code": 200
},
"requestObject": {
"kind": "DeleteOptions",
"apiVersion": "meta.k8s.io/__internal",
"propagationPolicy": "Background"
},
"responseObject": {
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Success",
"details": {
"name": "dw-harn-runtimeclasses",
"group": "node.k8s.io",
"kind": "runtimeclasses",
"uid": "00000000-0000-0000-0000-000000000000"
}
},
"requestReceivedTimestamp": "2026-07-02T04:48:31.253160Z",
"stageTimestamp": "2026-07-02T04:48:31.256288Z",
"annotations": {
"authorization.k8s.io/decision": "allow",
"authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"kubeadm:cluster-admins\" of ClusterRole \"cluster-admin\" to Group \"kubeadm:cluster-admins\""
}
}
References #
deletecollection runtimeclasses
#Example Audit Event #
{
"kind": "Event",
"apiVersion": "audit.k8s.io/v1",
"level": "RequestResponse",
"auditID": "00000000-0000-0000-0000-000000000000",
"stage": "ResponseComplete",
"requestURI": "/apis/node.k8s.io/v1/runtimeclasses?labelSelector=dw-harn-patched",
"verb": "deletecollection",
"user": {
"username": "kubernetes-admin",
"groups": [
"kubeadm:cluster-admins",
"system:authenticated"
],
"extra": {
"authentication.kubernetes.io/credential-id": [
"X509SHA256=3ffde68ef687218e01296d94b0aa59c81cc98de2bd73ab70e21510c8cd4b9cec"
]
}
},
"sourceIPs": [
"203.0.113.10"
],
"userAgent": "kubectl/v1.36.2 (linux/amd64) kubernetes/24e2b02",
"objectRef": {
"resource": "runtimeclasses",
"apiGroup": "node.k8s.io",
"apiVersion": "v1"
},
"responseStatus": {
"metadata": {},
"code": 200
},
"responseObject": {
"kind": "RuntimeClassList",
"apiVersion": "node.k8s.io/v1",
"metadata": {
"resourceVersion": "1116"
},
"items": [
{
"metadata": {
"name": "dw-harn-runtimeclasses",
"uid": "00000000-0000-0000-0000-000000000000",
"resourceVersion": "1113",
"creationTimestamp": "2026-07-02T23:14:20Z",
"labels": {
"dw-harn-patched": "1"
}
},
"handler": "runc"
}
]
},
"requestReceivedTimestamp": "2026-07-02T23:14:24.241233Z",
"stageTimestamp": "2026-07-02T23:14:24.246252Z",
"annotations": {
"authorization.k8s.io/decision": "allow",
"authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"kubeadm:cluster-admins\" of ClusterRole \"cluster-admin\" to Group \"kubeadm:cluster-admins\""
}
}
References #
any verb on runtimeclasses (synthetic aggregation)
#Description
Synthetic aggregation for rules that filter the runtimeclasses resource with no specific verb. Not a distinct audit record; hosts rule listings that key on objectRef.resource alone.
Detection Rules #
Full rule details for this event, including ATT&CK technique mappings and native queries →Elastic #
T1078