Skip to content
Security
Skill

/rag-security-review

Assess a Retrieval-Augmented Generation application end-to-end — ingestion, embedding, vector store, retrieval, prompt assembly, and generation — for poisoning, data leakage, isolation, and citation-integrity issues. Use when reviewing the security of any RAG /

From plugin
awesome-claude-security
7111 skills17 agents13 commands1 MCP
Install
$ npx -y skills add jassics/awesome-claude-security --skill rag-security-review --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/rag-security-review

Context preview

The summary Claude sees to decide when to auto-load this skill.

Assess a Retrieval-Augmented Generation application end-to-end — ingestion, embedding, vector store, retrieval, prompt assembly, and generation — for poisoning, data leakage, isolation, and citation-integrity issues. Use when reviewing the security of any RAG /

SKILL.md

rag-security-review.SKILL.md
name: rag-security-review
description: >-
  Assess a Retrieval-Augmented Generation application end-to-end — ingestion,
  embedding, vector store, retrieval, prompt assembly, and generation — for
  poisoning, data leakage, isolation, and citation-integrity issues. Use when
  reviewing the security of any RAG / knowledge-base-backed LLM feature.

Goal

A structured RAG security assessment that walks each pipeline stage, names the risks present, and maps mitigations — bridging into the OWASP LLM Top 10 (especially LLM04 poisoning and LLM08 vector/embedding weaknesses).

Pipeline stages to assess (see `reference.md` for checks per stage)

1. **Ingestion** — what content enters the corpus, from where, with what trust and provenance? Can an attacker get content in (user uploads, crawled pages, tickets, emails)? 2. **Embedding** — model used, where it runs, and whether embeddings can be inverted to recover sensitive source text. 3. **Vector store** — partitioning per tenant/user, access controls on retrieval, metadata filtering, and write access. 4. **Retrieval** — does retrieval enforce the requester's authorization? Can it return documents the user shouldn't see? Relevance vs. confidentiality. 5. **Prompt assembly** — how retrieved (untrusted) content is combined with the system prompt and user query; is content marked as data vs. instructions? 6. **Generation & output** — citation/grounding integrity, sensitive-data echo, and downstream output handling.

Steps

1. Map the pipeline and data sources; identify every place untrusted content enters or is retrieved. A quick `llm-security:ai-threat-model` pass helps. 2. Walk each stage using `reference.md`; record finding · severity · evidence · mitigation. Substantiate, don't assert: use `retrieval-poisoning-test` and `vector-store-isolation-test` for the testable claims. 3. Rank findings (`threat-modeling:risk-rank`) and summarize top risks.

Output

A per-stage findings table plus a ranked top-risks list. Route confirmed issues through `security-reporting:finding`.

Notes

The decisive RAG question: *can untrusted retrieved content influence trusted behavior, and can a user retrieve data they're not authorized to see?* Access control on retrieval and instruction/data separation in the prompt are the two controls most often missing.

Read more
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.

Get the whole plugin

Other skills on awesome-claude-security.