Distribution

Package and share adversaries as OCI artifacts. Free official catalog plus private team namespaces.

Product model

  • Free public catalog on registry.adversarylabs.ai. Domain/name ids only (for example go/security). Login is required to pull so we can track usage — not a paywall, and there is no paid catalog SKU.
  • Official signatures on catalog releases. The CLI verifies them for host execution. See Official signatures.
  • Private team registry. Every team has a private namespace on registry.adversarylabs.ai. Invited members can pull; publishers, admins, and owners can push. Team packages are not official-signed by default.

Consume the free catalog

bash
adversary login
adversary search go/
adversary pull go/security
adversary run go/security --path .
adversary outdated
adversary pull go/security   # upgrade when outdated

Publish privately

bash
# Pack local project into the content-addressable store
adversary pack . --name my-review

# Push to your authenticated private team namespace
adversary login --team acme
adversary push my-review:0.1.0 registry.adversarylabs.ai/acme/my-review:0.1.0

# Consumers pull and run (untrusted for host unless signed)
adversary pull acme/my-review:0.1.0
adversary run acme/my-review:0.1.0 --path . \
  --allow-unsafe-host-execution

Commands are pack then push. There is no separate publish command.

What gets signed

Official free-catalog packages are signed in Depot release CI after a successful push using adversary sign --key-id official-prod. End users only need a current release CLI.

Trust policy details: Execution trust model.