$npx -y skills add hypnguyen1209/offensive-claude --skill ai-securityUse when attacking an AI/ML system or model — prompt injection & jailbreaks (Crescendo, Skeleton Key, Best-of-N), RAG/vector poisoning, agentic/MCP exploitation (CVE-2025-54136), ML supply-chain RCE (pickle CVE-2025-32434), model extraction / membership inference / adversarial su
| 1 | # AI/ML Security |
| 2 | |
| 3 | ## When to Activate |
| 4 | |
| 5 | - Red-teaming an LLM/chatbot/copilot for direct & indirect prompt injection and multi-turn jailbreaks. |
| 6 | - Testing a RAG pipeline for document/embedding poisoning, embedding inversion, and cross-tenant retrieval leakage. |
| 7 | - Auditing an AI agent / MCP server for tool poisoning, excessive agency, and command injection (RCE). |
| 8 | - Scanning a model artifact (HuggingFace, `.pt/.pkl/.bin/.gguf`) for deserialization payloads before loading it. |
| 9 | - Assessing a model API for extraction/distillation, membership inference, and adversarial-suffix robustness. |
| 10 | - Mapping findings to OWASP LLM Top-10 (2025) + MITRE ATLAS for a report. |
| 11 | |
| 12 | ## Technique Map |
| 13 | |
| 14 | | Technique | ATT&CK | CWE | Reference | Script | |
| 15 | |-----------|--------|-----|-----------|--------| |
| 16 | | Direct prompt injection / system-prompt leak (LLM01/LLM07) | T1059.006, T1606 | CWE-1427 | references/prompt-injection-jailbreak.md | scripts/promptinject_harness.py | |
| 17 | | Multi-turn jailbreak: Crescendo / Skeleton Key | T1059.006 | CWE-1427 | references/prompt-injection-jailbreak.md | scripts/promptinject_harness.py | |
| 18 | | Best-of-N / many-shot / token-smuggling jailbreak | T1059.006, T1027 | CWE-1427 | references/prompt-injection-jailbreak.md | scripts/promptinject_harness.py | |
| 19 | | Indirect injection via ingested content (EchoLeak CVE-2025-32711) | T1190, T1059.006 | CWE-74 | references/prompt-injection-jailbreak.md | scripts/promptinject_harness.py | |
| 20 | | RAG knowledge-base poisoning (PoisonedRAG, 5 docs) | T1195, T1565.001 | CWE-349 | references/rag-vector-poisoning.md | scripts/rag_poisoner.py | |
| 21 | | Embedding-collision / RAG-spraying retrieval hijack | T1195.001 | CWE-349 | references/rag-vector-poisoning.md | scripts/rag_poisoner.py | |
| 22 | | Embedding inversion (reconstruct input from vectors) | T1552, T1213 | CWE-202 | references/rag-vector-poisoning.md | scripts/rag_poisoner.py | |
| 23 | | MCP tool poisoning / rug-pull (CVE-2025-54136/54135) | T1195.001, T1059.006 | CWE-74 | references/agentic-mcp-exploitation.md | scripts/mcp_tool_audit.py | |
| 24 | | MCP command injection RCE (CVE-2025-6514/53107) | T1059, T1059.004 | CWE-78 | references/agentic-mcp-exploitation.md | scripts/mcp_tool_audit.py | |
| 25 | | Excessive agency / confused-deputy tool abuse (LLM06) | T1190, T1648 | CWE-862 | references/agentic-mcp-exploitation.md | scripts/mcp_tool_audit.py | |
| 26 | | Pickle model RCE (CVE-2025-32434, CVE-2024-50050) | T1195.002, T1059.006 | CWE-502 | references/ml-supply-chain.md | scripts/model_scan.py | |
| 27 | | Inference-server pickle RCE (vLLM CVE-2025-32444) | T1190, T1203 | CWE-502 | references/ml-supply-chain.md | scripts/model_scan.py | |
| 28 | | picklescan-bypass smuggling (CVE-2025-1716/1889/1944/1945) | T1195.002, T1027 | CWE-646 | references/ml-supply-chain.md | scripts/model_scan.py | |
| 29 | | Model extraction / distillation (LoRD, logit-layer steal) | T1606, T1213 | CWE-200 | references/model-extraction-adversarial.md | scripts/model_extractor.py | |
| 30 | | Membership inference (training-data exposure) | T1213, T1552 | CWE-200 | references/model-extraction-adversarial.md | scripts/model_extractor.py | |
| 31 | | Adversarial suffix (GCG) / model inversion | T1606 | CWE-1039 | references/model-extraction-adversarial.md | scripts/model_extractor.py | |
| 32 | |
| 33 | ## Quick Start |
| 34 | |
| 35 | ```bash |
| 36 | export TARGET_URL=https://api.target.ai/v1/chat # LLM endpoint under authorized test |
| 37 | |
| 38 | # 1. Prompt-injection + jailbreak battery (direct, indirect, Crescendo, BoN, token-smuggle) |
| 39 | python3 scripts/promptinject_harness.py --url $TARGET_URL --suite all --out out/pi.jsonl |
| 40 | # (or industry tooling: python3 -m garak --model_type rest -G rest.json |