Skip to content

Projects

Case study

Krish AI

Also known as KRAVEN

Dependency security analysis that turns OSV findings into a brief, then patches only after explicit approval.

BuiltOriginal work

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

  1. 01

    Target folder

  2. 02

    Scan

    osv-scanner, OSV API, or lockfile fallback

  3. 03

    Normalize

    Structured findings

  4. 04

    Analyze

    Gemini 2.5 Flash brief

  5. 05

    Operator approval

  6. 06

    Patch

    Whitelisted package-manager commands

  7. 07

    Verify

    Re-scan

  8. 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

github.com/Kishore-3021/KrishAI

No public demo listed.