Reference Library for Kubernetes Audit Falco Threat Detection Rules

Sysdig Secure enables you to create and customize Threat Detection Rules to secure your environment. This topic provides all the fields and events that apply to Falco rules for Kubernetes Audit.

Fields

Field Class: JSON

NameTypeDescription
json.valueCHARBUFExtracts a value from a JSON-encoded input. Syntax is json.value[], where is a json pointer (see https://datatracker.ietf.org/doc/html/rfc6901)
json.objCHARBUFThe full json message as a text string.
json.rawtimeCHARBUFThe time of the event, identical to evt.rawtime.
jevt.valueCHARBUFAlias for json.value, provided for backwards compatibility.
jevt.objCHARBUFAlias for json.obj, provided for backwards compatibility.
jevt.rawtimeCHARBUFAlias for json.rawtime, provided for backwards compatibility.

Field Class: Kubernetes Audit

NameTypeDescription
ka.auditidCHARBUFThe unique id of the audit event
ka.stageCHARBUFStage of the request (e.g. RequestReceived, ResponseComplete, etc.)
ka.auth.decisionCHARBUFThe authorization decision
ka.auth.reasonCHARBUFThe authorization reason
ka.user.nameCHARBUFThe user name performing the request
ka.user.groupsLIST(CHARBUF)The groups to which the user belongs
ka.impuser.nameCHARBUFThe impersonated user name
ka.verbCHARBUFThe action being performed
ka.uriCHARBUFThe request URI as sent from client to server
ka.uri.paramCHARBUFThe value of a given query parameter in the uri (e.g. when uri=/foo?key=val, ka.uri.param[key] is val).
ka.target.nameCHARBUFThe target object name
ka.target.namespaceCHARBUFThe target object namespace
ka.target.resourceCHARBUFThe target object resource
ka.target.subresourceCHARBUFThe target object subresource
ka.req.binding.subjectsLIST(CHARBUF)When the request object refers to a cluster role binding, the subject (e.g. account/users) being linked by the binding
ka.req.binding.roleCHARBUFWhen the request object refers to a cluster role binding, the role being linked by the binding
ka.req.binding.subject.has_nameCHARBUFDeprecated, always returns “N/A”. Only provided for backwards compatibility
ka.req.configmap.nameCHARBUFIf the request object refers to a configmap, the configmap name
ka.req.configmap.objCHARBUFIf the request object refers to a configmap, the entire configmap object
ka.req.pod.containers.imageLIST(CHARBUF)When the request object refers to a pod, the container’s images.
ka.req.container.imageCHARBUFDeprecated by ka.req.pod.containers.image. Returns the image of the first container only
ka.req.pod.containers.image.repositoryLIST(CHARBUF)The same as req.container.image, but only the repository part (e.g. falcosecurity/falco).
ka.req.container.image.repositoryCHARBUFDeprecated by ka.req.pod.containers.image.repository. Returns the repository of the first container only
ka.req.pod.host_ipcCHARBUFWhen the request object refers to a pod, the value of the hostIPC flag.
ka.req.pod.host_networkCHARBUFWhen the request object refers to a pod, the value of the hostNetwork flag.
ka.req.container.host_networkCHARBUFDeprecated alias for ka.req.pod.host_network
ka.req.pod.host_pidCHARBUFWhen the request object refers to a pod, the value of the hostPID flag.
ka.req.pod.containers.host_portLIST(CHARBUF)When the request object refers to a pod, all container’s hostPort values.
ka.req.pod.containers.privilegedLIST(CHARBUF)When the request object refers to a pod, the value of the privileged flag for all containers.
ka.req.container.privilegedCHARBUFDeprecated by ka.req.pod.containers.privileged. Returns true if any container has privileged=true
ka.req.pod.containers.allow_privilege_escalationLIST(CHARBUF)When the request object refers to a pod, the value of the allowPrivilegeEscalation flag for all containers
ka.req.pod.containers.read_only_fsLIST(CHARBUF)When the request object refers to a pod, the value of the readOnlyRootFilesystem flag for all containers
ka.req.pod.run_as_userCHARBUFWhen the request object refers to a pod, the runAsUser uid specified in the security context for the pod. See ….containers.run_as_user for the runAsUser for individual containers
ka.req.pod.containers.run_as_userLIST(CHARBUF)When the request object refers to a pod, the runAsUser uid for all containers
ka.req.pod.containers.eff_run_as_userLIST(CHARBUF)When the request object refers to a pod, the initial uid that will be used for all containers. This combines information from both the pod and container security contexts and uses 0 if no uid is specified
ka.req.pod.run_as_groupCHARBUFWhen the request object refers to a pod, the runAsGroup gid specified in the security context for the pod. See ….containers.run_as_group for the runAsGroup for individual containers
ka.req.pod.containers.run_as_groupLIST(CHARBUF)When the request object refers to a pod, the runAsGroup gid for all containers
ka.req.pod.containers.eff_run_as_groupLIST(CHARBUF)When the request object refers to a pod, the initial gid that will be used for all containers. This combines information from both the pod and container security contexts and uses 0 if no gid is specified
ka.req.pod.containers.proc_mountLIST(CHARBUF)When the request object refers to a pod, the procMount types for all containers
ka.req.role.rulesLIST(CHARBUF)When the request object refers to a role/cluster role, the rules associated with the role
ka.req.role.rules.apiGroupsLIST(CHARBUF)When the request object refers to a role/cluster role, the api groups associated with the role’s rules
ka.req.role.rules.nonResourceURLsLIST(CHARBUF)When the request object refers to a role/cluster role, the non resource urls associated with the role’s rules
ka.req.role.rules.verbsLIST(CHARBUF)When the request object refers to a role/cluster role, the verbs associated with the role’s rules
ka.req.role.rules.resourcesLIST(CHARBUF)When the request object refers to a role/cluster role, the resources associated with the role’s rules
ka.req.pod.fs_groupCHARBUFWhen the request object refers to a pod, the fsGroup gid specified by the security context.
ka.req.pod.supplemental_groupsLIST(CHARBUF)When the request object refers to a pod, the supplementalGroup gids specified by the security context.
ka.req.pod.containers.add_capabilitiesLIST(CHARBUF)When the request object refers to a pod, all capabilities to add when running the container.
ka.req.service.typeCHARBUFWhen the request object refers to a service, the service type
ka.req.service.portsLIST(CHARBUF)When the request object refers to a service, the service’s ports
ka.req.pod.volumes.hostpathLIST(CHARBUF)When the request object refers to a pod, all hostPath paths specified for all volumes
ka.req.volume.hostpathCHARBUFDeprecated by ka.req.pod.volumes.hostpath. Return true if the provided (host) path prefix is used by any volume
ka.req.pod.volumes.flexvolume_driverLIST(CHARBUF)When the request object refers to a pod, all flexvolume drivers specified for all volumes
ka.req.pod.volumes.volume_typeLIST(CHARBUF)When the request object refers to a pod, all volume types for all volumes
ka.resp.nameCHARBUFThe response object name
ka.response.codeCHARBUFThe response code
ka.response.reasonCHARBUFThe response reason (usually present only for failures)
ka.useragentCHARBUFThe useragent of the client who made the request to the apiserver