diff --git a/2_0_vulns/artifacts/owasp_top_10_llm_applications_architecture_2025_mermaid.md b/2_0_vulns/artifacts/owasp_top_10_llm_applications_architecture_2025_mermaid.md new file mode 100644 index 00000000..53ab4a84 --- /dev/null +++ b/2_0_vulns/artifacts/owasp_top_10_llm_applications_architecture_2025_mermaid.md @@ -0,0 +1,59 @@ +graph LR + %% Core Flow + Client["Client/malicious actor
inputs (prompt + context)
CRUD operations"] --> Internet1[("Untrusted medium
(IE Internet)")] + Internet1 --> Inference + + %% Main Application Flow + Inference --> Ingress + Ingress --> AppServices["Application Services"] + AppServices --> LLMAutomation["LLM Automation
(Agents)"] + LLMAutomation --> LLMModel["LLM Model"] + LLMModel --> ProdServices["LLM Production Services"] + ProdServices --> ServerFuncs["Server-side Functions"] + + %% Data Store Connections + LLMModel --- VectorDB[("Vector DB")] + LLMModel --- PrivateData[("Private Data
(RAG)")] + + %% Training Flow + ExternalData["External Data Sources"] --> Internet2[("Untrusted medium")] + ExternalData --> FinetuningData[("Fine-tuning Data")] + FinetuningData --> TrainingData[("Training Data")] + + %% Human Actors + Engineer["ML Engineer"] -.-> AppServices + DataScientist["Data Scientist"] -.-> ExternalData + + %% Vulnerabilities + LLM01["LLM01-Prompt Injection
CWE-20,77
APL-T0051"] -.-> Ingress + LLM02["LLM02-Info Disclosure
CWE-200,201
APL-T0024"] -.-> AppServices + LLM03["LLM03-Misalignment
APL-T0094"] -.-> Inference + LLM04["LLM04-Data Poisoning
CWE-20,125
APL-T0058"] -.-> ExternalData + LLM05["LLM05-Supply Chain
CWE-937,1104
APL-T0030"] -.-> ExternalData + LLM06["LLM06-Output Handling
CWE-113
APL-T0095"] -.-> AppServices + LLM07["LLM07-Prompt Leakage
APL-T0096"] -.-> AppServices + LLM08["LLM08-Excessive Agency
CWE-285,732
APL-T0093"] -.-> LLMModel + LLM09["LLM09-Weaknesses
APL-T0095"] -.-> PrivateData + LLM10["LLM10-Consumption
APL-T0029,58,59"] -.-> Inference + + %% Trust Boundaries + subgraph TB1 [" "] + VectorDB + PrivateData + end + + subgraph TB2 [" "] + FinetuningData + TrainingData + end + + %% Styling + classDef vulnerability fill:#ffcccb,stroke:#ff0000 + classDef external fill:#f0f0f0,stroke-dasharray: 5 5 + classDef datastore fill:#f9f9f9,stroke:#333,stroke-width:2px + classDef human fill:#e6f3ff,stroke:#0066cc + + class LLM01,LLM02,LLM03,LLM04,LLM05,LLM06,LLM07,LLM08,LLM09,LLM10 vulnerability + class Internet1,Internet2,ExternalData external + class VectorDB,PrivateData,TrainingData,FinetuningData datastore + class Engineer,DataScientist human \ No newline at end of file