install
Kubeshark installation and deployment skill. Use this skill whenever the user wants to install Kubeshark, deploy Kubeshark to a Kubernetes cluster, set up…
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,
$ npx -y skills add kubeshark/kubeshark --skill security-audit --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/security-auditContext preview
The summary Claude sees to decide when to auto-load this skill.
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,
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.
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.
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.
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
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.
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 |
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)`.
---
**Goal**: Fast initial sweep using live data that's already available. No waiting for snapshot creation or dissection.
**Tool**: `check_kubeshark_status`
Confirm Kubeshark is running and which tools are available.
**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
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.
Kubeshark installation and deployment skill. Use this skill whenever the user wants to install Kubeshark, deploy Kubeshark to a Kubernetes cluster, set up…
KFL2 (Kubeshark Filter Language) reference. This skill MUST be loaded before writing, constructing, or suggesting any KFL filter expression. KFL is statically…
Kubernetes network root cause analysis skill powered by Kubeshark MCP. Use this skill whenever the user wants to investigate past incidents, perform…