Certifications · KCSA · Mock Exam · Set 2

KCSA Mock Exam · Set 2

This is the second of this course's full-length KCSA practice papers, and every question below is new — none of the 24 repeats a question from Set 1, so sitting this one is a genuine second measurement rather than a replay of something half-memorized. Same shape as the real thing: 24 single-best-answer questions across all six official domains, weighted exactly like the CNCF's own curriculum — 22/22/16/16/14/10 — worth 100 points total, sat in one unbroken 90-minute, closed-book block. Nothing here needs a cluster; KCSA is knowledge-based, so this paper tests whether you can name the right control, not whether you can type it fast. Every question folds a worked explanation underneath it — not just which letter is correct, but why each of the other three was built to look tempting — so you can sit the paper honestly first and learn from it afterward. Total the points, compare against the 75% pass mark, and let your domain breakdown, not the raw number, decide what to reread.

☺ Explain it like I'm 10

Think of this like a second pop quiz on "how burglars get into buildings and what stops them" — same six topics as the first quiz, same point values, but every single question is different so you can't just remember last time's answers. You don't get to bring notes, and nobody's timing how fast your hands move — only whether you can pick the one truly correct answer out of four that were all written to sound plausible. Answer every question in your own head first, then peek at the explanation, because the explanation is where the real lesson lives: it tells you exactly why the wrong doors looked so convincing.

🐢🐰Your hosts for this topic: Timmy the Turtle & Remy the Rabbit — Timmy holds the 90-minute clock and owns most of the domain framing below, and Remy is this course's quick-recall specialist, here to remind you that knowing a fact and producing it correctly under a clock, with three tempting decoys sitting right next to it, are two different skills.

Before you start — sitting conditions

☺ Like you're 10: This only works as practice if you play it by the real rules — closed book, one clock, and you commit to an answer before you look underneath it.

KCSA needs no lab, no kubeadm, no cluster of any kind — read every question on paper, on a tablet, or on any screen where you can hide the answer underneath it until you've committed. Start one timer for the full 90 minutes and don't pause it. Unlike this course's performance-based papers — CKA, CKAD, CKS — where kubernetes.io/docs is allowlisted during the real exam, KCSA is a knowledge-based, closed-book Linux Foundation multiple-choice exam: no docs, no notes, no search tab, open during the real sitting. Hold this paper to the same standard or the score you get back won't tell you anything honest. Read all 24 questions once before answering any of them if you like — five minutes of scanning is what lets you bank the questions you know cold before a stubborn one eats into that budget.

⚠ Exam specifics change — verify officially before you book

This is an independent, unofficial study resource, not affiliated with the CNCF or the Linux Foundation. The 90-minute duration, 75% pass mark, and domain weights below reflect KCSA's published shape at a point in time and are subject to change without much notice — the question count itself is not published at all, so the 24 used here is a study convention sized to the real domain weights, not a promise about exam day. Confirm current specifics on the official Linux Foundation KCSA page and the CNCF certification page before paying for anything — see the exam logistics table on the KCSA blueprint page for the fuller picture, and this course's Certifications page for the whole ladder.

Your 90-minute, 100-point budget

☺ Like you're 10: Give each section a slice of the clock sized to how much of your grade it's worth — the two biggest domains alone are almost half the paper.

Twenty-four questions in 90 minutes isn't an even split. It's sized to the same weights the KCSA blueprint transcribes from the official curriculum, so a slow question in the 22%-weighted domains costs you more attention than a slow one in the 10%-weighted Compliance domain, and the budget below reflects that on purpose.

90 minutes · 24 questions · 100 points · 75% to pass ☸️ Cluster Comp. Q1–Q5 · 20m 🐢 Sec. Fund. Q6–Q10 · 20m 👺 Threat Q11–14 · 14m 🦉 Platform Q15–18 · 14m ☁️ Overview Q19–21 · 13m ⚖️ Compl. Q22–24 · 9m Points follow the curriculum, not the question count 22 pts 22 pts 16 pts 16 pts 14 pts 10 pts The flag-and-move rule Past roughly your question's own minute budget with no answer you're confident in: pick your best guess, note it, move on. A guessed answer can still score; an unanswered one never does.

There's no folded worked solution to sneak a look at mid-paper the way this write-up presents them — cover each answer key with your hand or a card and only lift it once you've actually committed to a letter.

☸️ Kubernetes Cluster Component Security — Q1–Q5 (22 points)

☺ Like you're 10: Five questions about the moving parts of a cluster — what each one can be tricked into doing, and what actually stops it.

Background reading, after the sitting, not during it: the cluster-component table on the KCSA blueprint, Kubernetes architecture, and control plane internals.

Q1 · The one flag that turns off the front door's lock

A kube-apiserver is found running with --anonymous-auth=true and no
further restriction on the system:anonymous identity that unauthenticated
requests are mapped to.

What is the most direct security consequence of that configuration?

  A) None — anonymous requests are automatically denied by authentication
     itself, regardless of any authorization rules
  B) Any request that presents no credentials at all is still evaluated
     by the authorization layer as system:anonymous, and succeeds on
     any action that identity happens to be authorized for
  C) It only affects the Kubernetes Dashboard's login page, not the API
     server's own API
  D) It disables TLS on the API server's listening port entirely
Show answer & explanation

Correct: B. Authentication and authorization are separate stages — anonymous auth doesn't skip authorization, it just lets an unauthenticated request through to it under the system:anonymous identity, in the system:unauthenticated group. If any RBAC binding grants that identity or group anything at all, an attacker needs no credentials to use it. (A) inverts the actual risk: anonymous auth being enabled is precisely what lets the request past authentication in the first place. (C) invents a Dashboard-only scope the flag doesn't have — it governs the API server's own authentication pipeline. (D) confuses two unrelated settings; anonymous authentication and transport encryption are independent concerns.

Q2 · What owning etcd actually hands an attacker

An attacker gains direct network access to a cluster's etcd port, and
etcd has no client TLS configured and no encryption-at-rest enabled.

What is the single most serious consequence?

  A) The attacker can read every object in the cluster, including every
     Secret, in plaintext — etcd is where all cluster state, encrypted
     or not, actually lives
  B) The attacker can only read ConfigMaps, since Secrets are stored in
     a separate, more protected datastore
  C) Nothing immediately serious — etcd only stores metadata, not
     the actual contents of any Kubernetes object
  D) The attacker gains the ability to schedule Pods directly, since
     etcd is where the scheduler's decisions are made
Show answer & explanation

Correct: A. Every Kubernetes object the API server persists lives in etcd, and a Secret without encryption-at-rest configured is stored there merely base64-encoded — trivially readable by anyone who can read etcd directly. That's the exact reason KCSA's curriculum treats owning etcd as equivalent to owning the whole cluster. (B) invents a separate Secrets datastore that doesn't exist; Secrets live in etcd exactly like every other object. (C) is false — etcd stores full object bodies, not just metadata. (D) misattributes scheduling: the scheduler makes its decision in memory and the API server persists the result to etcd, but etcd access alone doesn't let an attacker schedule anything — it lets them read and, with write access, forge state.

Q3 · Kubelet's read-only port, explained correctly

A node's kubelet is reachable with --anonymous-auth=false and webhook
authorization enabled on its main API port, but the deprecated
read-only port, 10255, is still open and unauthenticated.

What can an attacker who reaches port 10255 do?

  A) Nothing at all — port 10255 was fully removed from Kubernetes
     several releases ago and can no longer be enabled
  B) Execute arbitrary commands inside any Pod on that node, identical
     to what the authenticated kubelet API allows
  C) Read Pod specs and node state served on that port with no
     authentication or authorization check at all, regardless of how
     well the main kubelet API is locked down
  D) Only affects metrics scraping, and exposes no information an
     attacker could use
Show answer & explanation

Correct: C. The read-only port serves a read-only subset of the kubelet API — Pod specs, node info, and more — with zero authentication or authorization, entirely independent of how tightly the authenticated port is locked down. Reconnaissance information (running Pods, mounted volumes, image names) leaks straight through it. (A) overclaims: the port is deprecated and disabled by default on recent kubelets, but "deprecated" is not "impossible to enable," and older or misconfigured nodes are exactly what this question describes. (B) overreaches — the read-only port doesn't expose exec or command execution, only read endpoints; that capability sits on the authenticated port. (D) understates real exposure — Pod specs and node state are meaningful reconnaissance for an attacker planning a next move.

Q4 · The layer that stops a container-runtime escape

A workload is untrusted and needs to run arbitrary, potentially
malicious code, but a plain runc container escape onto the host kernel
would be unacceptable.

Which control most directly addresses that specific risk?

  A) A NetworkPolicy restricting the Pod's egress traffic
  B) A sandboxed runtime such as gVisor or Kata Containers, run via a
     Kubernetes RuntimeClass, which adds a stronger isolation boundary
     than a shared host kernel alone
  C) Setting a tighter CPU and memory limit on the container
  D) Enabling audit logging at the RequestResponse level for that
     namespace
Show answer & explanation

Correct: B. A sandboxed runtime interposes a user-space kernel (gVisor) or a lightweight VM boundary (Kata) between the container and the real host kernel, which is exactly the layer a runtime-escape risk needs — seccomp and AppArmor profiles help but still share the same underlying kernel that a sufficiently serious escape can reach. (A) controls network reachability, unrelated to a kernel-level escape. (C) controls resource consumption, not isolation boundary. (D) only ever tells you an escape happened after the fact — it doesn't prevent one.

Q5 · The credential most likely to leak from a laptop, not a cluster

A security review is asked to rank client-security risk. Which practice
represents the most direct, most commonly overlooked exposure of
cluster-admin-equivalent credentials?

  A) A kubeconfig with a long-lived client certificate and broad RBAC
     permissions, stored unencrypted in a laptop's default config
     path and included in routine device backups
  B) A NetworkPolicy that permits egress to 0.0.0.0/0 on port 443
  C) A Pod running as a non-root UID with no privilege-escalation
     capabilities granted
  D) A Service of type ClusterIP with no external IP assigned
Show answer & explanation

Correct: A. Client security is exactly this risk: a kubeconfig is a bearer credential, and a long-lived, broadly-privileged one sitting in a default path gets swept into laptop backups, screen-share sessions, and stolen-device incidents far more often than any cluster-side control gets breached directly — which is why short-lived, OIDC- or exec-plugin-backed credentials are the fix the curriculum expects. (B) is a real networking concern but not a client-credential exposure. (C) describes a properly hardened Pod, the opposite of a risk. (D) describes ordinary, safe default Service behavior.

🐢 Kubernetes Security Fundamentals — Q6–Q10 (22 points)

☺ Like you're 10: The built-in switches — pod security rules, who's allowed to log in, secrets, and who can talk to whom.

Background reading: the Security Fundamentals section of the KCSA blueprint and RBAC & admission control.

Q6 · Standards versus Admission, precisely

A namespace is labeled pod-security.kubernetes.io/enforce: restricted.

What is the most accurate description of what's actually being
configured here?

  A) A Pod Security Standard named "restricted" is being installed as a
     new admission controller
  B) The built-in Pod Security Admission controller is being configured,
     via a namespace label, to enforce the "restricted" Pod Security
     Standard for objects in that namespace
  C) This has no effect unless a separate PodSecurityPolicy object is
     also created in the same namespace
  D) It only logs violations of the "restricted" standard; nothing is
     ever actually rejected by a label alone
Show answer & explanation

Correct: B. Pod Security Standards are the three named policy levels (privileged, baseline, restricted); Pod Security Admission is the built-in controller that enforces one of those levels, configured entirely through namespace labels like this one, in one of three modes (enforce, audit, warn). (A) confuses a policy level with an admission controller — the label configures an existing controller, it doesn't install a new one. (C) describes the deprecated, removed PodSecurityPolicy API, an unrelated and retired mechanism. (D) mismatches the mode: enforce genuinely rejects non-conforming objects; only the separate audit and warn labels are non-blocking.

Q7 · What one ingress-only NetworkPolicy leaves alone

A namespace has no NetworkPolicy objects. A single NetworkPolicy is then
applied, selecting Pods labeled app=checkout, with one ingress rule and
policyTypes: [Ingress] only — no Egress entry anywhere in the spec.

What happens to egress traffic from those app=checkout Pods?

  A) It becomes denied by default, because applying any NetworkPolicy
     to a Pod switches every unlisted traffic direction to deny
  B) It stays exactly as it was before this policy existed — unaffected,
     since this policy names no Egress policyType and no egress rule
  C) It becomes allowed only to Pods carrying the same app=checkout
     label
  D) It was already denied before this policy existed, and remains so
Show answer & explanation

Correct: B. NetworkPolicy is additive and strictly directional — a policy only restricts the traffic directions actually named in its own policyTypes. With no Egress entry at all, egress for these Pods is untouched by this policy, and stays at whatever the cluster's baseline behavior already was. (A) is the single most common NetworkPolicy misconception on this exam — one policy touching a Pod does not silently lock down every direction it doesn't mention. (C) invents an egress restriction the spec never defines. (D) is false; nothing in the stem restricted egress before this policy was applied.

Q8 · Why a Secret isn't actually secret by default

A database password is stored in a Kubernetes Secret using
`kubectl create secret generic`, with no further cluster configuration
applied.

What is the most accurate statement about how that value is protected
once it's written to etcd?

  A) It is encrypted automatically with a key Kubernetes manages and
     rotates on a fixed schedule
  B) It is base64-encoded only — not encrypted — and readable by
     anyone able to read that Secret object via the API, or read
     etcd directly, unless encryption-at-rest is separately configured
  C) It is hashed one-way, exactly like a password in a typical
     user-authentication system
  D) Secrets are held only in the requesting Pod's memory and never
     persisted to etcd at all
Show answer & explanation

Correct: B. Base64 is an encoding, not encryption — trivially reversible by anyone with read access to the object or to etcd directly. Genuine protection at rest requires configuring an EncryptionConfiguration on the API server, or moving the value into an external secrets manager. (A) fabricates automatic key management that doesn't exist by default. (C) would make the value unrecoverable, which defeats the purpose — Secrets must remain retrievable by the workloads that consume them. (D) is false; Secrets are stored in etcd exactly like every other Kubernetes object.

Q9 · Reading the audit policy correctly

A cluster's audit policy sets level: RequestResponse for the secrets
and configmaps resources, and level: Metadata for everything else.

What is the practical difference between those two audit levels for a
request touching a Secret versus one touching a Deployment?

  A) There is no practical difference — both levels record the same
     information regardless of the resource
  B) Metadata level logs only who made a request, when, and what
     resource/verb, with no request or response bodies; RequestResponse
     additionally logs the full request and response bodies
  C) RequestResponse only applies to write operations; reads are never
     logged at any level
  D) Metadata level is more verbose than RequestResponse, which is why
     it's reserved for the highest-sensitivity resources
Show answer & explanation

Correct: B. Kubernetes audit levels form a hierarchy — None, Metadata, Request, RequestResponse — and Metadata captures request metadata only (who, when, verb, resource) while RequestResponse additionally captures the full bodies, which is exactly why the "crown jewels" resources get the heavier, more expensive level here. (A) denies a real and deliberate distinction. (C) is false; audit levels apply to reads and writes alike, governed by the policy's rules, not by verb type alone. (D) has the hierarchy inverted — RequestResponse is the more verbose level, not Metadata.

Q10 · Who Kubernetes actually authenticates

A cluster administrator wants to know which built-in Kubernetes API
object represents a human user who has just authenticated with a
client certificate.

Which object is that?

  A) A User object, created automatically the first time that
     certificate is presented
  B) A ServiceAccount, scoped to the default namespace
  C) There is no such built-in object — Kubernetes has no native User
     resource; identity for a human is asserted entirely by the
     authentication method (a client certificate's subject, an OIDC
     claim, and so on), and RBAC binds permissions to that asserted name
  D) A Secret of type kubernetes.io/basic-auth, holding the
     certificate's subject as a username field
Show answer & explanation

Correct: C. Kubernetes deliberately has no first-class User API object — a human's identity is whatever the authentication plugin asserts (a cert's Common Name, an OIDC token's claims), and RBAC then binds Roles or ClusterRoles to that asserted name or group. (A) and (D) both invent an object that plainly doesn't exist in the API. (B) confuses human authentication with the separate mechanism built specifically for workload identity — a ServiceAccount is a real API object, but it's not what represents an authenticated human.

👺 Kubernetes Threat Model — Q11–Q14 (16 points)

☺ Like you're 10: This part is a story about how a break-in actually spreads once someone's already inside one container.

Background reading: Security: Defense in Depth, the single best-matched page in this course for the whole Threat Model domain.

Q11 · Privilege escalation, named correctly

A Pod's container is granted securityContext.privileged: true and a
hostPath volume mounted at /, with no other guardrail in place.

Which threat-model competency does this scenario most directly
demonstrate?

  A) Denial of Service
  B) Privilege Escalation — a privileged container plus a root hostPath
     mount gives a compromised container a direct path to full control
     of the underlying node
  C) Compliance and Security Frameworks
  D) Attacker on the Network
Show answer & explanation

Correct: B. A privileged container removes normal kernel capability restrictions, and mounting the host's root filesystem hands the container a writable path onto the node itself — the textbook combination the curriculum's Privilege Escalation competency describes as an attacker's route from "inside one container" to "controls the node." (A) describes an availability attack, not the escalation risk this configuration creates. (C) is an unrelated domain entirely. (D) describes lateral movement across the network, not privilege escalation on a single node.

Q12 · How persistence survives a Pod restart

An attacker with cluster-admin-equivalent access wants a foothold that
survives the compromised Pod being deleted or rescheduled, without
relying on that specific Pod staying alive.

Which of the following best represents the Persistence competency in
the KCSA Threat Model?

  A) Reading environment variables inside the running container
  B) Creating a malicious CronJob, or installing a mutating admission
     webhook, so the attacker's code keeps running or keeps altering
     objects independent of any single Pod's lifecycle
  C) Sending an unusually large number of requests to overwhelm the
     API server
  D) Scanning the cluster's Services for open ports
Show answer & explanation

Correct: B. Persistence is specifically about surviving past the original point of compromise — a rogue CronJob re-establishes access on a schedule, and a malicious mutating webhook can tamper with every matching object cluster-wide, independent of whether any one Pod is still running. (A) describes reconnaissance (Access to Sensitive Data), not persistence. (C) describes Denial of Service. (D) describes reconnaissance for lateral movement, not a mechanism for surviving cleanup.

Q13 · Why flat networking is the "Attacker on the Network" competency

A cluster has no NetworkPolicy objects anywhere. An attacker gains code
execution in one Pod in the frontend namespace.

Under the default networking model alone, what can that attacker reach?

  A) Only other Pods in the frontend namespace — cross-namespace traffic
     is blocked by default
  B) Nothing else — Pod-to-Pod traffic requires an explicit allow rule
     even with zero NetworkPolicy objects present
  C) Any Pod in any namespace, by default, because Kubernetes networking
     is flat and unrestricted until a NetworkPolicy says otherwise
  D) Only Pods explicitly listed in the same Service's endpoints
Show answer & explanation

Correct: C. The baseline Kubernetes networking model is flat and NAT-less — every Pod can reach every other Pod, across every namespace, unless a NetworkPolicy explicitly restricts it. That single fact is why "Attacker on the Network" carries real weight on this exam: lateral movement after one compromised Pod is trivial by default. (A) invents a namespace boundary that has no effect on networking without an explicit policy. (B) inverts the actual default — no policy means no restriction, not implicit deny. (D) confuses Service endpoint membership with network-layer reachability; a Pod not listed as a Service endpoint is still directly reachable by IP.

Q14 · The token every Pod gets, whether it needs it or not

A Pod is created with no automountServiceAccountToken setting specified
anywhere, in a namespace with no explicit override either.

Under this threat model, what does that default expose to an attacker
who achieves code execution inside that Pod?

  A) Nothing — automatic token mounting was removed from Kubernetes by
     default in a recent release
  B) A ServiceAccount token is auto-mounted into the Pod by default,
     giving the attacker whatever API permissions that ServiceAccount
     carries — directly relevant to the Access to Sensitive Data
     competency
  C) The Pod's own container image's build-time secrets, unrelated to
     any ServiceAccount
  D) Only read access to that one Pod's own logs, nothing broader
Show answer & explanation

Correct: B. Absent an explicit automountServiceAccountToken: false, Kubernetes still mounts a ServiceAccount token into the Pod by default — and whatever RBAC that ServiceAccount is bound to becomes immediately available to anyone who gets code execution in the Pod, even when the application itself never calls the Kubernetes API. That's exactly the Access to Sensitive Data path this competency is built around. (A) misstates current default behavior — auto-mounting is still the default; only the setting to disable it has existed for a long time. (C) confuses an unrelated concept (image build secrets) with the ServiceAccount token mechanism. (D) understates the exposure — the token's actual permissions depend entirely on RBAC, which can be far broader than log access.

🦉 Platform Security — Q15–Q18 (16 points)

☺ Like you're 10: The platform-engineering flavored part — supply chain, image trust, mesh traffic, and the gate every object walks through before it's created.

Background reading: Container & supply-chain security and service mesh fundamentals in this course.

Q15 · The supply-chain step candidates most often skip

A pipeline builds an image reproducibly, generates an SBOM, scans for
known CVEs, and signs the resulting image. Cluster admission has no
policy checking any of this.

What is missing for these controls to actually stop an attacker from
running an unsigned or tampered image in production?

  A) Nothing is missing — signing the image is itself sufficient to
     block it from running if tampered with
  B) An admission-time signature-verification policy, so an object
     that references an unsigned or improperly signed image is
     rejected before it can ever be scheduled
  C) A second, independent SBOM generated at deploy time
  D) Encrypting the image layers at rest in the registry
Show answer & explanation

Correct: B. Signing an image proves provenance, but proof is worthless unless something actually checks it before the workload runs — an admission controller enforcing signature verification is the step that turns "we sign our images" into "unsigned images cannot start," and it's the step this domain's curriculum specifically calls out as commonly missed. (A) is the exact misconception the question is testing — a signature that nothing verifies stops nothing. (C) adds redundant provenance data without closing the actual gap, which is enforcement, not documentation. (D) protects confidentiality at rest, unrelated to verifying what's about to run.

Q16 · Why a mutable tag undermines everything else

An organization scans, signs, and SBOM's every image it builds, but its
Deployments reference images by a mutable tag like app:latest rather
than an image digest.

What risk does that specific practice reintroduce, regardless of how
strong the scanning and signing pipeline is?

  A) None — tags and digests are two interchangeable names for exactly
     the same guarantee
  B) The tag can be repointed to a different, unscanned, unsigned image
     after the fact, so "app:latest passed our pipeline yesterday" says
     nothing about what app:latest actually resolves to right now
  C) It only affects image pull performance, not security
  D) Mutable tags are blocked by the OCI Image Spec itself, so this
     scenario cannot actually occur
Show answer & explanation

Correct: B. A tag is just a mutable pointer in the registry — nothing stops it from being pushed again tomorrow to point at a completely different image, silently invalidating every scan and signature that was ever performed against "that tag." A digest (@sha256:...) pins the exact, immutable content, which is why hardened admission policy typically requires digests rather than tags. (A) denies the entire point of digest pinning as a control. (C) understates real risk — this is a supply-chain integrity gap, not a performance concern. (D) is false; the OCI spec permits mutable tags, it's simply a registry convention, not a technical restriction.

Q17 · What a mesh's sidecar actually secures

A service mesh is deployed with a sidecar proxy injected into every
Pod, and mutual TLS is enabled for Pod-to-Pod traffic within the mesh.

What security property does that most directly provide?

  A) It replaces the need for RBAC entirely, since network-level trust
     now decides every permission
  B) Both ends of a connection cryptographically authenticate each
     other and encrypt traffic between them, without the application
     code needing to implement TLS itself
  C) It automatically encrypts data at rest inside etcd
  D) It removes the need for a NetworkPolicy in that namespace, since
     mTLS alone fully replaces network segmentation
Show answer & explanation

Correct: B. The mesh's sidecar terminates and originates mTLS on the application's behalf, so both sides of a connection prove identity to each other and the traffic between them is encrypted in transit, all without the application itself handling any TLS logic. (A) overreaches — mTLS establishes transport-layer identity and encryption; RBAC governs a completely separate layer, API authorization, and neither replaces the other. (C) confuses transport encryption between Pods with etcd's own encryption-at-rest, an unrelated control. (D) overstates mTLS's role — it secures the transport, but a NetworkPolicy still restricts which Pods may even attempt a connection in the first place; the two are complementary, not substitutes.

Q18 · Where a mutating webhook runs relative to a validating one

A cluster has both a mutating admission webhook (which injects a
sidecar container) and a validating admission webhook (which rejects
any Pod without that sidecar present) configured for the same
resource.

In what order does the admission control chain evaluate these two
webhook types?

  A) Validating webhooks always run first, then mutating webhooks
  B) They run in an unordered, random sequence each time
  C) All mutating admission webhooks run to completion first, and only
     the resulting, already-mutated object is then evaluated by
     validating admission webhooks
  D) Only one type can be registered per cluster at a time
Show answer & explanation

Correct: C. Kubernetes always runs the full mutating admission phase before the validating phase, precisely so a validating webhook sees the final, already-mutated object — which is exactly what makes the sidecar-injection-then-require-the-sidecar pattern in the stem work at all. (A) has the order backwards. (B) invents randomness where the chain is in fact deterministic by phase. (D) is false — a cluster can register any number of both webhook types simultaneously.

☁️ Overview of Cloud Native Security — Q19–Q21 (14 points)

☺ Like you're 10: The big-picture part — four nested layers of trust, and which techniques keep one tenant's mess from becoming everyone's problem.

Background reading: the 4Cs section of the KCSA blueprint, and the sibling Platform Engineering course's Kubernetes as the Platform Substrate for the Cloud and Cluster layers in depth.

Q19 · Why the 4Cs are drawn nested, not side by side

The 4Cs model names Cloud, Cluster, Container, and Code as four layers
of cloud native security.

Why does the curriculum treat these as nested layers rather than four
independent, parallel checklists?

  A) Because each layer is only as secure as the layer that contains
     it — a compromised Cloud layer defeats every control inside
     Cluster, Container, and Code, no matter how well those inner
     layers are hardened
  B) The nesting is purely a diagramming convention with no security
     implication
  C) Because Code is actually the outermost layer in practice, even
     though it's drawn innermost
  D) Because only the Cluster layer is ever actually attacked in
     practice; the other three are largely theoretical
Show answer & explanation

Correct: A. The dependency runs outside-in: you cannot secure a container running on a compromised cluster, and you cannot secure a cluster running on compromised cloud infrastructure. That's the entire exam point of drawing the 4Cs as nested rectangles rather than four unrelated checkboxes — a control placed at the wrong layer is theater if the layer containing it is already lost. (B) denies real security meaning behind a deliberate design choice. (C) inverts the model outright. (D) is false and contradicted by real incident data across all four layers — cloud IAM misconfiguration and container escapes are both well-documented attack classes.

Q20 · Naming the right isolation technique for the right layer

A platform team wants two entirely separate customer workloads to never
share a kernel, even indirectly, and is willing to accept the
operational cost of running fully separate clusters to guarantee it.

Which isolation technique are they choosing, and what does it trade
away compared to a shared cluster with strong namespace and RBAC
boundaries?

  A) Namespaces alone — cheaper, and provides the identical isolation
     guarantee they're asking for
  B) Separate clusters per tenant — the strongest isolation boundary
     covered in this domain, at the cost of considerably higher
     operational overhead and no shared control-plane efficiency
  C) A single seccomp profile applied to both tenants' Pods
  D) A ClusterRole scoped to both tenants' namespaces jointly
Show answer & explanation

Correct: B. The isolation-techniques competency runs a real ladder — namespaces and cgroups isolate processes within one shared kernel, sandboxed runtimes strengthen that kernel boundary, and fully separate clusters (or dedicated node pools) remove the shared-kernel and shared-control-plane assumption entirely — the strongest boundary on the list, at real operational cost. (A) understates namespaces' guarantee — they scope naming and RBAC, not kernel isolation, and two Pods in different namespaces on the same node still share a kernel. (C) is a container-level runtime restriction, not a tenant-separation technique. (D) is an RBAC construct entirely unrelated to kernel or infrastructure isolation.

Q21 · The cloud-layer control most often left at its insecure default

A cluster runs on a managed cloud Kubernetes offering. Nodes can reach
the cloud provider's instance metadata endpoint from inside any Pod,
with no restriction, and that endpoint is still serving the older,
token-less IMDSv1-style protocol.

Under the Cloud layer of the 4Cs, what risk does this combination
create?

  A) None — the metadata endpoint only ever serves public information
     like the region and availability zone
  B) A compromised Pod can reach the metadata endpoint directly and,
     without ever needing a session token, retrieve the node's own
     cloud IAM credentials — a direct route from container compromise
     to cloud-account compromise
  C) It only affects billing metrics reported to the cloud provider
  D) The Kubernetes API server blocks all metadata-endpoint traffic by
     default, so this configuration has no practical effect
Show answer & explanation

Correct: B. Cloud instance metadata endpoints commonly serve the node's own IAM role credentials, and a token-less, unrestricted version reachable from any Pod turns "code execution in one container" into "valid cloud credentials for the node's role" — exactly the outside-in dependency the 4Cs model warns about, since this is a Cloud-layer gap no Cluster- or Container-layer control can fully compensate for. (A) significantly understates what these endpoints actually serve. (C) invents an unrelated billing-only scope. (D) is false — Kubernetes itself has no awareness of or default restriction on cloud metadata endpoint reachability; that has to be enforced separately, commonly with a NetworkPolicy or the provider's session-token-required mode.

⚖️ Compliance and Security Frameworks — Q22–Q24 (10 points)

☺ Like you're 10: The smallest, driest-sounding section — but cheap marks if you know which framework does which job.

Background reading: Compliance & governance and threat modeling in the sibling DevSecOps course.

Q22 · A benchmark describes "good," a framework describes "how attacks work"

A team is deciding between two documents: one that defines specific,
checkable configuration recommendations for hardening a Kubernetes
cluster, and one that provides a structured way to categorize and
reason about attacker behavior in general.

Which pairing correctly matches "checkable hardening recommendations"
to "a way to reason about attacker behavior"?

  A) The CIS Kubernetes Benchmark (checkable hardening recommendations)
     and STRIDE (a way to reason about attacker behavior)
  B) STRIDE (hardening recommendations) and the CIS Kubernetes
     Benchmark (attacker behavior)
  C) PCI DSS and SOC 2 — both describe attacker behavior exclusively
  D) NIST SP 800-190 and MITRE ATT&CK for Containers are the same
     document under two different names
Show answer & explanation

Correct: A. Compliance frameworks like the CIS Kubernetes Benchmark give specific, checkable "is this setting configured correctly" recommendations; threat-modeling frameworks like STRIDE (Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege) give a structured way to reason about what an attacker might do, independent of any one checklist. (B) swaps the two roles exactly backwards. (C) mischaracterizes both PCI DSS and SOC 2, which are compliance and controls frameworks, not attacker-behavior models. (D) is false — NIST SP 800-190 is a container-security guidance document, and MITRE ATT&CK for Containers is a distinct, separately maintained attacker-tactics knowledge base.

Q23 · What "supply chain compliance" actually connects

An auditor asks a platform team to demonstrate that every artifact
running in production can be traced back to its source and build
process, tying that evidence to a named regulatory or contractual
obligation.

Which artifact most directly supports that specific request?

  A) A Grafana dashboard showing current CPU utilization
  B) An SBOM (Software Bill of Materials) generated at build time and
     retained per artifact, tied to the compliance obligation requiring
     traceable provenance
  C) A NetworkPolicy default-deny manifest
  D) A kubeconfig audit log showing who ran kubectl apply
Show answer & explanation

Correct: B. The Supply Chain Compliance competency is exactly this connective tissue — an SBOM is the artifact-level record of what actually went into a build, and retaining it per release is what lets a team answer "prove this artifact's provenance" against a named obligation. (A) is an operational metric with no provenance content at all. (C) is a network-security control, unrelated to artifact provenance. (D) records who deployed something, not what that something was actually built from.

Q24 · Why "we passed the audit in March" isn't the same as "we're compliant now"

An organization passes a compliance audit in March, then makes several
undocumented configuration changes to its clusters over the following
months with no further review.

What does the Automation & Tooling competency argue is the fix for
this exact gap?

  A) Schedule the next audit sooner — annually instead of every two
     years
  B) Replace manual audits entirely with policy-as-code and continuous,
     automated compliance checks, so drift from a compliant baseline is
     caught as it happens rather than at the next scheduled audit
  C) Nothing — a passed audit remains valid regardless of any
     configuration changes made afterward
  D) Require every engineer to memorize the full compliance framework
     text so they self-police manually
Show answer & explanation

Correct: B. A point-in-time audit only proves compliance at the moment it was taken — any drift afterward is invisible until the next one. The Automation & Tooling competency's actual point is that policy-as-code (admission-time checks, continuous scanning) replaces a once-a-year snapshot with continuous evidence, catching drift the same day it happens instead of months later. (A) just shrinks the same blind-spot window without closing it. (C) denies that drift is even a real risk, which is the opposite of what this competency argues. (D) proposes manual vigilance as a substitute for automation — exactly the failure mode this competency exists to move a team away from.

🦊 Foxy's-eye view

"Every wrong answer on this paper was written to sound like something a half-attentive engineer would say out loud in a real incident review — 'the taint should keep it off that node,' 'we signed the image, we're fine,' 'namespaces isolate that.' That's not a trick, that's the actual job. An attacker doesn't care which answer sounded more confident in the room. My instinct on call is the same one this paper is drilling: don't stop at the first explanation that sounds right — ask what would have to be true for it to actually hold, then go check."

Score yourself

☺ Like you're 10: Add up your points, then do the more useful thing: look at which domain lost the most points and reread that section, not the whole page again.

Mark after a short break, once the adrenaline of the clock has worn off — grading yourself while still rushing tends to produce generous nonsense in either direction. On a single-best-answer question there's no partial credit: award the full point value only for the letter that matches the answer key, and zero otherwise, including anything left blank.

QuestionDomainPointsYour score
Q1 · Anonymous auth on the API serverCluster Component Security5
Q2 · What owning etcd hands an attackerCluster Component Security4
Q3 · Kubelet's deprecated read-only portCluster Component Security4
Q4 · Sandboxed runtimes vs. runtime escapeCluster Component Security4
Q5 · A leaked, over-privileged kubeconfigCluster Component Security5
Q6 · Pod Security Standards vs. AdmissionSecurity Fundamentals4
Q7 · What an ingress-only policy leaves openSecurity Fundamentals5
Q8 · Secrets are encoded, not encryptedSecurity Fundamentals4
Q9 · Metadata vs. RequestResponse audit levelsSecurity Fundamentals5
Q10 · Why there's no built-in User objectSecurity Fundamentals4
Q11 · Privileged container + root hostPathThreat Model4
Q12 · A rogue CronJob or webhook as persistenceThreat Model4
Q13 · Flat networking and lateral movementThreat Model4
Q14 · The auto-mounted ServiceAccount tokenThreat Model4
Q15 · Signing without admission-time verificationPlatform Security4
Q16 · Why a mutable tag undermines the pipelinePlatform Security4
Q17 · What a mesh's mTLS actually securesPlatform Security4
Q18 · Mutating webhooks run before validating onesPlatform Security4
Q19 · Why the 4Cs are nested, not parallelOverview of Cloud Native Security5
Q20 · Separate clusters as the strongest isolationOverview of Cloud Native Security5
Q21 · An open, token-less metadata endpointOverview of Cloud Native Security4
Q22 · CIS Benchmark vs. STRIDE, matched correctlyCompliance & Security Frameworks4
Q23 · The SBOM as the provenance artifactCompliance & Security Frameworks3
Q24 · Continuous compliance vs. a point-in-time auditCompliance & Security Frameworks3
TotalAll six domains100

Computing your result. The points total 100, so your raw score is your percentage, and the pass mark this page uses is 75% — the figure the Linux Foundation's Multiple Choice Exam FAQ states for its multiple-choice exams generally. That leaves only 25 points spendable, tighter than it might look on a first read. The more useful arithmetic is still per domain, not total: a 78 built evenly across six domains and a 78 built from five near-perfect domains and one you barely touched are very different results, and only one of them survives a real exam that happens to lean hard into your weak spot.

DomainAvailableYoursIf you scored under two-thirds, go here
Kubernetes Cluster Component Security22Blueprint table, Kubernetes architecture, control plane internals.
Kubernetes Security Fundamentals22RBAC & admission control, networking & the CNI for NetworkPolicy.
Kubernetes Threat Model16Security: Defense in Depth.
Platform Security16Container & supply-chain security, service mesh fundamentals.
Overview of Cloud Native Security14The 4Cs section, Kubernetes as the Platform Substrate.
Compliance and Security Frameworks10Compliance & governance, threat modeling.

What your score means

☺ Like you're 10: One number doesn't predict a pass — the shape of it tells you exactly what to reread next, which is more useful anyway.

ScoreRead it asNext move
85–100Comfortably ready, with real margin over the 75% bar.Skim the exam logistics table and exam day — proctoring & environment, then book it.
75–84A pass on this paper — but with a 75% bar, one or two more misses would have failed it.Reread only your weakest domain, then sit Set 1 again if you haven't already, cold.
55–74Close, and usually concentrated in one or two domains rather than spread evenly.Work the KCSA study plan & practice bank for your lowest-scoring domains specifically.
Under 55Genuine gaps across multiple domains — booking now would waste the sitting.Start over from the KCSA blueprint domain by domain, then return to this paper once you can explain each domain's competencies from memory.

One pattern worth checking independent of the total: how many questions did you leave completely unanswered rather than answer wrong? More than one or two, and the fix is pacing, not knowledge — the cheapest thing on this list to correct. A guessed answer can still score; a blank one never does, so the flag-and-move rule above earns real points on exam day even when you're genuinely unsure.

🎬 At the Pod Squad
🐰

Remy: 79 out of 100! That clears 75%. Booking it tonight.

🐢

Timmy: Show me the domain breakdown before you touch that booking page.

🐰

Remy: ...Cluster Component Security 21, Security Fundamentals 20, Threat Model 15, Platform Security 14, Overview 5, Compliance 4.

🦊

Foxy: You're near-perfect on four domains and lost more than half the points across the last two combined. That's not bad luck — that's the two domains you clearly read last, and fastest.

👺

Gizmo: Or just call it "good enough" — 79 is 79, the exam doesn't hand out bonus points for balance. 🤑

🐢

Timmy: It doesn't need to, Gizmo — the real paper draws its own questions, not Remy's. A weak domain here is a coin flip on exam day, not a guarantee it stays a nine-point miss.

🦉

Professor Owl: Reread the 4Cs section and the compliance-frameworks pairing before you book, Remy. Both are short reads — you're one evening from turning that 79 into a real margin.

🐢 Timmy's checkpoint

1. What are the six KCSA domains and their weights, and why do the top two alone get 40 of the 90 minutes on this paper? 2. In Q7, what does an ingress-only NetworkPolicy leave completely unaffected, and why? 3. Why does Q1's misconfigured --anonymous-auth=true still depend on RBAC to actually be dangerous? 4. In the 4Cs model, why can no amount of Container- or Code-layer hardening fully compensate for a compromised Cloud layer? 5. Name the difference between what Q22's CIS Kubernetes Benchmark and STRIDE each actually describe. 6. What's the published passing score for a Linux Foundation multiple-choice exam, and how tight a margin does that leave on a 100-point paper? 7. Why does a blank answer always cost strictly more than a guessed one?

Check your answers
  1. Kubernetes Cluster Component Security 22%, Kubernetes Security Fundamentals 22%, Kubernetes Threat Model 16%, Platform Security 16%, Overview of Cloud Native Security 14%, Compliance and Security Frameworks 10% — summing to 100%. The top two domains together are 44% of the paper, close to half, so they carry a matching share of the clock — 20 of 90 minutes each.
  2. It leaves egress traffic from the selected Pods completely unaffected, because NetworkPolicy is additive and directional — a policy only restricts the traffic directions actually named in its own policyTypes, and this one names only Ingress.
  3. Because anonymous authentication only controls whether an unauthenticated request is let past the authentication stage at all — it still lands on the system:anonymous identity in authorization, and only becomes dangerous if any RBAC binding grants that identity or the system:unauthenticated group any permission.
  4. Because the 4Cs are nested, not parallel — each layer's security guarantees rest on the layer that contains it. If the Cloud layer is compromised (stolen node IAM credentials, a hijacked managed control plane), an attacker can bypass Cluster, Container, and Code controls entirely rather than fighting through them.
  5. The CIS Kubernetes Benchmark is a compliance framework — specific, checkable hardening recommendations. STRIDE is a threat-modeling framework — a structured way to reason about categories of attacker behavior (Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege), independent of any one checklist.
  6. 75%, per the Linux Foundation's Multiple Choice Exam FAQ. On this 100-point paper that leaves only 25 points of margin — tighter than most candidates assume going in.
  7. Because a guessed single-best-answer question still has a real, non-zero chance of scoring the full point value, while a blank answer has a guaranteed zero — there is no penalty for a wrong guess on this exam format, so leaving anything unanswered is pure lost expected value.

That's the whole paper. Score it, write your domain breakdown somewhere you'll actually see it again, and let the two weakest numbers pick your next study session. When the numbers stop moving, the remaining work is logistical, not technical: exam day — proctoring & environment covers the sitting itself, Field Notes collects what people actually reported afterward, and the KCSA blueprint's own logistics table is the last thing worth reading before you book. See the same six domains explained from a different angle on Platform Engineering's KCSA page — and if KCSA is one stop on the way to the full ladder, CKA is the hard prerequisite for CKS, and the sibling Golden Astronaut course covers the other nine CNCF certifications plus the LFCS on the way to Golden Kubestronaut.

⏱ The KCSA papers

Set 1 · Set 2 (you are here). Both are weighted to the official KCSA blueprint and worth 100 points each; see the KCSA study plan & practice bank for how to sequence them against your remaining prep time, and the KCSA blueprint for the full curriculum this paper is drawn from.