Kavach Review: What This AI Agent 'Firewall' Actually Does (And Doesn't)
TL;DR: Kavach is marketed as a âmilitary-grade, kernel-level firewallâ that intercepts AI agent operations. We read the source code. Itâs actually a file system watcher that creates backups AFTER changes happen. Useful for monitoring and rollback â but it cannot prevent destructive operations.
A new tool called Kavach is making the rounds with claims like âintercepts destructive file operations,â âkernel-level filtering,â and âsimulated shell that returns fake success codes to agents.â
These claims would be impressive if they were true. We read the source code. Theyâre not.
What Kavach Claims vs What the Code Shows
| Marketing Claim | What the Code Actually Does |
|---|---|
| âIntercepts destructive file operationsâ | Uses notify crate â watches events AFTER they happen |
| âSilently redirects to hidden directoryâ | Copies files to backup AFTER modification |
| âSimulated Shell intercepts rm -rfâ | Not implemented in the codebase |
| âNetwork Ghost Modeâ | Not implemented in the codebase |
| âKernel-level filteringâ | Userspace Rust application |
| âMilitary-gradeâ | Marketing term with no technical meaning |
How Kavach Actually Works
Looking at lib.rs, hereâs the real architecture:
// The core: a file system watcher
let mut watcher = RecommendedWatcher::new(tx, Config::default())
.map_err(|e| e.to_string())?;
watcher.watch(Path::new(&path), RecursiveMode::Recursive)
.map_err(|e| e.to_string())?;
Kavach uses the notify crate â a cross-platform file system notification library. This is event-based monitoring, not interception. The watcher receives events AFTER the operating system has already processed them.
When a file is modified:
fn sync_to_quarantine(monitored_base: &str, target_path: &str) {
if let Some(q_path) = get_quarantined_path(monitored_base, target_path) {
let target = Path::new(target_path);
if target.is_file() {
// ... copies file to quarantine
let _ = fs::copy(target, &q_path);
}
}
}
This copies files to a backup directory. After the change. Not before. Not instead of.
Why This Matters for Security
The difference between monitoring and interception is critical:
Monitoring (what Kavach does):
Agent runs: rm -rf /important/data
OS executes: Files deleted â
Kavach sees: "FileDelete" event
Kavach does: Tries to copy (too late, files gone)
Result: Data lost, but you have a log
Interception (what Kavach claims):
Agent runs: rm -rf /important/data
Security layer: Intercepts syscall, blocks execution
Result: Files preserved, agent gets fake "success"
True interception requires kernel-level access:
- Windows: File system filter drivers (like those used by antivirus)
- macOS: Endpoint Security framework or kernel extensions
- Linux: eBPF, LSM hooks, or FUSE
Kavach is a Tauri app. It has none of these.
What Kavach Does Well
To be fair, the tool does have legitimate uses:
â File change monitoring â See what an agent touched in real-time
â Automatic backups â Files under 50MB are cached before modification
â Risk classification â Events tagged as High/Medium/Low risk
â Temporal rollback â Restore files from backup cache
â Velocity detection â Spots rapid-fire modifications (potential loops)
â UI/UX â The cyberpunk âFUIâ dashboard is genuinely well-designed
If you understand these limitations, Kavach is a reasonable monitoring tool with a nice interface.
The Problem: False Confidence
The danger isnât the tool itself â itâs the marketing.
If a developer reads âKavach intercepts destructive file operationsâ and deploys AutoGPT thinking they have a safety net, theyâre unprotected. When the agent hallucinates rm -rf, Kavach will log it, maybe grab a backup, but the damage is done.
Security tools that overstate capabilities are worse than no tool at all, because they create false confidence.
What Actually Provides Agent Isolation?
If you need real protection from AI agent mishaps:
| Tool | Isolation Type | How It Works |
|---|---|---|
| Docker Sandboxes | Container + MicroVM | Agent runs in disposable VM, host untouched |
| E2B | Cloud sandbox | Isolated cloud environment per session |
| Firecracker | MicroVM | Kernel-level VM isolation in ~125ms |
| NanoClaw | Docker-based | 15-file agent framework + MicroVM isolation |
| macOS Sandbox | OS-level | sandbox-exec with deny-by-default |
These provide actual isolation boundaries. An agent inside a Firecracker MicroVM literally cannot touch your host filesystem â itâs a different kernel.
The Verdict
Kavach is: A file monitoring and backup tool with a slick UI.
Kavach is not: A firewall, an interceptor, or kernel-level security.
Use it for: Watching what agents do, rolling back changes, getting alerts.
Donât use it for: Trusting that destructive operations will be blocked.
The developer clearly put effort into the UI and the monitoring logic. The problem is purely the marketing overclaiming what the tool can do. A file watcher that makes backups is useful. A file watcher marketed as âmilitary-grade kernel-level interceptionâ is misleading.
If the README said âKavach monitors AI agent file operations and maintains automatic backups for rollback,â that would be accurate and still valuable. The gap between that description and âtactical zero-trust firewall that intercepts syscallsâ is the entire problem.
Frequently Asked Questions
Does Kavach actually work?
Yes, as a monitoring tool. It watches file changes, creates backups, and provides a nice dashboard. It does not intercept or prevent operations.
Can any userspace app intercept file operations?
On standard Windows/macOS, no. True interception requires kernel access. Some sandboxing approaches (FUSE, virtualization) can create isolated filesystems, but thatâs different from intercepting operations on the real filesystem.
Is the âSimulated Shellâ feature real?
We couldnât find it in the source code. The README claims it âintercepts commands like rm -rf and returns fake success codes,â but the codebase shows a file watcher, not a shell interceptor.
Should I use Kavach?
If you want a monitoring dashboard for AI agent activity with automatic backups â sure, itâs well-built. Just understand itâs detection and recovery, not prevention.
Whatâs the best way to safely run AI agents?
Container isolation (Docker Sandboxes), MicroVMs (Firecracker, E2B), or dedicated VMs. Keep agents in environments where ârm -rf /â deletes the sandbox, not your system.
Links:
- Kavach GitHub
- notify crate (what Kavach uses)
- NanoClaw + Docker Sandboxes â actual isolation
- E2B Sandboxes â cloud agent isolation