
OS-level monitor for AI agents: observes processes, file access, and network activity on the local machine and attributes each event to an agent instance.
Independent, OS-level observability for AI coding agents
Watches what AI agents actually do on your machine — processes, files, network — from outside the agents, no hooks required.
AEGIS is an independent, OS-level observer for AI agents. It watches agent processes, file access, and network activity regardless of how the agent was launched or whether it cooperates with monitoring — and it ties every observation to a specific agent instance, with the evidence for that attribution stated on the record. Built on a CommonJS JavaScript monitoring engine, with TypeScript in the renderer and the shared types. Open-source, local, no telemetry — everything stays on your machine.

Demo recorded at v0.10.0-alpha; some labels have been renamed since.
Download · Report Bug · Feature Request · Contributing
The counted facts above are not hand-maintained: npm run counts:check re-derives every documented counter from the tree on each CI run and fails the build when a number in the docs drifts from reality.
What separates AEGIS from a process viewer is not the sensors — it is that every event is attached to an agent instance, with evidence you can audit:
pid + OS birth time (instanceId), so a recycled PID is a new instance, not a continuation of the old one's history. Identity caching is gated by a witness, and CI runs an injection proof (npm run verify:gate, 4 mutants) that goes red if an identity could ever be served from a stale cache.pid, instanceId, and an attribution object with one of three statuses — confirmed, inferred, or unattributed — backed by a closed registry of evidence codes. When AEGIS does not know which agent touched a file, it says unattributed; it never invents an owner.Evidence: src/main/process-identity.js · src/main/attribution.js · correctness audit · bench 2026-08-12 · bench 2026-08-13
AEGIS is a camera, not a guard. It observes and logs — it does not block agents at the OS level today. There are no kernel hooks and no automatic enforcement. Process control (kill / suspend / resume) is manual and user-invoked only. Active blocking is on the roadmap, not in the current release. Use AEGIS for visibility, auditing, and anomaly detection — pair it with sandboxing when you need enforcement.
Most AI-agent oversight tools instrument the agent itself — a Claude Code plugin, an IDE extension, an SDK wrapper. That placement has a structural blind spot: an agent only shows up if it (or its user) installed the hook. A raw python autogpt.py, an unwrapped binary, or a tool that simply does not cooperate is invisible to in-agent instrumentation.
AEGIS sits at the OS layer instead: it watches process, file, and network activity from outside the agents, so what it sees does not depend on the agent's cooperation — only on AEGIS's own coverage (see known limits). It is not the only tool observing agents locally — AgentSight, for example, observes from the eBPF layer on Linux — and hook-based tools are complementary rather than competing: hooks see intent (prompts, tool calls) inside the agents that opted in, while AEGIS sees effects (processes, files, connections) for whatever runs on the machine, linked to agent instances without requiring cooperation.
A monitor you cannot calibrate is a monitor you cannot trust, so the limits are stated here rather than discovered later. The re-verified findings behind this list, each with an OPEN/CLOSED status, live in the correctness audit; the short version:
Numbers appear in this README only when they are derived from the repository (and enforced by npm run counts:check) or measured with a written-down method. Some numbers people ask for do not exist yet, so we do not state them:
bench/, scored against Sysmon/Procmon), but it is Windows-only, covers one scenario, and does not run in CI — not a basis for a rate.AI agents run with deep access to files, credentials, and shell commands. The risk is not hypothetical: Kaspersky's write-up of the OpenClaw case reports that a security audit in January 2026 identified 512 vulnerabilities, eight of them critical, and argues that the deeper problem is architectural — privileged local access combined with the ability to communicate externally (Kaspersky, 2026-02-10). Patching fixes bugs; it does not give you visibility into what an agent actually did on your machine. That visibility is the layer AEGIS adds.
Starting with v0.11.0-alpha, releases ship a Windows NSIS installer — download the .exe from the latest release. Releases from v0.13.0-alpha onward also ship a signed manifest, so a download can be verified offline against the public key committed in this repository — see Verifying an AEGIS release. Earlier releases ship no manifest and cannot be verified this way.
git clone https://github.com/antropos17/Aegis.git
cd Aegis
npm install
npm start
Requires Node.js 22.x (
enginesinpackage.json). Windows 10/11 recommended; macOS/Linux experimental (#37) — see known limits.
Don't have AI agents running? Demo mode lets you explore the full dashboard with simulated data — no real monitoring, no real processes.
npm run build:demo && npm start
Demo mode runs a scenario engine that cycles through four threat phases — calm → elevated → critical → reset — with up to 12 simulated AI agents (Claude Code, Copilot, Cursor, and more). File access events, network connections, anomaly scores, and risk assessments are all generated in real time so every tab and feature is fully functional.
Use it to evaluate AEGIS before deploying, demo the UI to your team, or develop new features without needing a live Windows environment.
Detection — 110 agents (262 process-name signatures), parent-chain resolution, sensitive-path and agent-config watching, per-agent risk scoring with trust grades (A+ through F), local LLM detection, false-positive marking
Analysis — Behavioral baselines with rolling averages, multi-axis anomaly detection, AI threat assessment via the Anthropic API (opt-in), printable HTML threat reports
Dashboard — Bento-grid dashboard: RiskRing gauge, TrustBadge, activity feed with filters, session timeline with attribution tooltips, expandable agent cards, protection presets (Paranoid/Strict/Balanced/Developer), command palette (Ctrl+K), keyboard shortcuts (Ctrl+1-5), dark/light theme, toast notifications, OOM protection
Export — JSON, CSV, HTML reports, one-click ZIP archive, hash-chained JSONL audit log (daily rotation, 30-day retention)
i18n — Internationalization with an English base (en.json); community translations welcome
CLI — --scan-json for scripting, --version, --help
rules/_schema.json; editing a ruleset hot-reloads without a restart.yaml to rules/. Rule IDs must be unique — a duplicate ID is skipped, not overridden. A newly added file is picked up on the next reload or restart, since the watcher reacts to changes in existing top-level filesCaptured from the demo build (
npm run build:demo), 2026-08-21.
┌───────────────┐ ┌────────────────┐ ┌───────────────┐ ┌───────────────┐
│ Process │ │ File │ │ Network │ │ LLM Runtime │
│ Snapshot │ │ Watcher │ │ Monitor │ │ Detector │
│ (sidecar with │ │ (chokidar + │ │ (TCP + rDNS + │ │ (Ollama / LM │
│ CIM fallback)│ │ handle / RM) │ │ verdicts) │ │ Studio) │
└──────┬────────┘ └──────┬─────────┘ └──────┬────────┘ └──────┬────────┘
└──────────────┬───┴───────────────────┴──────────────────┘
▼
┌───────────────────────────────┐
│ Identity & Attribution │
│ instanceId = pid + birth time │
│ evidence codes, no guessing │
└──────┬────────────────┬───────┘
▼ ▼
┌──────────────────┐ ┌─────────────────────┐
│ Baselines + │ │ Audit Logger │
│ Anomaly (4-axis) │ │ (Event Schema v1, │
│ Risk Engine │ │ hash-chained JSONL) │
└──────┬───────────┘ └──────┬──────────────┘
▼ ▼
┌──────────────┐ ┌──────────────────┐ ┌───────────────┐
│ Dashboard │ │ Exports │ │ CLI │
│ (Svelte IPC) │ │ (JSON/CSV/HTML/ │ │ (--scan-json │
│ │ │ ZIP) │ │ --version) │
└──────────────┘ └──────────────────┘ └───────────────┘
Per-sensor health records live in the main process; surfacing
them in the UI is on the roadmap.
Stack: Electron 33, Svelte 5, Vite 7, Vitest. The monitoring engine is JavaScript (CommonJS); TypeScript is used in the renderer and the shared types. CI gates every merge with build, lint, svelte-check, test and audit jobs; npm run counts:check re-derives every documented counter from the tree, and npm run verify:gate proves the identity witness against injected mutants.
110 agents in src/shared/agent-database.json:
Coding — Claude Code, GitHub Copilot, Cursor, Windsurf, Tabnine, Amazon Q, Cody, Aider Autonomous — OpenClaw, Devin, Manus AI, OpenHands, SWE-Agent, AutoGPT, BabyAGI, CrewAI Desktop — Anthropic Computer Use, Google Gemini, Apple Intelligence, Microsoft Copilot Frameworks — LangChain, Semantic Kernel, AutoGen, MetaGPT, TaskWeaver Local LLMs — Ollama, LM Studio, vLLM, llama.cpp, LocalAI, GPT4All, Jan
Add custom agents via the UI or edit the JSON. See AGENTS.md.
Everything below is planned, not shipped. AEGIS today is monitor-only (see Monitor-first).
Aegis is an open-source, OS-level monitor for AI agents. It tracks processes, file access, network activity, and behavioral anomalies in real time, built on Electron 33 and Svelte 5. The monitoring engine is CommonJS JavaScript; the renderer is ES modules, and TypeScript is used in the renderer and the shared type definitions. All data stays local — no telemetry, no cloud dependency.
Autonomous AI agents like OpenClaw, AutoGPT, and Devin have deep access to local files, credentials, and shell commands — yet run with minimal oversight. The OpenClaw case is the concrete example: a security audit reported by Kaspersky identified 512 vulnerabilities in one popular agent. Aegis provides the independent observability layer, so you can see what agents actually do on your machine.
Traditional EDR tools monitor human-driven threats — malware, ransomware, phishing. Aegis is built specifically for AI-agent behavior: it ships with 110 agents (262 process-name signatures) in its detection database, 73 detection rules tuned for agent-specific patterns, and behavioral baselines that track how each agent's activity changes over time. It is also monitor-first: it observes and logs, and leaves enforcement to sandboxing.
Aegis monitors processes, not protocols. If a tool connected via the Model Context Protocol (MCP) spawns processes, accesses files, or makes network calls, that activity is observed and attributed like any other — Aegis does not parse MCP traffic itself.
No. Aegis is an observability layer, not a restriction layer. Sandboxes limit what agents can do; Aegis shows you what agents are doing. They are complementary — use sandboxing for enforcement and Aegis for visibility, auditing, and anomaly detection.
Aegis ships with 110 agents (262 process-name signatures) in its database, spanning coding assistants (Claude Code, Copilot, Cursor), autonomous agents (OpenClaw, AutoGPT, CrewAI, Devin), desktop AI (Gemini, Apple Intelligence), frameworks (LangChain, AutoGen, MetaGPT), and local LLM runtimes (Ollama, LM Studio, llama.cpp). You can add custom agents via the UI or the JSON config.
Aegis is alpha software (see Releases for the current version) and is recommended for development and testing environments. It is monitor-first — it will not block anything — and production-deployment features such as auto-update and OS-level enforcement are on the roadmap, not in the current release.
Yes. Aegis is released under the MIT license with no telemetry, no cloud requirements, and no paid tiers. The full source code is available on GitHub.
CONTRIBUTING.md · SECURITY.md · CODE_OF_CONDUCT.md
If Aegis is useful to you, consider giving it a star on GitHub — it helps others discover the project.
Teams & Enterprise — Need centralized dashboards, SIEM integration, or managed deployment? We're building it. Get notified
| Layer | How |
|---|
| Processes | 110 agents (262 process-name signatures), parent-chain resolution, IDE host detection, WSL and IDE-extension discovery |
| Files | chokidar watch on sensitive directories (.ssh, .aws, .gnupg, .env*, cloud configs) and the registered config paths of known agents; open-handle and Restart-Manager read detection on Windows |
| Network | Outbound TCP per agent process, forward-confirmed reverse DNS, and a verdict per endpoint — allowlisted, unknown, or flagged; an unidentified endpoint is never displayed as safe |
| Behavior | 73 detection rules across 8 categories (YAML, hot-reloaded), rolling 10-session baselines, anomaly scoring over four axes (network / filesystem / process / baseline) |
| Local LLMs | Runtime probes for Ollama and LM Studio, including loaded models; other runtimes such as vLLM and llama.cpp are detected by process signature |
| Version | Date | Highlights |
|---|
| v0.11.0-alpha | 2026-08-11 | Windows installer, Event Schema v1 attribution, endpoint verdicts, sensor health records, WSL & IDE-extension detection |
| v0.10.0-alpha | 2026-03-09 | Code cleanup, security hardening, command palette |
| v0.9.1-alpha | 2026-03-08 | Dropdown dedup, skill paths, aegis-context optimized |
| v0.9.0-alpha | 2026-03-08 | categoryIndex, prompt-craft skill, TS migration stores |
| v0.8.2-alpha | 2026-03-08 | formatBytes TS extraction, meaningful tests, branch cleanup |
| v0.8.1-alpha | 2026-03-07 | Patch release |
| v0.8.0-alpha | 2026-03-05 | Launch readiness: CSP hardened, OpenClaw integration, README overhaul |
| v0.7.0-alpha | 2026-03-04 | YAML rulesets, 68 rules, hot-reload, 568 tests |
| v0.5.0-alpha | 2026-03-03 | Fancy UI redesign, VisTimeline, AgentGraph |
| v0.4.0-alpha | 2026-03-03 | TypeScript infrastructure, perf, refactoring |
![]() Antropos7 | ![]() Elshad Humbatli | ![]() Steven Melendez | ![]() travisbreaks | ![]() raye-deng | ![]() KJyang-0114 |