GKE Certificate Signing Request API Client Signer Requested

Last updated 12 days ago on 2026-07-10
Created 12 days ago on 2026-07-10

About

Detects creation of a GKE CertificateSigningRequest (CSR) that requests the kubernetes.io/kube-apiserver-client signer. This signer issues general API client certificates with few subject restrictions, unlike the restricted kubelet signers used for node certificate rotation. Attackers with CSR permissions use this signer to mint long-lived credentials for privileged identities such as system:kube-controller-manager, enabling persistence and privilege escalation that survives token revocation and RBAC changes.
Tags
Domain: CloudDomain: KubernetesData Source: GCPData Source: GCP Audit LogsData Source: Google Cloud PlatformUse Case: Threat DetectionTactic: PersistenceTactic: Privilege EscalationLanguage: kuery
Severity
high
Risk Score
73
MITRE ATT&CK™

Privilege Escalation (TA0004)(external, opens in a new tab or window)

Persistence (TA0003)(external, opens in a new tab or window)

False Positive Examples
Custom PKI or administrative tooling may legitimately request kubernetes.io/kube-apiserver-client certificates in self-managed clusters. Baseline approved operators and tune exclusions for known automation on GKE.
License
Elastic License v2(external, opens in a new tab or window)

Definition

Rule Type
Query (Kibana Query Language)
Integration Pack
Prebuilt Security Detection Rules
Index Patterns
logs-gcp.audit-*
Related Integrations

gcp(external, opens in a new tab or window)

Query
text code block:
data_stream.dataset:"gcp.audit" and service.name:"k8s.io" and event.outcome:"success" and event.action:"io.k8s.certificates.v1.certificatesigningrequests.create" and gcp.audit.request.spec.signerName:"kubernetes.io/kube-apiserver-client" and not client.user.email:( "system:gcp-controller-manager" or "system:serviceaccount:kube-system:certificate-controller" )

Install detection rules in Elastic Security

Detect GKE Certificate Signing Request API Client Signer Requested in the Elastic Security detection engine by installing this rule into your Elastic Stack.

To setup this rule, check out the installation guide for Prebuilt Security Detection Rules(external, opens in a new tab or window).