mirror of
https://github.com/esekercan/sans-paper-public.git
synced 2026-02-12 15:52:45 +00:00
55 lines
1.8 KiB
Plaintext
55 lines
1.8 KiB
Plaintext
|
|
flowchart TB
|
|
subgraph Inputs["Inputs"]
|
|
HC["Helm Chart Directory"]
|
|
PROMPTS["System & User Prompts"]
|
|
CONFIG["Configuration<br>• API Keys<br>• Models<br>• Run Count"]
|
|
end
|
|
subgraph subGraph1["API Selection"]
|
|
DECISION{"API Key Available?"}
|
|
ANTHROPIC["Anthropic API<br>Claude Models"]
|
|
OPENAI["OpenAI API<br>GPT Models"]
|
|
OPENROUTER["OpenRouter API<br>Fallback"]
|
|
end
|
|
subgraph subGraph2["Analysis Engine"]
|
|
LOAD["Load Helm Files"]
|
|
ANALYZE["Security Analysis"]
|
|
PARSE["Parse AI Response"]
|
|
end
|
|
subgraph Results["Results"]
|
|
CSV["CSV Report<br>• MITRE ATT&CK Data<br>• Risk Priorities"]
|
|
MD["Markdown Report<br>• Full Responses<br>• Token Usage"]
|
|
end
|
|
HC --> ANALYZER["Helm Security Analyzer"]
|
|
PROMPTS --> ANALYZER
|
|
CONFIG --> ANALYZER
|
|
ANALYZER --> LOAD
|
|
LOAD --> ANALYZE
|
|
ANALYZE --> DECISION
|
|
DECISION -- Anthropic Key --> ANTHROPIC
|
|
DECISION -- OpenAI Key --> OPENAI
|
|
DECISION -- No Direct Key --> OPENROUTER
|
|
ANTHROPIC --> PARSE
|
|
OPENAI --> PARSE
|
|
OPENROUTER --> PARSE
|
|
PARSE --> CSV & MD
|
|
HC:::input
|
|
PROMPTS:::input
|
|
CONFIG:::input
|
|
DECISION:::decision
|
|
ANTHROPIC:::api
|
|
OPENAI:::api
|
|
OPENROUTER:::api
|
|
LOAD:::process
|
|
ANALYZE:::process
|
|
PARSE:::process
|
|
CSV:::output
|
|
MD:::output
|
|
ANALYZER:::core
|
|
classDef input fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
|
|
classDef core fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
|
|
classDef api fill:#fff3e0,stroke:#f57c00,stroke-width:2px
|
|
classDef process fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
|
|
classDef output fill:#fce4ec,stroke:#c2185b,stroke-width:2px
|
|
classDef decision fill:#fff8e1,stroke:#fbc02d,stroke-width:2px
|