How aadyasingh2/kavach works
Kavach accepts a GitHub repository URL, fetches repository files, runs five focused security analyses, synthesizes their findings, and streams progress and the final report to the dashboard. The README documents all five agent roles; source excerpts directly confirm the orchestration and selected agent implementations, while the planner and secrets implementations were not sampled.
Main entry points: orchestrator.py Swarm coordinator · App.jsx Dashboard state · main.py Analysis API · RepoInput.jsx Repository input
Components 15
Dashboard
- Repository input
Kavach/frontend/src/components/RepoInput.jsx - Dashboard state
Kavach/frontend/src/App.jsx - Agent status grid
Kavach/frontend/src/components/AgentSwarm.jsx - Report and telemetry
Kavach/frontend/src/components/Report.jsx
API and orchestration
- Analysis API
Kavach/backend/main.py - Swarm coordinator
Kavach/backend/orchestrator.py
Repository collection
- Repository fetcher
Kavach/backend/github_fetcher.py
Security audit
- Attack-surface planner
Kavach/backend/agents/planner.py - Secrets scanner
Kavach/backend/agents/secrets.py - Dependency auditor
Kavach/backend/agents/dependency.py - OWASP code auditor
Kavach/backend/agents/logic.py - Report synthesizer
Kavach/backend/agents/synthesizer.py
Other components
- Developer
- GitHub REST API
- GitHub Models
Connections 20
- Developer → Repository input: enters repo URL
- Repository input → Dashboard state: submits URL
- Dashboard state → Analysis API: posts scan request
- Analysis API → Swarm coordinator: starts swarm
- Swarm coordinator → Repository fetcher: requests files
- Repository fetcher → GitHub REST API: fetches tree and contents
- Swarm coordinator → Attack-surface planner: analyzes files
- Swarm coordinator → Secrets scanner: analyzes files
- Swarm coordinator → Dependency auditor: analyzes files
- Swarm coordinator → OWASP code auditor: analyzes files
- Swarm coordinator → Report synthesizer: sends agent findings
- Attack-surface planner → GitHub Models: requests analysis
- Secrets scanner → GitHub Models: requests analysis
- Dependency auditor → GitHub Models: requests analysis
- OWASP code auditor → GitHub Models: requests analysis
- Report synthesizer → GitHub Models: requests synthesis
- Swarm coordinator → Analysis API: sends progress callbacks
- Analysis API → Dashboard state: streams SSE updates and result
- Dashboard state → Agent status grid: passes agent statuses
- Dashboard state → Report and telemetry: passes final result