Skip to content

fix: critical security hardening (6 fixes)#16

Merged
ibrahimkizilarslan merged 1 commit into
mainfrom
fix/critical-security-hardening
Jun 8, 2026
Merged

fix: critical security hardening (6 fixes)#16
ibrahimkizilarslan merged 1 commit into
mainfrom
fix/critical-security-hardening

Conversation

@ibrahimkizilarslan

@ibrahimkizilarslan ibrahimkizilarslan commented Jun 8, 2026

Copy link
Copy Markdown
Owner
  1. YAML size limit: Add 1MB file size validation to LoadConfig and LoadScenario to prevent OOM via oversized/malicious YAML files.

  2. Exec probe command blocklist: Block dangerous executables (shells, curl, wget, nc, python, etc.) from exec probes to prevent RCE via user-supplied scenario YAML files.

  3. Exec probe audit logging: Log every exec probe invocation at WARN level via slog for security monitoring and forensics.

  4. Netshoot image pinning: Replace nicolaka/netshoot:latest with nicolaka/netshoot:v0.13 to prevent supply chain attacks via mutable image tags.

  5. K8s client configuration fix: Eliminate dual config build in NewKubernetesClient (previously called buildK8sConfig and newK8sClientSet independently, creating two separate configs). Now uses single config source of truth.

  6. NET_ADMIN hardening: Harden ephemeral container security context by dropping ALL capabilities except NET_ADMIN, setting readOnlyRootFilesystem, runAsNonRoot, runAsUser=1000, and allowPrivilegeEscalation=false.

1. YAML size limit: Add 1MB file size validation to LoadConfig and
   LoadScenario to prevent OOM via oversized/malicious YAML files.

2. Exec probe command blocklist: Block dangerous executables (shells,
   curl, wget, nc, python, etc.) from exec probes to prevent RCE
   via user-supplied scenario YAML files.

3. Exec probe audit logging: Log every exec probe invocation at WARN
   level via slog for security monitoring and forensics.

4. Netshoot image pinning: Replace nicolaka/netshoot:latest with
   nicolaka/netshoot:v0.13 to prevent supply chain attacks via
   mutable image tags.

5. K8s client configuration fix: Eliminate dual config build in
   NewKubernetesClient (previously called buildK8sConfig and
   newK8sClientSet independently, creating two separate configs).
   Now uses single config source of truth.

6. NET_ADMIN hardening: Harden ephemeral container security context
   by dropping ALL capabilities except NET_ADMIN, setting
   readOnlyRootFilesystem, runAsNonRoot, runAsUser=1000, and
   allowPrivilegeEscalation=false.
@ibrahimkizilarslan ibrahimkizilarslan merged commit c886f22 into main Jun 8, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant