{"data":{"slug":"prismorsec-prismor","name":"prismor","tagline":"Runtime Firewall for AI agents which catches the rogue tool call before it runs. Dangerous commands, secret leaks, prompt injection. For Claude Code, Codex and framework SDKs","github_url":"https://github.com/PrismorSec/prismor","owner":"PrismorSec","repo":"prismor","owner_avatar_url":"https://avatars.githubusercontent.com/u/236515725?v=4","primary_language":"Python","stars":235,"forks":18,"topics":["agent-security","agentic-ai","agents","ai-agents","ai-security","claude-code","cursor","cybersecurity","devsecops","guardrails","llm-security","mcp","prompt-injection","prompt-security","secrets-management","security","security-tools","skill-scanner","supply-chain-security","tool-calls"],"archived":false,"github_pushed_at":"2026-07-15T09:18:43+00:00","maintenance_label":"Very active","url":"https://www.graphcanon.com/tools/prismorsec-prismor","markdown_url":"https://www.graphcanon.com/tools/prismorsec-prismor.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/prismorsec-prismor","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=prismorsec-prismor","description":"Runtime Firewall for AI agents which catches the rogue tool call before it runs. Dangerous commands, secret leaks, prompt injection. For Claude Code, Codex and framework SDKs","homepage_url":"https://prismor.dev","license":"Apache-2.0","open_issues":13,"watchers":3,"ai_summary":null,"readme_excerpt":"### Platform-specific Install\n\n**Option A: curl (easiest):**\n\n```bash\ncurl -sSL https://prismor.dev/install | sh\n```\n\nDetects your environment and uses the right install method automatically.\n\n**Option B: give your agent a skill (zero-interrupt setup):**\n\nPoint your agent at [`SKILL.md`](SKILL.md). It is a standing instruction file: the agent reads it at session start, checks whether Prismor is installed, and follows the decision tree throughout the session without pausing your workflow.\n\nFor Claude Code, add to your `CLAUDE.md`:\n\n```markdown\nRead `SKILL.md` and follow its instructions for runtime security.\n```\n\nOr via raw URL (works in any agent config file: CLAUDE.md, AGENTS.md, .cursorrules, .windsurfrules):\n\n```markdown\nRead `https://raw.githubusercontent.com/PrismorSec/prismor/main/SKILL.md` and follow its instructions.\n```\n\nSee [`SKILL.md`](SKILL.md) for the full decision tree and hard rules.\n\n**Option C: pip:**\n\n```bash\npip install prismor\nprismor setup          # interactive 4-step onboarding wizard\n```\n\n`prismor setup` lets you pick enforcement mode, toggle detection rules, select agents, and optionally enable secret cloaking. Pass `--non-interactive` to skip the TUI.\n\n**Option D: git clone + wizard:**\n\n```bash\npip3 install pyyaml                          # on Debian/Ubuntu use: sudo apt install python3-yaml\ngit clone https://github.com/PrismorSec/prismor.git ~/.prismor\nPRISMOR_MODE=enforce PRISMOR_CLOAK=1 bash ~/.prismor/scripts/init.sh .\n```\n\nIf you are testing from a source checkout on a machine that already has a\ndifferent `prismor` install, use the repo shim for health checks:\n\n```bash\npython3 ~/.prismor/bin/prismor --version\npython3 ~/.prismor/bin/prismor status\n```\n\nThat path forces imports to resolve to the checked-out runtime instead of a\nstale package earlier on `sys.path`.\n\n> On externally-managed Pythons (PEP 668 — Ubuntu 23.04+, Homebrew) `pip3 install` refuses to run; install PyYAML from your system package manager instead (`sudo apt install python3-yaml`, `brew install pyyaml`, …). `init.sh` will tell you if it's missing.\n\nThis installs enforce-mode Prismor hooks and the Cloak prevention layer. To register a secret, run `prismor cloak add stripe_key` and enter the value when prompted. To import an entire dotenv file at once, run `prismor cloak add --env-file .env`. Claude/Hermes can auto-decloak placeholders at the tool boundary. Codex hooks are block-only, so run placeholder commands through `prismor cloak run -- <command>`.\n\nPrefer the interactive wizard? Drop the env vars:\n\n```bash\nbash ~/.prismor/scripts/init.sh .\n```","github_created_at":"2026-02-20T16:43:19+00:00","created_at":"2026-07-15T10:42:42.645608+00:00","updated_at":"2026-07-15T10:42:45.698342+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"},{"slug":"vector-databases","name":"Vector Databases","url":"https://www.graphcanon.com/categories/vector-databases","markdown_url":"https://www.graphcanon.com/categories/vector-databases.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/vector-databases"}],"tags":[{"slug":"agent-security","name":"agent-security"},{"slug":"agentic-ai","name":"agentic-ai"},{"slug":"agents","name":"agents"},{"slug":"ai-agents","name":"ai-agents"},{"slug":"ai-security","name":"ai-security"},{"slug":"claude-code","name":"claude code"},{"slug":"cursor","name":"cursor"},{"slug":"cybersecurity","name":"cybersecurity"}],"trust":{"provenance":{"is_fork":false,"github_id":1162750276,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-15T10:42:43.651Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":30,"days_since_push":0,"last_release_at":"2026-07-15T09:19:09Z"},"security_summary":{"status":"ok","scanner":"osv@v1","low_count":0,"high_count":0,"last_scan_at":"2026-07-15T10:42:44.076Z","medium_count":0,"scan_profile":"deps","critical_count":0}},"capability_facts":{"mcp":{"source":"repo_scan","observed_at":"2026-07-15T10:42:43.389Z","server_manifest":false},"scan":{"source":"repo_scan","observed_at":"2026-07-15T10:42:43.389Z"},"has_cli":{"value":true,"source":"pyproject.toml:[project.scripts]","observed_at":"2026-07-15T10:42:43.389Z"},"languages":{"value":["python","javascript"],"source":"github.language+package.json+pyproject.toml","observed_at":"2026-07-15T10:42:43.389Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-07-15T10:42:43.389Z"}}}}