Observed since 20 Oct, 21:36 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Defense-in-depth proxy sandbox for AI agents
Defense-in-depth security sandbox for autonomous AI agents.
Default-deny network egress • Zero-leak placeholder secret injection • TLS inspection proxy • Autonomous Policy API & Traffic Watcher • Multi-backend isolation (Linux rootless Podman, macOS Apple Container, Lima VM)
agentcage runs an AI coding agent — Claude Code, OpenAI Codex, Pi, OpenClaw, or any custom agent workload — inside an isolated sandbox whose only route to the outside world is an inspecting proxy you control.
The agent gets a working internet connection restricted to approved domains, cryptographically random decoy tokens instead of your real API keys, and zero ability to access the open internet, probe internal networks, or pivot back to your host machine.
agentcage run claude-code -s ANTHROPIC_API_KEY
That single command builds an unprivileged container, allocates a private internal network, launches an egress proxy with a DNS filter and TLS-inspecting inspector chain, stores your real API key encrypted on the host, hands the agent a fake placeholder token, mounts your current repository at /workspace with host-pivot protection masks, and drops you into an interactive Claude Code session.
Autonomous AI coding agents read untrusted input from the web, execute shell commands, install dependencies, and manipulate files. Running an agent directly on your machine or inside a naive container hands it what security researchers term the lethal trifecta: access to private credentials, arbitrary code execution, and unrestricted network egress.
Standard containerization alone does not protect you:
ANTHROPIC_API_KEY or GITHUB_TOKEN are readable by every process in the container, any installed npm/pip package, and any prompt injection that executes env or curl.169.254.169.254), exposing internal databases and cloud IAM credentials./workspace/.git/hooks/ or a malicious configuration into /workspace/.claude/ that executes arbitrary code on your host upon your next manual commit.agentcage eliminates each of these attack surfaces:
| Attack Surface | Naive Setup / Container | agentcage Defense |
|---|---|---|
| Outbound Data Exfiltration | Allowed to any IP / host | Default-deny egress. All non-HTTP traffic is dropped. Only allowlisted domains resolve or connect. |
| Credential Theft | Real keys sit in memory/env | Zero-leak placeholders. Real keys stay on host. Proxy injects credentials on the wire and redacts responses. |
| LAN / Metadata Probing | Can probe 192.168.x.x & 169.254.169.254 | Blocked. Private IPs, loopbacks, and wildcard DNS tricks (*.nip.io IP-encoding) are structurally rejected. |
| Host Pivoting via Mounts | Can write malicious git hooks to host | Pivot masks. Writable project mounts automatically hide .git/hooks/ and .claude/ via tmpfs overlays. |
| Silent Policy Violations | Unaudited and uninspected | Deep inspection & watcher. Real-time entropy / secret / payload scanning, structured audit logs, and HAR exports. |
Every cage consists of a workload sandbox and an egress gateway container operating on an isolated, internal-only bridge network (Internal=true), orchestrated by systemd user quadlets (Linux) or microVM supervisors (macOS):
┌─────────────────────────── HOST MACHINE ───────────────────────────────────────────┐
│ │
│ agentcage CLI (create, run, exec, domain, secret, watcher, doctor) │
│ State & Encrypted Secrets: ~/.config/agentcage/ (systemd-creds / Apple Keychain) │
│ │
│ ┌───────────── Private Network: <name>-net (10.89.X.0/24, Internal=true) ─────┐ │
│ │ │ │
│ │ ┌──────────────────────────┐ ┌────────────────────────────────┐ │ │
│ │ │ WORKLOAD SANDBOX (cage) │ │ EGRESS GATEWAY (egress) │ │ │
│ │ │ 10.89.X.2 │ │ 10.89.X.10 │ │ │
│ │ │ │ │ │ │ │
│ │ │ Coding Agent Process │ │ dnsmasq (DNS Filter) │ │ │
│ │ │ • UID 1000 (workload) │ DNS/53 │ • Allowlisted zones → upstream│ │ │
│ │ │ • All capabilities drop │─────────▶│ • Blocked zones → 198.51.100.1│ │ │
│ │ │ • No-new-privileges │ │ (TEST-NET-2 sinkhole) │ │ │
│ │ │ • Read-only rootfs │ TCP │ │ │ │
│ │ │ • Pivot masks on .git │─────────▶│ mitmdump (Inspecting Proxy) │ │ │
│ │ │ │ │ • :8080 HTTP proxy │ │ │
│ │ │ Decoy Placeholders: │ │ • :8443 transparent (iptables)│ │ │
│ │ │ agentcage:secret:KEY:… │ │ │ │ │
│ │ │ │ │ Proxy Addon & Controls: │ │ │
│ │ │ Trusted Per-Cage CA: │ │ • Inspector Chain │ │ │
│ │ │ /certs/ca-cert.pem │ │ (domain, secrets, entropy, │ │ │
│ │ └──────────────────────────┘ │ content-type, body-size) │ │ │
│ │ │ │ • Wire Secret Injector │ │ │
│ │ │ Default route via │ • Inbound Response Redactor │ │ │
│ │ └──────▶ 10.89.X.10 │ • Policy API (agentcage.local)│ │ │
│ │ │ • Traffic Watcher Agent │ │ │
│ │ │ • Protocol Relays (IMAP/SMTP) │ │ │
│ │ └───────────────┬────────────────┘ │ │
│ └─────────────────────────────────────────────────────────│───────────────────┘ │
│ │ iptables: │
│ │ FORWARD policy DROP │
│ │ IPv6 FORWARD DROP │
└────────────────────────────────────────────────────────────│───────────────────────┘
▼
INTERNET / APIs
(allowlisted domains only)
When an agent performs an HTTPS call (e.g. GET https://api.anthropic.com/v1/messages):
dnsmasq. If anthropic.com is in the allowlist, it forwards upstream and returns the real A/AAAA record. If not, it resolves to 198.51.100.1 (RFC 5737 TEST-NET-2 sinkhole) so unauthorized destinations fail immediately with clear policy errors instead of silent timeouts.iptables PREROUTING into the local mitmdump proxy on port 8443.domain: Verifies destination against permanent allowlists and active runtime grants.secrets: Scans payloads with regex patterns; detects raw credentials leaving the sandbox.entropy: Computes Shannon entropy (0–8 bits/byte) to catch encrypted or obfuscated exfiltration payloads.content-type: Flags base64 blobs disguised inside JSON or plain text.body-size: Enforces strict request body limits.agentcage:secret:ANTHROPIC_API_KEY:<hex>) are substituted with the real secret on the wire — only for matching allowlisted domains and credential-bearing headers (Authorization, x-api-key, etc.).audit.jsonl and full HTTP transactions are recorded in capture.jsonl (exportable as HAR 1.2).Internal=true). L4 iptables drop all forwarding by default; IPv6 is disabled outright. Non-HTTP protocols (TCP/UDP/ICMP) are dropped unless explicitly permitted in cage.yaml.systemd-creds on Linux and the macOS Keychain on Darwin.https://agentcage.local/v1/allowlist to discover reachable domains and POST /v1/allowlist/requests to request dynamic domain access with a justification. An in-egress LLM Decider Agent scrutinizes the justification and grants temporary runtime access without operator intervention..git/hooks/ and .claude/ via tmpfs masks (notmpcopyup and tmpcopyup), preventing agents from planting malicious git hooks that execute on your host machine.agentcage cage har loadable into Chrome DevTools — choosing either the inbound view (safe to share, placeholders only) or outbound view (wire-level debugging with real injected values).agentcage automatically selects the optimal isolation backend for your host machine:
| Feature | container | apple-container | vm |
|---|---|---|---|
| Host OS | Linux | macOS 26+ (Apple Silicon) | macOS (Intel / older), Linux |
| Runtime Engine | Rootless Podman + systemd quadlets | Apple container microVMs | Dedicated Lima microVM + Podman |
| Default On | Linux | macOS 26+ ASi with Apple container | Other macOS environments |
| Isolation Strength | Linux namespaces + cgroups v2 | Hardware virtualization (Apple VZ) | Hardware virtualization (QEMU / VZ) |
| Startup Speed | Sub-second (fastest) | Fast (~1–2s) | Moderate (~10–15s VM boot) |
| Host Volume Mounts | Full host bind mounts (rw/ro) | Full bind mounts under $HOME | Staged copies / sshfs |
| Read-Only Rootfs | Supported (read_only: true) | Always RW (warned) | Supported |
Pivot Masks (.git/hooks) | Supported via tmpfs | Emulated via tmpcopyup | Supported via tmpfs |
| Encrypted Secret Store | systemd-creds (TPM2 / host key) | macOS Keychain | macOS Keychain / systemd-creds |
| Named Volumes | Supported | Not supported | Supported |
| Published Host Ports | Supported (reverse mitmproxy) | Reached via direct vmnet IP | Supported |
| Policy API & Watcher | Supported | Supported | Supported |
| HAR 1.2 Capture | Supported | Supported | Supported |
Using the official one-line installer:
curl -fsSL https://raw.githubusercontent.com/agentcage/agentcage/master/install.sh | sh
Or install via Python package managers (uv or pip):
uv tool install agentcage
# or
pip install agentcage
Verify your host environment:
agentcage doctor
Run an interactive coding agent in a temporary, sandboxed cage with your repository mounted. The cage is automatically torn down when the session exits:
# Run Claude Code in the current project directory (prompts for key securely)
agentcage run claude-code -s ANTHROPIC_API_KEY
# Run OpenAI Codex with an explicit project directory
agentcage run codex --project ~/code/my-repo -s OPENAI_API_KEY
# Run Pi terminal harness with a specific isolation backend
agentcage run pi --project . --isolation vm -s OPENAI_API_KEY
For continuous background agents, services, or multi-session workflows:
# 1. Generate a commented cage.yaml configuration
agentcage init my-cage --scaffold claude-code
# 2. Store your API key encrypted on the host
agentcage secret set my-cage ANTHROPIC_API_KEY
# 3. Build, generate quadlets, and start the cage
agentcage cage create -c cage.yaml
# 4. Attach an interactive shell or exec commands
agentcage cage exec my-cage -- claude
agentcage cage shell my-cage
# 5. Monitor and audit live traffic
agentcage cage logs my-cage -f
agentcage cage audit my-cage --follow --decision blocked
agentcage provides top-level aliases for all common operations (agentcage run, agentcage exec, agentcage ls, etc.):
CAGE LIFECYCLE
agentcage init [NAME] [--scaffold NAME] Scaffold a new cage.yaml
agentcage run <scaffold> -s KEY [--project] Launch ephemeral agent session (auto-cleanup)
agentcage cage create -c cage.yaml Build, install, and start persistent cage
agentcage cage update NAME [--no-cache] Rebuild images and restart cage
agentcage start | stop | restart NAME Control cage lifecycle (skips rebuild)
agentcage destroy NAME [-y] [--keep-secrets]Stop containers, remove quadlets and state
agentcage prune [-y] Remove exited interactive/ephemeral cages
agentcage verify NAME Run runtime health diagnostics
WORKLOAD INTERACTION
agentcage exec NAME -- CMD Execute a command inside the cage container
agentcage exec NAME -s egress -- CMD Execute a command inside the egress proxy
agentcage shell NAME [--as-root] Open an interactive shell in the cage
agentcage logs NAME -f [-s egress] Stream systemd journalctl container logs
EGRESS DOMAINS & GRANTS
agentcage domain list NAME List allowlisted, blocked, and passthrough domains
agentcage domain add NAME DOMAIN... Add domains to filter (--expires-in 2h)
agentcage domain rm NAME DOMAIN Remove a domain from the filter list
agentcage cage grants NAME list List active runtime Policy API grants
agentcage cage grants NAME promote DOMAIN Promote dynamic grant into static cage.yaml
agentcage cage grants NAME revoke DOMAIN Immediately drop dynamic runtime grant
agentcage cage grants NAME sync Reconcile expired or accepted grants
SECRET MANAGEMENT
agentcage secret set NAME KEY [--declare] Store secret encrypted on host
agentcage secret list NAME List stored secrets and injection bindings
agentcage secret rm NAME KEY Remove a stored secret
agentcage secret rotate-placeholders NAME Mint fresh random 128-bit decoy placeholders
FORENSICS & WATCHER
agentcage cage audit NAME --summary View aggregated proxy inspection statistics
agentcage cage audit NAME -f -d blocked Stream blocked traffic decisions in real time
agentcage cage har NAME -o audit.har Export HTTP flows as HAR 1.2 (inbound/outbound)
agentcage watcher status NAME Inspect background traffic watcher state
agentcage watcher findings NAME Review suspicious flow findings and revocations
CONFIG & MAINTENANCE
agentcage edit NAME Open cage.yaml in $EDITOR with live validation
agentcage doctor Check host dependencies and backend health
agentcage scaffold list | show | create Manage built-in and custom scaffolds
agentcage cage backup NAME -o backup.tar.gz Backup cage configuration and state
agentcage cage restore BACKUP.tar.gz Restore or clone cage from backup archive
Scaffolds package container definitions, volume mounts, and network policies tailored to specific agent harnesses:
| Scaffold | Alias | Lifecycle | Description |
|---|---|---|---|
claude-code | claude | interactive | Anthropic Claude Code CLI. Pre-configures anthropic.com allowlist, injects ANTHROPIC_API_KEY / CLAUDE_CODE_OAUTH_TOKEN, and masks .git/hooks and .claude/. |
codex | — | interactive | OpenAI Codex CLI. Allowlists api.openai.com, injects OPENAI_API_KEY. |
pi | — | interactive | Pi.dev autonomous terminal coding harness. Pre-configured for Anthropic/OpenAI keys or in-cage OAuth login. |
openclaw | — | service | Autonomous agent harness with browser automation and local web gateway (127.0.0.1:18789). Supports nested containers and named volume caching. |
ubuntu | — | interactive | Clean Ubuntu Linux environment with package management. |
debian | — | interactive | Minimal Debian base sandbox. |
arch | — | interactive | Minimal Arch Linux sandbox with pacman. |
busybox | — | interactive | Ultra-lightweight container for testing egress rules and scripts. |
Custom scaffolds can be created, edited, and shared across your team using agentcage scaffold create my-scaffold --from claude-code.
cage.yaml)agentcage configurations use standard YAML (cage.yaml):
name: my-agent
isolation: container # container | apple-container | vm (default: auto)
lifecycle: service # service | interactive | ephemeral
container:
image: node:22-slim
command: ["bash"]
user: 1000:1000
read_only: true
drop_capabilities: [ALL]
no_new_privileges: true
volumes:
- ".:/workspace:rw"
tmpfs:
- "/tmp:rw,noexec,nosuid,size=512m"
domains:
mode: allowlist
allow:
- api.anthropic.com
- github.com
- registry.npmjs.org
passthrough: [] # Raw TCP TLS passthrough (bypasses MITM inspection)
secrets:
backend: auto # systemd-creds (Linux) or keychain (macOS)
secret_injection:
- env: ANTHROPIC_API_KEY
inject_to:
- api.anthropic.com
inject_headers: true
inject_body: false
agents:
decider:
enable: true # In-egress autonomous LLM decider for Policy API
watcher:
enable: true # Background LLM auditor for traffic anomaly detection
interval_seconds: 300
auto_revoke: true
capture:
enable_har: true
max_body_size: 1048576 # 1 MB body capture limit
Full configuration reference: docs/reference/configuration.md.
Explore the complete technical documentation in docs/:
cage.yaml, the CLI Manual, the Policy API HTTP Spec, Scaffolds, and Secrets Management.agentcage is an active defense-in-depth security harness. While it drastically reduces the threat surface of autonomous code execution, security is a continuous discipline. Always review project mounts, domain allowlists, and passthrough grants.
If you discover a security vulnerability in agentcage, please report it privately according to our Security Policy.
Licensed under the MIT License.
pypistats · 86 observations shown. Missing days are unknown. Source category: overall: without mirrors.
| Date / source period | Value | Observed at |
|---|---|---|
| 2026-10-19 – 2026-10-19 | 26 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-18 – 2026-10-18 | 193 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-17 – 2026-10-17 | 33 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-16 – 2026-10-16 | 42 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-15 – 2026-10-15 | 9 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-14 – 2026-10-14 | 11 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-13 – 2026-10-13 | 6 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-12 – 2026-10-12 | 47 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-11 – 2026-10-11 | 27 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-10 – 2026-10-10 | 25 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-09 – 2026-10-09 | 16 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-08 – 2026-10-08 | 5 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-07 – 2026-10-07 | 4 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-06 – 2026-10-06 | 7 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-05 – 2026-10-05 | 25 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-04 – 2026-10-04 | 20 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-02 – 2026-10-02 | 5 | 2026-10-20T22:23:32.7964701Z |
| 2026-10-01 – 2026-10-01 | 50 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-30 – 2026-09-30 | 12 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-29 – 2026-09-29 | 12 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-28 – 2026-09-28 | 8 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-27 – 2026-09-27 | 3 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-26 – 2026-09-26 | 17 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-25 – 2026-09-25 | 106 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-24 – 2026-09-24 | 1 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-23 – 2026-09-23 | 6 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-22 – 2026-09-22 | 7 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-21 – 2026-09-21 | 18 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-20 – 2026-09-20 | 317 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-19 – 2026-09-19 | 29 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-18 – 2026-09-18 | 115 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-17 – 2026-09-17 | 197 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-16 – 2026-09-16 | 42 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-15 – 2026-09-15 | 18 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-14 – 2026-09-14 | 34 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-13 – 2026-09-13 | 58 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-12 – 2026-09-12 | 12 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-11 – 2026-09-11 | 28 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-10 – 2026-09-10 | 8 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-09 – 2026-09-09 | 44 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-08 – 2026-09-08 | 39 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-07 – 2026-09-07 | 438 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-06 – 2026-09-06 | 19 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-05 – 2026-09-05 | 39 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-04 – 2026-09-04 | 359 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-03 – 2026-09-03 | 26 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-02 – 2026-09-02 | 103 | 2026-10-20T22:23:32.7964701Z |
| 2026-09-01 – 2026-09-01 | 34 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-31 – 2026-08-31 | 34 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-30 – 2026-08-30 | 170 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-29 – 2026-08-29 | 96 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-28 – 2026-08-28 | 256 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-27 – 2026-08-27 | 4 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-26 – 2026-08-26 | 7 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-25 – 2026-08-25 | 273 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-24 – 2026-08-24 | 6 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-23 – 2026-08-23 | 6 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-22 – 2026-08-22 | 2 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-21 – 2026-08-21 | 7 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-19 – 2026-08-19 | 20 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-18 – 2026-08-18 | 168 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-17 – 2026-08-17 | 7 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-15 – 2026-08-15 | 2 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-14 – 2026-08-14 | 10 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-13 – 2026-08-13 | 7 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-12 – 2026-08-12 | 8 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-11 – 2026-08-11 | 8 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-10 – 2026-08-10 | 6 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-09 – 2026-08-09 | 13 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-08 – 2026-08-08 | 8 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-07 – 2026-08-07 | 5 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-06 – 2026-08-06 | 129 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-04 – 2026-08-04 | 3 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-03 – 2026-08-03 | 32 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-02 – 2026-08-02 | 3 | 2026-10-20T22:23:32.7964701Z |
| 2026-08-01 – 2026-08-01 | 3 | 2026-10-20T22:23:32.7964701Z |
| 2026-07-31 – 2026-07-31 | 3 | 2026-10-20T22:23:32.7964701Z |
| 2026-07-30 – 2026-07-30 | 1 | 2026-10-20T22:23:32.7964701Z |
| 2026-07-29 – 2026-07-29 | 1 | 2026-10-20T22:23:32.7964701Z |
| 2026-07-28 – 2026-07-28 | 4 | 2026-10-20T22:23:32.7964701Z |
| 2026-07-27 – 2026-07-27 | 2 | 2026-10-20T22:23:32.7964701Z |
| 2026-07-26 – 2026-07-26 | 13 | 2026-10-20T22:23:32.7964701Z |
| 2026-07-25 – 2026-07-25 | 6 | 2026-10-20T22:23:32.7964701Z |
| 2026-07-24 – 2026-07-24 | 11 | 2026-10-20T22:23:32.7964701Z |
| 2026-07-23 – 2026-07-23 | 6 | 2026-10-20T22:23:32.7964701Z |
| 2026-07-22 – 2026-07-22 | 6 | 2026-10-20T22:23:32.7964701Z |
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.40.2 | 25 Sept 2026 | 3 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 21:36 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:25abb186ad2d5a87858602241025e87cef2f16f7ff969a2c80802968741ac37e