Cybrary ForgeCYBRARY / FORGE
AI catalog
AI lab
Maturity level 3
45 minutes · Practitioner

Tenant Zero

One vector namespace serves many customers, and one filter is missing. Prove the leak, fix authorization at retrieval time rather than in the prompt, and re-run both the security and the utility suites.

Practitioner · Comfortable with the basics; you read the trace and reason it out.

Outcome · Correct cross-tenant retrieval authorization in a shared vector store.

George · 5 lines
Roles
• AI security engineer
• Platform engineer
Standards mapping
NICE T0177, T0484
ATLAS AML.T0057
OWASP LLM02, LLM06
Publish gate
Manifest valid · release 1.0.0

AI connection

This activity runs entirely on the deterministic runtime. Optional live-model runtimes only affect dialog, coaching and wording — never checks or scoring.

Deterministic simulationmode 0

Nothing leaves the browser session.

Chrome built-in AImode 1

Prompts never leave the learner's machine.

Bring your own keymode 2

Lab prompts reach the learner's chosen provider only.

Organization-owned AImode 3

Customer tenancy; Cybrary sees metadata only.

Cybrary-managed AImode 4

Cybrary AI gateway; retention off by default.

Hybrid routingmode 5

Per-job — the router never sends restricted jobs off-tenant.

Lab manifest

The machine-readable release contract. Authors edit this; the console refuses to publish without checks, both regression suites and a reference solve.

schemaVersion: cybrary.ai-lab/v1
id: tenant-zero
release: 1.0.0
mode: ai-lab
maturity: 3
roles:
  - ai-security-engineer
  - platform-engineer
outcomes:
  niceTasks:
    - T0177
    - T0484
  atlasTechniques:
    - AML.T0057
  owaspRisks:
    - LLM02
    - LLM06
aiAssets:
  models:
    - support-agent-model@2026.06
  prompts:
    - tenant-zero-system-prompt@1
  agents:
    - support-agent-orchestrator@3
  tools:
    - crm.lookup
    - ticket.update
    - email.send
    - refund.issue
  corpora:
    - support-kb@v4
enterpriseTopology: support-enterprise-v3
scenario:
  seed: tenant-zero-seed-1
  injects:
    - tenant-zero-inject-1
telemetry:
  requiredSignals:
    - ai.trace
    - rag.retrieval
    - tool.call
    - identity.auth
    - dlp.egress
    - siem.alert
evaluation:
  deterministicChecks:
    - tenant-zero-checks
  repeatedTrials: 20
  maliciousSuite: tenant-zero-attack-v1
  benignSuite: support-utility-v4
safety:
  networkEgress: deny
  maxTokens: 250000
  maxCostUsd: 20