peirates
v1.1.34 open-sourceThe section your link pointed to isn't on peirates's page any more, so we've brought you to the top.
Peirates - Kubernetes Penetration Testing tool
kubectl-can-i json-cat printf '1234\nid; hostname; pwd\nTRACE-DISPOSABLE-HOST-PROCESS-1234\n' | peirates -c -m hostpid-ptrace-breakout DIST_ARCHES=arm64 DIST_COMPRESS=no make dist make dist DIST_ARCHES=arm64 make dist DIST_COMPRESS=no peirates scan --shell "ls; whoami" peirates tokens --display-values peirates scan -v shell ls -la /tmp kubectl get pods --all-namespaces peirates --auth-file=/path/to/token -u https://k8s-api.example.com:6443
Summary
peirates is an open-source, GPLv2-licensed command-line tool for penetration testing Kubernetes clusters, built to escalate privilege and pivot once an attacker already has a foothold inside a pod or node. You run it as a compiled binary from within a container running on the cluster, or from a node itself, and it automates the collection of service account tokens and secrets, cloud provider detection, and further code execution to take over the cluster; this places it squarely in post-exploitation rather than initial-access tooling, aimed at red teamers and penetration testers rather than platform engineers or SOCSOCA security operations center, the team or function that monitors threats, investigates alerts and coordinates incident response. Its work can be internal, outsourced or shared. analysts. First committed in 2018 with 16 contributors, it has kept up a steady release cadence historically, though recent activity has slowed to a handful of commits in the past year and its last release was over 200 days ago.
Peirates - Kubernetes Penetration Testing tool
How peirates helps
Which service accounts and secrets can be reached from the pod or node I am standing on?
walks the filesystem and API to collect service account tokens and secrets automatically, rather than requiring the operator to hunt for each one by hand
Does this pod's cloud identity let me reach anything outside the cluster?
detects the underlying cloud provider from within the pod and uses that foothold to pursue credentials and resources reachable from the instance
Which of my running containers can be broken out of to reach the underlying node?
checks for a set of known container escape conditions, such as a writeable host filesystem mount, an exposed container socket, or a exploitable kernel file, and alerts on which are present
Can I use one stolen credential to try every identity I have collected against the API server?
replays a captured command against every service account it has gathered rather than stopping at the first one that succeeds, showing which identities actually have access
What can I still reach once I escalate from this node's kubelet?
pulls kubeconfig files and embedded certificates from the kubelet's known file paths to extend access beyond the pod
How exposed is a captured token if I need to hand it to another tool or teammate?
includes a menu option to display the stored value of any collected service account token directly, rather than leaving it opaque
Languages
Command line
No command matches.
| option | found in | since | description |
|---|
Values are placeholders taken from each option’s declared default. Nothing is executed here — the output shown is a recording of a run that already happened.
Score card
-
Shipping velocity releases a month, last 12 months
-
Documentation quality release-notes rubric, 0–100
-
Breaking-change discipline how rarely a release breaks users, and notice given
-
Maintenance risk quiet time against its own cadence, maintainers
-
Innovation & surface new capabilities, API and MCP surface
- Community health
-
Contributor trend distinct committers, this year against last
-
Maintainer concentration bus factor now against a year ago
-
Issue backlog trend issues closed per issue opened, 12 months
-
Responsiveness median time to a maintainer’s first reply
Nine scores for peirates, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Score cards are part of every paid plan.
See plans → Already subscribed? Sign in →Trajectory
Blank means never measured; nothing here is a filled-in zero.
Peer standings are included with Researcher and Business. See how this tool ranks against its competitors, using data we don't publish anywhere else.
See plans →Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
- Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
- Documentation quality — the release-notes rubric published on the analytics page, unchanged.
- Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
- Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
- Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
- Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
- Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
- Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail peirates puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
Checking release-note history…
Coverage
Missing something? Tell us
What peirates connects to, runs on and detects, read from its release notes and docs. So far: 1 new detection.
1 change, tracked since Oct 10, 2026.
-
Oct 102026
new hostpid-ptrace-breakout container escape check
`hostpid-ptrace-breakout`: effective UID 0, matching visible-PID-1 PID and user namespaces, and effective `CAP_SYS_PTRACE` and `CAP_SYS_ADMIN`. An explicit eligible disposable process must still be selected by the action.
Nothing first seen in this window. That doesn't mean peirates shipped nothing, only that we found no record of it.
How we count
Read from 4 of 21 release notes and docs updates we hold for peirates. "First seen" is the earliest note that names something; "last" is the latest. Our history may start partway through peirates's life, so an old integration can show a recent first-seen date.
Each change counts once: "added 40 checks" is one line, so the numbers measure how often coverage moves, not how big the catalogue is or how well it detects.
Releases
21 entries
No entries match these filters.
- October 20266
- September 20262
- August 20262
- April 20251
- May 20241
- November 20231
- September 20231
- May 20231
- November 20211
- October 20215
Project health
Issue, contributor and maintainer activity in inguardians/peirates, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.
- Contributors 1 ±0 vs prior 12 months
- Maintainers 1 +0 joined · −0 left, last 12 months
- Bus factor 1 committers behind half the commits
- Community-filed 0% of issues opened, last 12 months
- Median time to close not measured issues closed, last 12 months
- Open backlog 23 of 38 issues ever filed
- Issues opened / month 0 · 0 communitymaintainers
- Open backlog 23
- Contributors / month 1
- Commits / month 21
- Stars 1,480
- other 100%
Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this
Articles
1 article · updated Nov 4, 2026Where peirates turns up in what others publish: how-tos, attack reports that name it, and incident write-ups. A row says why it is here and quotes where the article names it; the link goes to the publisher.
Breach post-mortems & incident response 1
-
Understanding Current Threats to Kubernetes Environments
Understanding these techniques – and how tools like Peirates ( S0683 ) model them – provides defenders with a practical lens for anticipating threat actor behavior and designing controls that interrupt escalation early…
2 more quotes
The workflow mirrors the post‑compromise path demonstrated in tools like Peirates, but with the added speed of AI-assisted malware frameworks.
S0683 Peirates Peirates is a Go-based open-source framework, originally created to help red teams and defenders understand how a compromised container can be leveraged to explore a cluster, escalate privileges and pivot…
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can follow every release here.