See your cloud. Secure what matters.
Turn AWS configuration data into clear, actionable security intelligence.
Plexavo is an open-source cloud security tool that audits AWS accounts
for real-world misconfigurations, using your own local AWS credentials
the same way aws s3 ls does, so nothing about your account ever
leaves your machine.
Each scan produces a 0–100 security score and a plain-English report: what's wrong, what an attacker would actually do with it, and the exact command to fix it.
✦ What it checks
32 checks across 6 categories, run against real AWS accounts:
| Category | What Plexavo looks for |
|---|---|
| IAM | Privilege escalation paths, wildcard admin, cross-account trust, root usage, dormant credentials |
| Network | Security groups and RDS instances exposed to the internet |
| Storage | Public S3 buckets via ACLs, bucket policies, or missing Block Public Access; buckets with no access logging |
| Encryption | Unencrypted EBS volumes, RDS instances, S3 buckets |
| Logging | CloudTrail coverage and encryption, GuardDuty status |
| Usage | Permissions granted but never used, roles nobody has assumed in 90+ days |
See docs/*-TEST-MATRIX.md for how each check was verified.
⚡ Installation
Every path below installs Plexavo into its own isolated environment.
macOS & Linux
curl -LsSf https://astral.sh/uv/install.sh | sh # skip if you have uv
uv tool install plexavo
Prefer pipx? pipx install plexavo works the
same way.
Windows
uv/pipx still work, but the PATH launcher is unsigned and Windows
Smart App Control blocks it. Run Plexavo through Python instead:
Option 1, uv (recommended)
uv tool install plexavo
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
if (!(Test-Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force }
Add-Content $PROFILE 'function plexavo { & "$env:APPDATA\uv\tools\plexavo\Scripts\python.exe" -m plexavo @args }'
Open a new terminal. plexavo now works like it does on macOS/Linux,
routed through uv's signed Python instead of the blocked launcher.
Option 2, plain venv
py -m venv plexavo-venv
.\plexavo-venv\Scripts\Activate.ps1
python -m pip install plexavo
python -m plexavo
Use python -m for everything here too. The venv's own pip.exe and
plexavo.exe are unsigned as well, only python.exe is signed.
AI narration (optional)
Want each finding rewritten as a full narrative? Install "plexavo[ai]"
instead of plexavo, and set ANTHROPIC_API_KEY. See Cost.
🚀 Using Plexavo
Run it with no arguments and it walks you through everything: picking an AWS profile, choosing HTML or PDF, then scanning and showing your score with every finding.
plexavo # macOS/Linux, and Windows Option 1
python -m plexavo # Windows Option 2
Running it on a schedule
Plexavo can also run unattended from cron or a GitHub Actions workflow,
and flag a run when something regresses so you get notified without
opening a report. See docs/automation.md.
🤖 Using it from Claude Code
Using Claude Code? Install the
plexavo-scan plugin, then just ask: "scan my AWS account for security
issues using Plexavo." It relays exactly what Plexavo found, and never
runs a state-changing AWS command without asking first.
/plugin marketplace add plexavo/Plexavo
/plugin install plexavo-scan@plexavo
Prefer not to add a marketplace? Save
plexavo-scan/SKILL.md
to ~/.claude/skills/plexavo-scan/SKILL.md
(%USERPROFILE%\.claude\skills\plexavo-scan\SKILL.md on Windows) instead,
same skill, just without automatic updates.
📊 The report
Reports are generated as HTML, PDF, or both. Every finding gets a free,
template-based fix by default, no key, no cost. Full AI-written
narration kicks in automatically once an ANTHROPIC_API_KEY is
detected, see Cost.
💰 Cost
Detection and the free templates always cost nothing. Live AI only runs
with --explain, using your own ANTHROPIC_API_KEY in your own
Anthropic account.
Plexavo never sees your key and never calls the API without it. A full
scan with --explain typically costs a few cents.
🤝 Contributing
git clone https://github.com/plexavo/plexavo.git
cd plexavo
uv pip install -e .
See CONTRIBUTING.md for the pattern used to add a
new check.
🧨 Break Plexavo
Think you can make Plexavo miss something, or give confusing guidance?
Every confirmed, genuinely new finding gets fixed and shipped, and you get a permanent credit in the Hall of Bugs.
No bounty. Public credit only.
🔐 Security
Found a vulnerability in the tool itself, not a misconfiguration in your own AWS account (that's the tool working correctly)?
See SECURITY.md for a private reporting path.
📄 License
AGPL-3.0, see LICENSE.
Use, run, and modify it freely. If you run a modified version as a hosted service, you're required to publish those modifications too.
Plexavo · Open-source cloud security, built to be understood.
Scan. Understand. Fix. Repeat.
Metadata
Release files for plexavo 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| plexavo-0.4.1.tar.gz | 1.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plexavo-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.3 MB
Release files / plexavo-0.4.1.tar.gz
| Download URL | plexavo-0.4.1.tar.gz |
|---|---|
| Size | 1.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f90f7a62bbd6803380d76625c42c7a772e0f6f8b02019dacb5e6da1715212a1f
|
|
BLAKE2b-256 checksum How to use checksums |
8fed66cf14a2acd40dc2c24e82bed7fe6a513d8dc07cc0f97f9735f845657e39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logRelease files / plexavo-0.4.1-py3-none-any.whl
| Download URL | plexavo-0.4.1-py3-none-any.whl |
|---|---|
| Size | 1.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
82aa5995a5caf1e6b793d6d0dc24d1c0b0842518ff7d881f9a798502e8abbb18
|
|
BLAKE2b-256 checksum How to use checksums |
a1edd471dc196d38821abf4e134669f2132f776c937e54a48ed81a304d888798
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency log