Case study
Krish AI
Also known as KRAVEN
Dependency security analysis that turns OSV findings into a brief, then patches only after explicit approval.
Security · Automation · LLM
01 / Overview
AI-assisted dependency security analysis system that scans project dependencies, uses OSV for vulnerability information, uses an LLM to turn findings into a practical security brief, and requires explicit approval before patching.
- Python
- LangGraph
- Gemini 2.5 Flash
- OSV
- osv-scanner
- Rich
02 / Problem
Dependency scanners dump vulnerability lists. Interpreting risk, deciding what to patch, and running upgrades still happens in a noisy, easy-to-get-wrong loop — especially if an agent is allowed to execute arbitrary shell commands.
03 / Approach
Krish AI (KRAVEN) scans a target folder, maps package versions through OSV, asks Gemini 2.5 Flash to write a practical security brief, and only generates or runs package-manager patch commands after the operator approves. After patching, it re-runs the scan and summarizes remaining exposure.
04 / Architecture
01
Target folder
02
Scan
osv-scanner, OSV API, or lockfile fallback
03
Normalize
Structured findings
04
Analyze
Gemini 2.5 Flash brief
05
Operator approval
06
Patch
Whitelisted package-manager commands
07
Verify
Re-scan
08
Summary
05 / Implementation
- Single CLI entry (kraven.py) implementing a LangGraph-style phase workflow: scan → analyze → report → patch/verify.
- Primary scan path uses the osv-scanner binary when present; fallback reads pinned requirements, package-lock.json, and pip list from a venv.
- Rich-based operator console with phases, tables, and approval prompts.
- Remediation is limited to package-manager style commands inside the selected project directory.
- Safety layer blocks shell chaining, redirects, pipes, curl/wget, rm/del, and privilege-escalation paths.
06 / Engineering decisions
- Human approval is a control, not a UI flourish
- No remediation runs without an explicit operator yes. The product is a triage assistant, not an autonomous patcher.
- Constrain the shell
- Even after approval, only package-manager commands are allowed. Arbitrary command composition is treated as a vulnerability of the tool itself.
- Degrade scan coverage honestly
- When osv-scanner is missing, fallback sources keep the tool usable. The README is explicit that native osv-scanner still has broader ecosystem coverage.
07 / Evaluation
Evaluation data has not yet been benchmarked. There are no published false-positive rates, time-to-triage studies, or patch-success metrics.
08 / Limitations
- Not a replacement for an enterprise vulnerability-management platform.
- Patching is dependency/package-level only — not exploit remediation.
- Fallback scan quality depends on the metadata in the target project.
- Additional lockfile formats (poetry.lock, Pipfile.lock) are listed as roadmap, not current coverage.
- Analysis currently depends on a Gemini API key; this path is not fully local.
09 / Repository
No public demo listed.