@vigolium/piolium
Multi-phase security audits with specialist sub-agents, isolated context windows, capped concurrency, and resumable state — packaged as a Pi extension.
Package details
Install @vigolium/piolium from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@vigolium/piolium- Package
@vigolium/piolium- Version
0.0.15- Published
- Sep 20, 2026
- Downloads
- 1,809/mo · 162/wk
- Author
- j3ssie
- License
- MIT
- Types
- extension, skill, theme, prompt
- Size
- 2.6 MB
- Dependencies
- 0 dependencies · 7 peers
Pi manifest JSON
{
"skills": [
"./skills"
],
"themes": [
"./themes"
],
"prompts": [
"./prompts"
],
"extensions": [
"./extensions/piolium/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README

Piolium
Piolium is Vigolium's Pi-native repository security audit agent. It runs multi-phase source audits with specialist sub-agents, resumable state, controlled concurrency, PoC generation, and final reporting.
Piolium is packaged as a Pi extension. Once installed, it registers /piolium-* slash commands inside Pi sessions and also provides a standalone piolium launcher when installed through the quick installer.
[!WARNING] Full audit runs can take hours. Run Piolium only against repositories you trust or inside a sandboxed working directory.
Install
Piolium is a Pi package, so install Pi first if you don't have it:
bun add -g @earendil-works/pi-coding-agent
Recommended — install Piolium into your Pi from npm:
pi install npm:@vigolium/piolium
This registers the /piolium-* slash commands in your Pi sessions. Run them with pi -p "/piolium-balanced --fresh" or inside an interactive pi session.
From source (development)
For development from this checkout, you need Pi (the pi CLI) and Bun ≥ 1.1.0 already on your PATH:
bun install
pi install ./ # in-place dev install; edits in this checkout apply immediately
Quick Start
Run an audit with a one-shot command:
pi -p '/piolium-deep'
Or start an interactive pi session and type a command such as:
/piolium-deep ../target-repo --fresh
/piolium-status
Commands
| Command | Purpose |
|---|---|
/piolium-help |
Show commands, flags, and examples. |
/piolium-status [path] |
Show audit progress. |
/piolium-lite [path] [--fresh] |
Quick recon, secrets scan, and fast SAST. |
/piolium-balanced [path] [--fresh] |
Default audit with PoCs and report. |
/piolium-deep [path] [--fresh] [P1..P17] |
Full deep audit, optionally rerunning selected phases. |
/piolium-confirm [path] [--fresh] [https://target] |
Confirm existing findings live or with tests. |
/piolium-diff [path] [--since=<sha>] |
Scan changed files since an audited commit. |
/piolium-revisit [path] [--fresh] |
Anti-anchored second pass over an audit. |
/piolium-merge [path] --dir=<tree> --dir=<tree> |
Merge and dedupe result trees. |
/piolium-export [path] [--format=json|md-dir] |
Export filtered findings with owner labels. |
/piolium-learn [path] [--apply] |
Suggest or apply project-local candidate matchers. |
/piolium-smoke [path] [prompt] |
Verify runner/provider wiring. |
/piolium-longshot [path] [--fresh] [--limit=N] |
File-by-file vulnerability hunt. |
Most commands accept an optional target directory as the first argument.
Custom instructions
Every /piolium-* command accepts custom instructions that reach all sub-agents in every phase — use them to set the reporting language, describe the deployment environment, or steer emphasis:
/piolium-deep ../target-repo --instructions="Write all reports in Chinese"
/piolium-deep ../target-repo --instructions="Intranet-only service behind SSO; weight the threat model for an authenticated internal attacker"
Three ways to supply them, highest precedence first:
| Source | How |
|---|---|
| Inline | --instructions="<text>" per command, or pi --plm-instructions "<text>" for the session |
| Named file | --instructions-file=<path>, or pi --plm-instructions-file <path> |
| Repo default | Check piolium/INSTRUCTIONS.md into the target repo — picked up automatically |
Instructions steer language, format, emphasis, and environment assumptions. They do not relax the audit: every phase still runs, findings are still verified against source, and none are omitted or downgraded because of an instruction.
For authoritative project context — trust boundaries, auth primitives, known false-positive sources — use piolium/KNOWLEDGE-BASE.md instead; it is inlined into the knowledge base rather than treated as a directive.
Providers
Piolium runs on whatever provider your Pi session is configured for. It also bundles an anthropic-vertex provider for running Claude through Google Vertex AI, registered only when Vertex is configured — any GOOGLE_CLOUD_* / ANTHROPIC_VERTEX_PROJECT_ID env var enables it, or set PIOLIUM_VERTEX=1 to force it on (PIOLIUM_VERTEX=0 to hide it). See HACKING.md for details.
Deep mode phases
/piolium-deep runs 17 phases (P1–P17) in five stages. Pass phase ids to rerun only those (e.g. /piolium-deep . P4 P10):
- Recon & modeling —
P1intelligence & dependency risk,P2patch history & bypass review,P3architecture & threat model. - Analysis —
P4static analysis & triage,P5authorization & access control,P6state machine & concurrency,P7spec/parser/framework-contract gaps,P8manual attack-surface probe,P9cross-service data flow. - Adversarial validation —
P10adversarial review chamber,P11false-positive verification,P12variant search. - PoC & reporting —
P13proof-of-concept construction,P14per-finding report drafting,P15final report assembly,P16finding verification. - Cleanup —
P17removes transient workspaces and tool artifacts.
See docs/phase-reference.md for per-phase behavior and outputs.
Output
All audit artifacts are written under a piolium/ directory in the target repository:
piolium/
audit-state.json # resumable run state and per-phase status
attack-surface/ # durable knowledge base: recon, SAST, probes, threat model
findings-draft/ # candidate findings, named by the phase that produced them
findings/<id>-<slug>/ # final findings: draft.md, report.md, poc.*, evidence/
final-audit-report.md # consolidated report across finalized findings
tmp/piolium/runs/<id>/ # per-agent transcripts (removed by cleanup phases)
Not every command writes every path — Lite skips the deep workspaces, while Deep adds the full attack-surface/ corpus plus variant-summary.md and, when findings confirm, confirmation-report.md. For a finished audit, start with final-audit-report.md, then each findings/<id>-<slug>/report.md.
Useful references:
- HACKING.md - technical setup, flags, retries, release, and development notes.
- docs/phase-reference.md - phase behavior and outputs.
- docs/output-structure.md - output directory layout.
Security Note
Pi packages execute code locally. Extensions run TypeScript, skills can ask the model to run shell commands, and Piolium's audit agents use filesystem and shell tooling. Treat Piolium as trusted local tooling and sandbox untrusted targets.
License
Piolium is made with ♥ by @j3ssie and it is released under the MIT license.