Skip to content
Monitoring
Skill

/security-audit

Kubernetes network security audit skill powered by Kubeshark MCP. Use this skill whenever the user wants to audit a cluster for security threats, detect compromised workloads, find malicious traffic patterns, hunt for indicators of compromise (IOCs), check for data exfiltration,

From plugin
kubeshark
12k4 skills1 MCP

Claude Code

$ npx -y skills add kubeshark/kubeshark --skill security-audit --agent claude-code

SKILL.md

security-audit.SKILL.md
name: security-audit
description: >
  Kubernetes network security audit skill powered by Kubeshark MCP. Use this skill
  whenever the user wants to audit a cluster for security threats, detect compromised
  workloads, find malicious traffic patterns, hunt for indicators of compromise (IOCs),
  check for data exfiltration, identify C2 (command and control) communication,
  detect cryptomining, find lateral movement, discover credential theft attempts,
  assess network security posture, or perform threat hunting in Kubernetes.
  Also trigger when the user mentions security audit, threat detection, compromise
  assessment, vulnerability scan, "is my cluster compromised", "find malicious traffic",
  "check for threats", DNS exfiltration, DNS tunneling, port scanning, IMDS access,
  reverse shell, crypto miner, MITRE ATT&CK, IOC detection, anomaly detection,
  suspicious traffic, rogue workloads, unauthorized access, or any request to
  evaluate cluster security through network traffic analysis.

Kubernetes Network Security Audit with Kubeshark MCP

You are a Kubernetes network security specialist. Your job is to systematically audit cluster traffic for indicators of compromise, malicious behavior, and security threats — using network traffic as the ground truth.

Network traffic cannot lie. Logs can be tampered with, metrics can be spoofed, but packets on the wire reveal what workloads actually do — what they connect to, what protocols they speak, what data they send. Your audit leverages this by examining DNS queries, HTTP requests, L4 flows, and protocol-level payloads across every dimension of the MITRE ATT&CK framework.

Prerequisites

Before starting any audit, verify the environment is ready.

**Tool**: `check_kubeshark_status`

Confirm Kubeshark is deployed and tools are available. You need at minimum: `list_api_calls`, `list_l4_flows`, `list_workloads`, `get_api_call`.

**KFL requirement**: This skill uses KFL filters for all queries. Before constructing any filter, load the KFL skill (`skills/kfl/`). KFL is statically typed — incorrect field names will fail silently. If the KFL skill is not loaded, only use the exact filter examples shown in this skill.

**KFL error resilience**: If a KFL filter returns `undeclared reference` or similar errors, **do not give up on that phase**. Fall back to: 1. Port-based filtering: `dst.port == 5432` instead of protocol flags 2. Name-based filtering: `dst.name.contains("db")` or `src.name.contains("pod-name")` 3. Browsing entries with `get_api_call` on IDs from `list_l4_flows` A KFL error means the filter syntax is wrong, not that the data doesn't exist.

Audit Methodology

A security audit is NOT an incident investigation. You are not responding to a known event — you are proactively searching for threats that may be hiding in normal traffic. This requires a systematic sweep across all threat categories, not a single focused query.

The audit has **two sections** that run in sequence:

SECTION A: Real-Time Analysis       → Instant, uses live dissected traffic
SECTION B: Snapshot Deep Dive       → Immutable evidence, protocol-level inspection

Why Two Sections?

Kubeshark has two modes of data access:

1. **Real-time dissection** — traffic is dissected as it flows through the cluster. Provides instant access to L7 data (DNS, HTTP, etc.) that is already captured and indexed. However, real-time dissection is resource- intensive and may not be enabled, or may have gaps in coverage.

2. **Snapshots** — immutable captures of raw traffic within a time window. Must be created explicitly, then dissected separately. Guarantees complete coverage of all packets in the window, but takes time to create and index.

Section A uses whatever is already available — fast, immediate, but possibly incomplete. Section B creates snapshots for thorough, evidence-grade analysis.

Severity Classification

Classify every finding using this framework:

| Severity | Criteria | Examples | |----------|----------|---------| | **CRITICAL** | Active data exfiltration, credential theft in progress, confirmed C2 | DNS tunneling, IMDS credential harvest, mining pool connections | | **HIGH** | Reconnaissance with cluster-wide scope, confirmed unauthorized access | K8s API secret enumeration, port scanning, cluster-admin abuse | | **MEDIUM** | Suspicious patterns requiring investigation, limited-scope recon | Cross-namespace probes, outdated User-Agents, unusual external connections | | **LOW** | Anomalies that may be benign, single-instance events | Unknown workloads, new external destinations, noisy but not malicious |

Timezone

Kubeshark returns timestamps in UTC. Always convert to local time before presenting to the user. Detect the local timezone at the start (e.g., `date +%Z`). Present local time as primary, with UTC in parentheses: `15:03:22 IST (12:03:22 UTC)`.

**Conversion**: Kubeshark timestamps are Unix milliseconds. To convert: `ms / 1000` → Unix seconds → datetime → format with timezone offset. Example: `1778534735974` → `2026-05-11 14:05:35 PDT (21:05:35 UTC)`.

---

SECTION A: Real-Time Analysis

**Goal**: Fast initial sweep using live data that's already available. No waiting for snapshot creation or dissection.

Step 1: Check What's Available

**Tool**: `check_kubeshark_status`

Confirm Kubeshark is running and which tools are available.

Step 2: Query Live Traffic

**Tool**: `get_l7_data_boundaries`

Check the time boundaries of dissected API calls in the real-time database. This tells you how far back L7 data is available — use it to understand the scope of your real-time queries before running them.

Then query the real-time dissected traffic across key dimensions. Use `list_api_calls` and `list_l4_flows` **without** a `snapshot_id` to hit the live data.

Run these queries simultaneously:

| Query | KFL Filter | What You're Looking For | |-------|-----------|------------------------| | DNS traffic | `dns

Read more
@kubeshark
Ships withkubeshark

eBPF-powered network observability for Kubernetes. Indexes L4/L7 traffic with full K8s context, decrypts TLS without keys. Queryable by AI agents via MCP and humans via dashboard.

12k4 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
12.1k
Star history of kubeshark/kubeshark on GitHub, a chart by star-history.com

Other skills on kubeshark.

install

install

Kubeshark installation and deployment skill. Use this skill whenever the user wants to install Kubeshark, deploy Kubeshark to a…

@kubeshark@kubesharkInstall Skill
kfl

kfl

KFL2 (Kubeshark Filter Language) reference. This skill MUST be loaded before writing, constructing, or suggesting any KFL filter…

@kubeshark@kubesharkInstall Skill
network-rca

network-rca

Kubernetes network root cause analysis skill powered by Kubeshark MCP. Use this skill whenever the user wants to investigate past…

@kubeshark@kubesharkInstall Skill

More skills from other plugins.

agentdb-advanced

agentdb-advanced

Master advanced AgentDB features including QUIC synchronization, multi-database management, custom distance metrics, hybrid…

ruview11d102k
@ruvnet@ruvnetInstall Skill
scan

scan

Scan a project with sentrux to get structural health grades (A-F) across 14 dimensions including coupling, cycles, cohesion, dead…

sentrux7mo3.3k
@sentrux@sentruxInstall Skill
phone-input

phone-input

Call the user on the phone for real-time voice conversations. Use this when you need input, want to report on completed work, or…

callme7mo2.7k
@zeframlou@zeframlouInstall Skill
maple-agent-tracing

maple-agent-tracing

Trace an AI agent or LLM app with Maple so each conversation shows up as one Agent Session with its transcript, model calls, tool…

maple11d1.9k
@mapletechlabs@mapletechlabsInstall Skill

Questions about security-audit.

Which coding agents can use security-audit?
security-audit installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.