{"_id":"@araskovalabs/cerberus","_rev":"3-845e6ee97f63f5f809695fc6f8dac7b3","name":"@araskovalabs/cerberus","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@araskovalabs/cerberus","version":"0.1.0","keywords":["security","agent","llm","rust","terminal","red-team","appsec","cerberus","araskova"],"author":{"name":"Araskova Labs"},"license":"UNLICENSED","_id":"@araskovalabs/cerberus@0.1.0","maintainers":[{"name":"illusiveman","email":"gooseinteandi@gmail.com"}],"bin":{"cerberus":"bin/cerberus.js"},"dist":{"shasum":"4c6cb549760972d8cec0dd7222cbbee7cbd88cc5","tarball":"https://registry.npmjs.org/@araskovalabs/cerberus/-/cerberus-0.1.0.tgz","fileCount":6753,"integrity":"sha512-wv6XqD4/K8kZX+uqCOOObHh6YGxuZq+t+zb6X+RGC+g1j1iW33T69uIJNUYJ2FaXNlHehdQpqrFaw4BPmMhX6w==","signatures":[{"sig":"MEUCIEFiqjDOipqHx/feAajI4nfUGi+CaK1NAjuvx6nwyrdTAiEArc8LR9x1csJspF4z+gT2OcL36Zs7PGOtt+Qbxq0FHKc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66542639},"type":"commonjs","engines":{"node":">=18.0.0"},"gitHead":"324a8c03d14762a151bae540ef692990c00f44b4","private":false,"scripts":{"dev":"cargo run -p cerberus-cli -- console","build":"cargo build --workspace","check":"cargo check --workspace","doctor":"cargo run -p cerberus-cli -- doctor"},"_npmUser":{"name":"illusiveman","email":"gooseinteandi@gmail.com"},"_npmVersion":"11.11.0","description":"Cerberus — terminal-first agentic security framework by Araskova Labs.","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cerberus_0.1.0_1783069987242_0.28017851156901563","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@araskovalabs/cerberus","version":"0.2.0","keywords":["security","agent","llm","rust","terminal","red-team","appsec","cerberus","araskova"],"author":{"name":"Araskova Labs"},"license":"UNLICENSED","_id":"@araskovalabs/cerberus@0.2.0","maintainers":[{"name":"illusiveman","email":"gooseinteandi@gmail.com"}],"bin":{"cerberus":"bin/cerberus.js"},"dist":{"shasum":"1146955263ee4bf6460603c1a80d194239cbf5ef","tarball":"https://registry.npmjs.org/@araskovalabs/cerberus/-/cerberus-0.2.0.tgz","fileCount":6755,"integrity":"sha512-RTGhmsPrMpJ7m1Uy3RtaJfSdr8yA2K5h5HkwFiMODr4NhuUu6shQ1mYgNmzLweA8QV4oU1sWy5B1ou/qwE0PyA==","signatures":[{"sig":"MEUCICDJgoCpo8gucMnbttXHnV3ty7bq+3unCpVG3HcD3+8OAiEAyq9Taflzd6vT2ki+rww2BiSh5kThc7/1QxORmOV91B4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66597163},"type":"commonjs","engines":{"node":">=18.0.0"},"gitHead":"c7094d6d1ff35ca0dc11761530ea792755679f97","private":false,"scripts":{"dev":"cargo run -p cerberus-cli -- console","build":"cargo build --workspace","check":"cargo check --workspace","doctor":"cargo run -p cerberus-cli -- doctor","postinstall":"cargo build --release --workspace"},"_npmUser":{"name":"illusiveman","email":"gooseinteandi@gmail.com"},"_npmVersion":"11.11.0","description":"Cerberus — terminal-first agentic security framework by Araskova Labs.","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cerberus_0.2.0_1783102343021_0.5457510470598146","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@araskovalabs/cerberus","version":"0.2.1","description":"Cerberus — terminal-first agentic security framework by Araskova Labs.","author":{"name":"Araskova Labs"},"license":"MIT","private":false,"type":"commonjs","bin":{"cerberus":"bin/cerberus.js"},"scripts":{"build":"cargo build --workspace","check":"cargo check --workspace","dev":"cargo run -p cerberus-cli -- console","doctor":"cargo run -p cerberus-cli -- doctor","postinstall":"cargo build --release --workspace"},"keywords":["security","agent","llm","rust","terminal","red-team","appsec","cerberus","araskova"],"engines":{"node":">=18.0.0"},"gitHead":"c7094d6d1ff35ca0dc11761530ea792755679f97","_id":"@araskovalabs/cerberus@0.2.1","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-3LoxrrJI/f9n1yBVSJhAzWCxjYQIXo2r7DKRljtDOpe/id6qAVcswVFB6/B+HhSuMwTurvJVGqVoFB2wF/z5Iw==","shasum":"cff4c7c9e4c2f7719fd2b49a837720096f7a0fd3","tarball":"https://registry.npmjs.org/@araskovalabs/cerberus/-/cerberus-0.2.1.tgz","fileCount":6755,"unpackedSize":66597911,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAH29qF3iPvDbpqHQd8fh6jDEjcl07RqNSiJFLXyJWWTAiAxCVy7SkyzudUyiGJtHxCR6Dm/5niJKl48uFep+xCFmw=="}]},"_npmUser":{"name":"illusiveman","email":"gooseinteandi@gmail.com"},"directories":{},"maintainers":[{"name":"illusiveman","email":"gooseinteandi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cerberus_0.2.1_1783102529118_0.7646705766101336"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-03T09:13:07.113Z","modified":"2026-07-03T18:15:29.557Z","0.1.0":"2026-07-03T09:13:07.552Z","0.2.0":"2026-07-03T18:12:23.371Z","0.2.1":"2026-07-03T18:15:29.454Z"},"author":{"name":"Araskova Labs"},"license":"MIT","keywords":["security","agent","llm","rust","terminal","red-team","appsec","cerberus","araskova"],"description":"Cerberus — terminal-first agentic security framework by Araskova Labs.","maintainers":[{"name":"illusiveman","email":"gooseinteandi@gmail.com"}],"readme":"# Cerberus OSS — AI Security Runtime with Global Brain\n\n**Built by Araskova Labs**\n\nCerberus is an autonomous security runtime for AI-native developers. It sits inside every project you work on, learns from every finding across every project on your machine, and evolves into a personalized security expert calibrated to your exact stack, patterns, and risk tolerance.\n\n## The Difference From Generic Security Tools\n\n| Generic Security Tool | Cerberus |\n|---|---|\n| Same advice for everyone | Calibrated to your specific codebase |\n| Resets to zero each session | Persistent memory across all projects |\n| Hallucinated findings | Evidence-backed, verifiable findings |\n| No governance | Policy gates before any intrusive action |\n| No agent integration | Any AI agent reads `.cerberus/CERBERUS.md` |\n| Static rules | Reinforcement learning from your feedback |\n\n---\n\n## 🚀 Quick Start\n\n**Via NPM (recommended):**\n```bash\nnpm install -g @araskovalabs/cerberus\n```\n\n**Via Cargo:**\n```bash\ncargo install cerberus-cli\n```\n\n### 1. One-time setup\n\n```bash\ncerberus setup          # configure your LLM provider\ncerberus init           # initialise .cerberus/ in your project\n```\n\n`cerberus init` creates:\n```\n.cerberus/\n├── CERBERUS.md    ← agent contract — commit this to your repo\n├── policy.toml    ← security policy for this project\n└── state.db       ← project findings database\n```\n\n**`CERBERUS.md`** is the key file. Every AI agent (Antigravity, Cursor, Claude Code, Gemini CLI) that reads it instantly gets current project security state — open findings, what to check before making changes, and how to interact with Cerberus. Works exactly like `.prettierrc` or `.eslintrc`.\n\n### 2. Scan your code\n\n```bash\ncerberus review .              # review uncommitted changes\ncerberus review . --fix        # review + auto-patch vulnerabilities\ncerberus review . --ci         # CI mode (structured text output)\n```\n\n### 3. Verify and train the brain\n\n```bash\ncerberus findings list                              # view open findings\ncerberus verify --finding <id> --evidence \"note\"   # confirm real finding\ncerberus feedback sql-injection --confirmed false   # mark false positive\ncerberus learn                                      # feed to global brain\n```\n\n### 4. See what the brain has learned\n\n```bash\ncerberus status     # global brain stats across all projects\ncerberus profile    # your operator security profile\n```\n\n---\n\n## 🧠 The Global Brain\n\nCerberus maintains a **machine-wide SQLite database** at `~/.cerberus/brain.db` that accumulates knowledge across every project you work on.\n\n**How it learns:**\n1. Every `cerberus review` records which vulnerability patterns were detected\n2. When you confirm a finding → that pattern gets a higher confidence score\n3. When you mark a false positive → confidence drops in that context\n4. When you fix a vulnerability → the fix pattern is stored in memory\n5. Next project: confirmed patterns from project A boost confidence in project B\n\nThe learning formula is simple reinforcement learning:\n```\nnew_confidence = old_confidence + 0.1 × (reward − old_confidence)\n```\nWhere reward = 1.0 (confirmed) or 0.0 (false positive). After ~50 interactions, Cerberus stops being generic and becomes calibrated to you.\n\n---\n\n## 🦀 Why Rust?\n\nRust is not just a performance choice — it is an **architectural enforcement mechanism**:\n\n- **Policy gates are Rust match statements** — the LLM cannot bypass them\n- **Brain confidence updates are Rust functions** — not prompt instructions the model can ignore\n- **Evidence must be attached before verification** — enforced by the type system\n- **SQLite via `rusqlite` (bundled)** — zero dependencies, no server, single file on disk\n- **`tokio` async** — reconnaissance, policy checks, and tool execution run in parallel\n\n---\n\n## 🏗 Architecture\n\n```\ncrates/\n  cerberus-brain     Global RL engine — ~/.cerberus/brain.db\n  cerberus-cli       Terminal interface, all commands, CERBERUS.md generator\n  cerberus-core      Agent kernel, mission data, plan execution\n  cerberus-memory    Project-level SQLite state (per-project .cerberus/state.db)\n  cerberus-policy    Risk levels, policy gates, approval workflow\n  cerberus-llm       LLM provider connectors (OpenAI, Anthropic, Ollama)\n  cerberus-gateway   Telegram and WhatsApp operator bridges\n```\n\n---\n\n## 🔑 Bring Your Own Model (BYOM)\n\nCerberus is completely LLM agnostic:\n- **Anthropic / Claude** — deep semantic analysis\n- **OpenAI / GPT-4o** — test script generation\n- **Ollama (local)** — zero data leaves your machine\n\n---\n\n## 🏢 Licensing (Open Core)\n\n| Tier | What's included |\n|---|---|\n| **OSS** | Full brain engine, CLI, review/fix/verify workflow, global brain |\n| **Pro** | Operator console, fleet-wide dashboards, compliance packs (SOC2, HIPAA, PCI-DSS), federated brain sync |\n","readmeFilename":"README.md"}