All projects

Case study

2025 – 2026

CodeHarbor

Agentic LLM security scanner I initiated: a coding agent in a sandboxed per-execution clone scans GitLab diffs against a 9-check checklist and must prove every finding.

My role

Initiated the repo and led the scan engine — sandboxed execution, the 9-check checklist, evidence gating and de-duplication.

Wrote the repository's first commit and led the scan engine — 207 commits and ~25K insertions of my own.

Commits
207Commits
Insertions
~25KInsertions
Security checks
9Security checks

The problem

Every merge diff across the ERP estate is a chance to introduce a security defect, and reviewing all of them by hand is work no team sustains. The obvious fix — point an LLM at the diff — fails in a specific way: it produces confident findings it cannot substantiate, and a reviewer who is wrong often enough gets ignored entirely.

What I built

I initiated CodeHarbor and led its scan engine. It runs a coding agent inside a sandboxed per-execution clone of the repository, so the agent can read real code, run real commands and still not touch anything shared. On a schedule, it pulls GitLab diffs and scans them against a 9-check security checklist, including:

  • public-webhook-to-internal-ERP backdoors
  • prompt injection and excessive agency in LLM-touching code
  • hardcoded secrets
  • injection-prone database operations

The rule that makes it usable is that the agent must prove every finding — a finding without supporting evidence from the code does not become an alert.

How it works

FastAPI schedules and serves; LangGraph orchestrates the scan graph; the Claude Code SDK drives the agent inside the sandbox. Findings are embedded and de-duplicated against previous findings by similarity search in Pinecone, which is what stops the same long-lived issue from re-alerting on every scan. Surviving findings are ranked by severity and pushed to email and a dashboard.

Evidence

207 commits and roughly 25K insertions of my own, concentrated in core application code rather than configuration: the scan graph, the sandbox execution path, the evidence gate and the de-duplication layer.

What I owned

I initiated CodeHarbor — I wrote its first commit — and led the scan engine end to end: the sandboxed per-execution clone, the 9-check security checklist, the evidence gate that forces the agent to prove a finding before it can alert, and the Pinecone similarity de-duplication that keeps a long-lived issue from re-alerting on every scan.

Stack

FastAPI · LangGraph · Claude Code SDK · Pinecone · GitLab · Python