Cybersecurity Analyst
Ed DonnerA code analyzer that scans Python source code for security vulnerabilities and provides a summary, list of vulnerabilities, and fix recommendations.
Static web · Backend APIs · Research Agent · Semgrep MCP · Terraform (AWS, Azure, GCP)
Overview
Cybersecurity Analyst is a static UI plus API that accepts a Python upload and returns a security report. One Security Researcher agent runs in the API process, calls Semgrep over MCP, reviews for gaps, and returns a typed SecurityReport for the browser.
System design
- Upload, then analyze. Next.js owns the file pick and results table; FastAPI owns
POST /api/analyze. - One researcher agent. OpenAI Agents SDK + Semgrep MCP in-process; no separate batch or chat surface.
- Ephemeral workspace. Uploaded source is written for the scan and removed after the report.
- One container image. UI and API ship together; Terraform packages the same image for AWS, Azure, and GCP.
Product path
What a developer can do. Diagram key: ✦ AI agent · purple = actor · white = service.
---
config:
theme: default
themeVariables:
background: "#ffffff"
fontSize: "14px"
---
flowchart TB
person[Developer]
ui[Cybersecurity Analyst UI]
researcher["✦ Security Researcher"]
report[SecurityReport]
person -->|upload Python source| ui
person -->|read summary and fixes| ui
ui --> researcher --> report --> ui
classDef agent fill:#e8f0ee,stroke:#0f3d36,stroke-width:2px,color:#0d0d0d
classDef service fill:#fafaf8,stroke:#c8c8c2,stroke-width:1px,color:#0d0d0d
classDef actor fill:#f3eef8,stroke:#6b4f9a,stroke-width:2px,color:#0d0d0d
class researcher agent
class ui,report service
class person actor
Scan stages and Semgrep detail live on Mental Model and the Security Researcher tab.
Clean product overview and path. Mental Model holds the five-layer map and Anthropic workflows; Security Researcher owns scan detail.