Skip to content
Security
Skill

/vector-store-isolation-test

Test that retrieval enforces per-user / per-tenant authorization so one user cannot retrieve another's documents through the RAG system. Use on an authorized multi-tenant or multi-user RAG app to validate access control on retrieval.

From plugin
awesome-claude-security
11111 skills17 agents13 commands1 MCP

Claude Code

$ npx -y skills add jassics/awesome-claude-security --skill vector-store-isolation-test --agent claude-code

SKILL.md

vector-store-isolation-test.SKILL.md
name: vector-store-isolation-test
description: >-
  Test that retrieval enforces per-user / per-tenant authorization so one user
  cannot retrieve another's documents through the RAG system. Use on an authorized
  multi-tenant or multi-user RAG app to validate access control on retrieval.

Goal

Evidence on whether the retrieval layer leaks documents across users/tenants — the highest-impact RAG confidentiality failure (OWASP LLM08 / LLM02).

Prerequisites

  • Authorization, and ideally two test identities (User A and User B / Tenant A and

Tenant B) with distinct, identifiable documents.

Test cases

1. **Direct cross-tenant retrieval** — as User A, ask questions whose best answers live only in User B's documents. Does any B content surface? 2. **Filter bypass** — if isolation relies on a client-supplied filter/namespace, try altering or omitting it. Is authorization enforced server-side? 3. **Relevance-driven leakage** — craft queries semantically close to B's private docs to see if relevance overrides authorization. 4. **Metadata/citation leak** — even if content is withheld, are titles, sources, or snippets exposed via citations or errors? 5. **Embedding inversion (if applicable)** — can returned embeddings or similarity responses be used to reconstruct unauthorized source text?

Steps

1. Seed distinct, labeled documents under each identity. 2. Authenticate as User A and run the cases above; never use B's session to "prove" A's access. 3. Record per case: isolated / partial leak / full leak, with evidence (query, surfaced content/metadata, response). 4. Identify the gap: client-side-only filtering, retrieve-then-(not)-filter, shared index without ACLs.

Output

A results table: case · result · leaked element · evidence · mitigation (authorize-then-retrieve, per-tenant namespaces, server-side ACL enforcement). Confirmed leaks → `security-reporting:finding` (rate severity high+).

Notes

Authorization must be enforced on the **server** at retrieval time and tied to the authenticated caller — never trust a client-provided tenant/filter. Test the metadata/citation path too; it leaks even when document bodies are withheld.

Read more
@jassics
Ships withawesome-claude-security

A Claude Code plugin marketplace for the full cybersecurity & GenAI-security lifecycle — from recon and threat modeling to detection engineering, GRC, and CISO-level strategy. A pentester knows which OWASP test bends a broken-access-control endpoint.

11111 skills17 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
11
Star history of jassics/awesome-claude-security on GitHub, a chart by star-history.com

Other skills on awesome-claude-security.

More skills from other plugins.

api-security

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…

@zhaoxuya520@zhaoxuya520Install Skill
nemoclaw-user-guide

nemoclaw-user-guide

Find official NemoClaw documentation for installation, configuration, operation, or troubleshooting. Also handles requested docs…

nemoclaw12d23k
@nvidia@nvidiaInstall Skill

Questions about vector-store-isolation-test.

Which coding agents can use vector-store-isolation-test?
vector-store-isolation-test installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.