GHSA-93qj-5q5v-3c2h
GHSA-93qj-5q5v-3c2h is a security vulnerability in pantheon-agents. O3 Security confirms whether GHSA-93qj-5q5v-3c2h is actually reachable in your code before you act, and blocks exploitation at runtime until you patch.
Trojanized pantheon-agents 0.6.1 and 0.6.2 on PyPI ship a credential stealer (supply-chain account compromise)
Real-World Exposure
pantheon-agentsReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects PyPI packages — download data is not available via public APIs for these ecosystems.
Description
Summary
The PyPI account that publishes pantheon-agents was compromised in the June 2026 "Hades" PyPI supply-chain attack (Mini Shai-Hulud / Miasma lineage). The attacker used a stolen, long-lived PyPI API token to upload trojanized releases pantheon-agents 0.6.1 and 0.6.2 directly to PyPI.
Only the PyPI artifacts are affected. The GitHub source repository, its git tags, and all other distribution channels are clean — no malicious code was committed to the repository.
Affected
pantheon-agents0.6.1 and 0.6.2 on PyPI.
Not affected: installs from the GitHub source, version 0.6.0 and earlier, and the Desktop / Online apps.
Indicators of compromise
The malicious wheels ship a *-setup.pth file that executes on Python startup. It downloads the Bun JavaScript runtime and runs an obfuscated credential stealer (_index.js) that harvests and exfiltrates credentials reachable from the host — environment variables, ~/.pypirc, ~/.npmrc, cloud credentials (~/.aws, etc.), SSH keys, and API tokens.
Check your environment's site-packages for an unexpected *-setup.pth, and your home directory for _index.js or a Bun runtime (~/.bun).
Impact
Anyone who pip installed pantheon-agents 0.6.1 or 0.6.2 should assume every credential present on that machine has been exfiltrated.
Remediation
- Do not install
pantheon-agentsfrom PyPI until distribution resumes. - If you installed 0.6.1 or 0.6.2:
- Run
pip uninstall pantheon-agentsimmediately and check for the IoCs above. - Rotate every credential that was present on that machine (API keys, tokens, SSH keys, cloud credentials).
- Run
- Install only from the clean GitHub source:
pip install "git+https://github.com/aristoteleo/PantheonOS.git"
Status
The PyPI account is suspended and the malicious token has been disabled. PyPI distribution will resume after account recovery and migration to PyPI Trusted Publishing (OIDC). Sibling projects by the same maintainer (e.g. executor-engine, funcdesc, cmd2func, pantheon-toolsets, coolbox, ufish, magique, executor-http) were hit by the same campaign and are being remediated separately.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐍PyPI | pantheon-agents | ≥ 0.6.1&&< 0.6.4 | 0.6.4 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for pantheon-agents. O3's reachability analysis confirms whether the vulnerable code path is actually invoked in your application, so you act on real exposure instead of every transitive match.
Fix
Update pantheon-agents to 0.6.4 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-93qj-5q5v-3c2h is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
How O3 protects you
O3 pinpoints whether GHSA-93qj-5q5v-3c2h is reachable in your code and exactly where to fix it, then blocks exploitation in production at runtime until the patched version is deployed.
Tailored to GHSA-93qj-5q5v-3c2h. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.
Frequently Asked Questions
Is GHSA-93qj-5q5v-3c2h in your dependencies?
O3 detects GHSA-93qj-5q5v-3c2h across PyPI dependencies and uses function-level reachability to confirm whether the vulnerable code path is actually reachable — not just present. No false positives.