CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/cross-tenant-data-leak-tests

Workflow-driven skill that plans and implements the cross-tenant leak-test suite - from surface inventory to the runtime CI gate a multi-tenant codebase must pass on every PR. The planning section inventories tenant-bearing surfaces (tables, APIs, object storage, search, queues, caches), classifies each by isolation model (silo / pool / bridge, per references/isolation-models.md), and derives the OWASP WSTG-ATHZ-02 coverage matrix. The battery defines the canonical test patterns (read-other-tenant-by-id, list-leak, spoofed-tenant-id-in-body, JWT-replay, FK-cross-tenant, unique-collision side channel, object-storage IDOR, search-index-direct-query, async-job-context-reload, cache-key-collision), the 404-vs-403 disclosure trade-off, the Postgres-RLS-direct patterns, and the CI integration (non-superuser non-BYPASSRLS role, fail the build on any leak). Use when designing or implementing a tenant-isolation test suite, adding the CI gate to an existing project, or investigating a leak finding.

90

1.05x
Quality

90%

Does it follow best practices?

Impact

94%

1.05x

Average score across 3 eval scenarios

SecuritybySnyk

High

Do not use without reviewing

Overview
Quality
Evals
Security
Files

Evaluation results

93%

21%

Document access is only tested from inside one tenant

Criteria
Baseline
With context

Test file created

100%

100%

Two disjoint tenants in the fixture

50%

100%

Cross-tenant probe on every operation

100%

100%

Write attempts asserted not to have mutated anything

100%

100%

Positive control alongside each negative

28%

50%

List leakage asserted by content, not count

0%

100%

Identifiers do not collide across tenants

100%

100%

100%

Tenant isolation test plan for the attachments feature

Criteria
Baseline
With context

Plan file created

100%

100%

Inventory covers all five surface types

100%

100%

Search index leak identified

100%

100%

Cache key leak identified

100%

100%

Async consumer leak identified

100%

100%

Probes given per surface

100%

100%

Two-tenant fixture stated as a requirement

100%

100%

Correctly-scoped surfaces not reported as gaps

100%

100%

89%

-7%

The tenant isolation suite is green and we do not trust it

Criteria
Baseline
With context

Both deliverables produced

100%

100%

Privileged session identified as the primary cause

100%

100%

Colliding identifiers identified

100%

100%

Shared mutable repository identified

100%

21%

Rewritten suite uses unprivileged per-tenant sessions

100%

100%

Rewritten suite would fail if the predicate were removed

100%

100%

Fixture rebuilt per test with distinct identifiers

50%

100%

Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

Table of Contents