{"nodes":[{"title":"Agentinel Home","canonical_url":"https://agentinel.com/","category":"Home","published_date":"2026-09-04T01:31:07.138Z","author":{"name":"Aman Janwani","credentials":"Creator of Agentinel"},"summary":"The zero-cost, locally-run package guardrail for your AI coding agents. Agentinel guards your agent.","content":"# Agentinel\nThe zero-cost, locally-run package guardrail for your AI coding agents. Every other tool in this space guards your terminal. Agentinel guards your agent.\n\n## The Problem\nAI coding agents (like Claude Code, Copilot, or Cursor) install dependencies on your behalf, often while you aren't looking closely. \n- Sometimes they install a package that was registered last week with no history. \n- Sometimes they install a package whose name they entirely hallucinated. \n- Sometimes, they install a legitimate package that pulls in a compromised one three levels deep.\n\nAgentinel checks every package an install would bring in, at the exact moment the agent reaches for it. It evaluates the package against a bundled, locally-run database of over 216,000 known malicious packages and zero-cost registry heuristics. It then tells the agent why something looks wrong so the AI can back off and reconsider.\n\n## Features & Security Philosophy\n- Zero-Cost & Private: Agentinel does no network interception, runs no cloud proxies, and makes no LLM or API calls. The malware list is matched locally.\n- Lightning Fast: Full local lockfile scans complete in ~1.4 seconds.\n- Deep Tree Scanning: Checks every package an install would actually bring in, not just the one named. (npm install express brings in 67 packages. We check all 67).\n- Known Malware: Bundles a local OSV database of 216,000+ confirmed malicious packages.\n- Zero False Positives on Popular Packages: Tested against the top 100 npm packages.\n- Heuristic Scanning: Flags npm takedowns, packages under 30 days old with < 1k downloads (slopsquatting), publisher drift, and non-existent hallucinated names.\n- Fail-Open Design: Designed so that if it crashes or can't reach the registry, it fails open. It will never permanently wedge your terminal or block your work.","schema":{"@context":"https://schema.org","@type":"Article","headline":"Agentinel Home","author":{"@type":"Person","name":"Aman Janwani"},"datePublished":"2026-09-04T01:31:07.138Z"}},{"title":"Introduction","canonical_url":"https://agentinel.com/docs/introduction","category":"Documentation","published_date":"2026-09-04T01:31:07.140Z","author":{"name":"Aman Janwani","credentials":"Creator of Agentinel"},"summary":"Learn what Agentinel is, the problem it solves, and how it protects your development environment.","content":"# Introduction\nA zero-config, locally-run security guardrail for AI coding agents. No account. No API key. No network calls.\n\n## What is Agentinel?\nAgentinel is an open-source security tool that sits between your AI coding agent and your package manager. When an agent like Claude Code, GitHub Copilot, or Gemini CLI decides to install an npm package, Agentinel intercepts that decision before npm ever executes it.\n\nIt checks the requested package against a bundled local copy of the Open Source Vulnerabilities (OSV) database, which covers 216,000+ known malicious or vulnerable packages. If the package is flagged, Agentinel blocks it, logs the reason, and returns a structured payload back to the agent. Everything runs entirely offline on your machine. There is no server, no telemetry, and no subscription.\n\n## The problem: slopsquatting\nLarge language models are powerful code generators, but they have a well-documented tendency to hallucinate package names. An LLM might confidently generate an install command for a package that does not exist on the npm registry, like `react-router-v7-beta` or `express-middleware-cors-fix`. This creates a class of attack called slopsquatting: an attacker pre-registers commonly hallucinated package names on npm. When an AI agent installs that package, the attacker's malicious preinstall scripts execute immediately.\n\nTraditional developers read package names before running install commands. Agentic workflows execute install commands autonomously, without a human reviewing each one. This removes the last line of defense.\n\n## The \"Fail Open\" philosophy\nAgentinel is designed around one core principle: it must never silently break your workflow. If for any reason Agentinel cannot scan a package (corrupted DB, unexpected error), it will fail open, meaning the install is allowed to proceed rather than cryptically blocking your agent. This is an intentional trade-off. We believe a security tool that breaks builds erodes trust and gets disabled.","schema":{"@context":"https://schema.org","@type":"Article","headline":"Introduction","author":{"@type":"Person","name":"Aman Janwani"},"datePublished":"2026-09-04T01:31:07.140Z"}},{"title":"Installation","canonical_url":"https://agentinel.com/docs/installation","category":"Documentation","published_date":"2026-09-04T01:31:07.140Z","author":{"name":"Aman Janwani","credentials":"Creator of Agentinel"},"summary":"How to install and initialize Agentinel globally or locally.","content":"# Installation\nFor the best experience across all your projects and to use the short `asen` alias, install Agentinel globally:\n\n```sh\nnpm install -g agentinel\nasen init\n```\n\nAlternatively, you can install it as a dev-dependency per-project:\n```sh\nnpm install --save-dev agentinel\nnpx agentinel init\n```\n(No account, no server, no complex configuration.)","schema":{"@context":"https://schema.org","@type":"Article","headline":"Installation","author":{"@type":"Person","name":"Aman Janwani"},"datePublished":"2026-09-04T01:31:07.140Z"}},{"title":"Hooks & Integration","canonical_url":"https://agentinel.com/docs/hooks","category":"Documentation","published_date":"2026-09-04T01:31:07.140Z","author":{"name":"Aman Janwani","credentials":"Creator of Agentinel"},"summary":"How Agentinel hooks into Claude Code, Copilot, and Gemini natively.","content":"# 1. Agentic Use (Native Hooks)\nAgentinel wires itself directly into the native pre-execution hooks of popular CLI agents: Claude Code, Codex CLI, Copilot CLI, and Gemini CLI. \n\nWhen an agent attempts to run `npm install`, Agentinel intercepts the event (e.g., `PreToolUse` for Claude) and scans the requested dependency tree. \n\n### How it feeds back to the AI\nIf Agentinel flags a package, it feeds the context *back* to the AI agent in a concise format the agent understands, rather than just crashing the terminal.\n\n**Example Intercept:**\n```json\n{\n  \"hookEvent\": \"PreToolUse\",\n  \"action\": \"BLOCK\",\n  \"reason\": \"agentinel blocked 'react-router-v7-beta': Package does not exist on npm (hallucination).\"\n}\n```\nThe AI reads this, realizes the package is fake or malicious, and intelligently searches for the correct alternative instead of blindly retrying.\n\n# 2. Normal / Human Use (The Shim)\nWhat about installs that never go through an agent? (e.g., You typing `npm install` manually). \n\nAgentinel provides an opt-in **PATH shim**. By default, running `npx asen init` installs this shim automatically. This puts a tiny, fail-open wrapper script earlier in your `PATH`. When you type `npm install <pkg>`, the shim checks the package first. If it's safe, the real `npm` command runs instantly. \n\nAs a bonus, if you just run a plain `npm install` with no arguments, the shim instantly checks your unstaged `package.json` for any newly added dependencies, ensuring that packages you pasted in are scanned before they resolve!\n\n# 3. The Git Pre-Commit Hook\nAs a final safety net, `asen init` installs a Git pre-commit hook. Before you can commit a change to `package-lock.json`, Agentinel scans the staged lockfile. If a poisoned dependency slipped in somehow, the commit is flagged, ensuring malware never reaches your `main` branch.","schema":{"@context":"https://schema.org","@type":"Article","headline":"Hooks & Integration","author":{"@type":"Person","name":"Aman Janwani"},"datePublished":"2026-09-04T01:31:07.140Z"}},{"title":"Commands","canonical_url":"https://agentinel.com/docs/commands","category":"Documentation","published_date":"2026-09-04T01:31:07.140Z","author":{"name":"Aman Janwani","credentials":"Creator of Agentinel"},"summary":"Command line reference for Agentinel.","content":"# Command Reference\nYou can run Agentinel using `npx agentinel <command>`. If you have installed `agentinel` globally, you can use the shorter alias: `npx asen <command>`.\n\n### `npx asen init [--no-shim]`\nWires up agent hooks and git hooks in the current repo, and installs the global PATH shim for human terminal protection. When used with `--no-shim`, it wires up hooks but skips installing the global PATH shim.\n\n### `npx asen check [pkg...]`\nScans the unstaged (or newly added) dependencies in your working tree, including the lockfile. Exits non-zero if flagged. (The Git pre-commit hook uses a strictly staged version of this check). Also scans a specific package instantly without installing it.\n\n### `npx asen allow <pkg> --reason \"...\"`\nAdds a package to the allowlist in `.agentinel.json` with a required reason. This provides an audited trail for your team.\n\n### `npx asen mode <warn|strict>`\nSwitches Agentinel's operating mode in the `.agentinel.json` file.\n\n### `npx asen uninstall`\nCompletely removes all Agentinel hooks from your repository config files (`.claude`, `.gemini`, `.github`, etc.) and removes global shims.\n\n### `npx asen unshim`\nRemoves the global PATH shim.","schema":{"@context":"https://schema.org","@type":"Article","headline":"Commands","author":{"@type":"Person","name":"Aman Janwani"},"datePublished":"2026-09-04T01:31:07.140Z"}},{"title":"Configuration","canonical_url":"https://agentinel.com/docs/configuration","category":"Documentation","published_date":"2026-09-04T01:31:07.140Z","author":{"name":"Aman Janwani","credentials":"Creator of Agentinel"},"summary":"Configuring the strict and warn modes in Agentinel.","content":"# Configuration\nAgentinel supports two operating modes, controlled by the `mode` field in `.agentinel.json`. You can switch between them using `npx asen mode <warn|strict>`.\n\n### warn (default)\nAgentinel surfaces a warning in the agent output but does not block the install. The agent decides whether to proceed.\n```json\n{\n  \"mode\": \"warn\"\n}\n```\n*Best for teams migrating to Agentinel gradually or using agents in read-heavy workflows.*\n\n### strict\nAgentinel hard-blocks the install and returns an error payload to the agent. The install never reaches npm.\n```json\n{\n  \"mode\": \"strict\"\n}\n```\n*Recommended for production repos, CI pipelines, and any project with autonomous agentic access.*","schema":{"@context":"https://schema.org","@type":"Article","headline":"Configuration","author":{"@type":"Person","name":"Aman Janwani"},"datePublished":"2026-09-04T01:31:07.140Z"}}]}