SecureBot
built on GitAgent
Live · Built on GitAgent SDK

Your codebase has bugs.
SecureBot finds them. And fixes them.

An autonomous security agent that scans repositories for OWASP Top 10 vulnerabilities, hardcoded secrets, and known CVEs — then writes the patches itself. Powered by GitAgent's git-native agent runtime.

Try:
Catches
Real vulnerabilities. Real CWE IDs. Real fixes.
SQL Injection (CWE-89)Command Injection (CWE-78)Hardcoded Secrets (CWE-798)DOM XSS (CWE-79)Weak Crypto (CWE-327)Insecure Random (CWE-338)Vulnerable Deps (CWE-1104)Unsafe Deserialization (CWE-502)
🔍
Multi-Agent Pipeline

Two specialized GitAgent agents — Scanner and Fixer — chained via a workflow YAML. Each one a real git-committable agent repo.

🛠
Custom Tools & Hooks

scan_file, find_secrets, check_deps, generate_fix. A preToolUse hook gates destructive shell commands; an audit log captures every call.

Real-time Streaming

Watch the agent think, call tools, and emit findings live via SSE. No waiting for a final report — you see the reasoning unfold.

🩹
Autonomous Auto-Fix

One click on any finding spins up the Fixer Agent. Canonical patches per CWE — SQL injection → parameterized query, weak crypto → SHA-256, etc.

🧠
Git-Native Memory

Every scan appends to memory/MEMORY.md and is committed. The agent's history is its memory — diff it, fork it, branch it.

🔐
Compliance-Aware

agent.yaml declares risk_level: high and audit_logging: true. Findings reference real CWE IDs — security-team-ready by default.

How it works
Two agents. One mission.
User submits repo URL
        │
        ▼
  ┌─────────────────────────┐         ┌──────────────────────────────────┐
  │ POST /api/scan          │ ──SSE──▶│ Frontend (live thinking + cards) │
  └─────────────────────────┘         └──────────────────────────────────┘
        │
        ▼
  GitAgent SDK query()
        │
        ├── tools: scan_file, find_secrets, check_deps
        ├── hooks: preToolUse (audit + block), onError
        └── agent: securebot/  (SOUL.md · RULES.md · skills/ · memory/)
        │
        ▼
  Findings stream back as `finding` JSON blocks

User clicks "Fix"
        │
        ▼
  POST /api/fix → Fixer Agent → generate_fix tool → `fix` block
Built in a few hours for the Lzyr Builder Challenge · View source