The Gap
Tools like Snyk, Semgrep, and CodeQL are great at spotting issues. They fill dashboards, open tickets, and leave comments. Then a human has to stop what they’re doing, understand the finding, write a patch, and ship it. That handoff is where almost every known vulnerability that reaches production slips through.
ClawGuard closes the loop: one @clawguard on a GitHub PR kicks off find → fix → check → commit → re-check with the fix landing as a real commit on your branch, not a ticket in another tab.
What you get
Type @clawguard on any pull request. Behind the scenes, many specialized AI reviewers work in parallel inside an isolated copy of your repo—covering things like penetration-style review, API safety, secrets, dependencies, architecture, and compliance-style checks. Findings are organized with standard security labels (e.g. CWE / OWASP) and mapped to common frameworks (e.g. PCI, SOC 2, HIPAA, NIST) so security and compliance teams aren’t speaking different languages.
When something can be fixed automatically, ClawGuard proposes a patch, runs your own checks (build, lint, tests) in that sandbox, commits only if everything passes, then runs the audit again so you’re not merging blind optimism.
Three places to see it: a summary card on the PR (where your team already is), a full interactive report (score, diffs, diagrams), and a dashboard for org-wide history and trends.
How we built it
One web app. One deployment. No separate “backend product” to babysit.
At the core is an orchestrator that runs many AI agents in the right order, in parallel where it’s safe, and doesn’t let one failure wipe the whole run. Each agent returns structured results (not vague prose), and analysis runs inside a locked-down environment that behaves like a real machine so we’re not guessing from a static screenshot of your code.
Auto-fix tries the boring, reliable path first; when that’s not enough, a dedicated fix step takes over. Nothing merges-style commits unless your project’s own tests and linters say it’s clean. Bad fixes get rolled back quietly.
The live report updates as results stream in, with careful handling so duplicate runs and overlapping triggers don’t corrupt state.
Challenges we ran into
- Many agents, one serverless box: ordering work correctly, running independent pieces in parallel, and still shipping a useful partial report when something breaks.
- Trustworthy auto-fix: the hard part isn’t “the model wrote code”—it’s “this change is safe to land.” The quality gate is the product.
- Heavy UI pieces in a fast web app: diagrams and rich visuals are loaded carefully so the app stays snappy.
- Two different ways we talk to Redis: one style fits serverless storage; another powers the bot’s conversation state—kept strictly separate so nothing collides.
What we learned
Agent orchestration is a scheduling and failure-isolation problem, not a prompting problem. Dependency ordering and typed output contracts (Zod) matter more than prompt engineering. The gap between "AI can generate a fix" and "safe to commit" is the entire product. Validation gates are what make auto-fix trustworthy. A summary card inside the PR thread gets more engagement than any standalone dashboard.
Built With
- biome
- chat-sdk
- chat-sdk-+-github-adapter
- mermaid
- next.js-16
- nextauth
- octokit
- react
- react-19
- recharts
- shadcn/ui
- shiki
- tailwind-css
- tailwind-css-4
- tree-sitter
- typescript
- upstash-redis
- vercel-ai-sdk
- vercel-ai-sdk-6
- vercel-sandbox
- zod
- zod-4
Log in or sign up for Devpost to join the conversation.