AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
오픈소스 AI 에이전트 정책 적용 도구 80개 정책 두 명령어 설치 평가 10 ms 이하 텔레메트리 없음 계정 필요 없음
Open source AI agent policy enforcement. 80 policies. Two commands to install. Every evaluation under 10 ms. No telemetry. No account required.
개발 도구Python · ShellGitHub @vectimus온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Deterministic governance for AI coding agents. Cedar-based policy engine that intercepts every agent action and evaluates it against deterministic rules before execution.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Cedar policies for every AI agent action. Coding tools and agentic frameworks. Every evaluation under 10ms. Zero config.
That's it. Cedar policies evaluate every tool call - whether from a coding agent in your terminal or a framework agent in production. Dangerous commands, secret access, infrastructure changes and supply chain attacks blocked before execution.
Every policy references the real-world incident that motivated it. No "best practice" filler.
Maps to OWASP Agentic Top 10 (https://genai.owasp.org/resoREADME 전문 보기 ↗Cedar policies for every AI agent action. Coding tools and agentic frameworks. Every evaluation under 10ms. Zero config.
pipx install vectimus
vectimus init
That's it. Cedar policies evaluate every tool call - whether from a coding agent in your terminal or a framework agent in production. Dangerous commands, secret access, infrastructure changes and supply chain attacks blocked before execution.
Every policy references the real-world incident that motivated it. No "best practice" filler.
| Pack | What it blocks | Example |
|---|---|---|
| Destructive Ops | rm -rf, terraform destroy, docker system prune | Production wipe prevention |
| Secrets | Credential file access, env variable exposure | .env, AWS keys, SSH keys |
| Supply Chain | npm publish, pip install from URLs, registry tampering | Clinejection-class attacks |
| Infrastructure | terraform apply, kubectl delete, cloud CLI mutations | Unreviewed infra changes |
| Code Execution | eval(), exec(), unsafe interpreter invocations | Code injection via agents |
| Data Exfiltration | curl to external hosts, file upload, data piping | Credential theft, data leakage |
| File Integrity | Writes to .vectimus/, sensitive config paths | Governance tampering |
| Database | Direct database CLI access, credential harvesting | Unauthorized data access |
| Git Safety | git push --force, history rewriting, credential commits | Repository damage |
| MCP Safety | Unapproved MCP servers, dangerous tool parameters | MCP server supply chain |
| Agent Governance | Unchecked agent spawning, goal hijacking, rogue agents | Multi-agent control |
11 packs. Browse all policies →
Maps to OWASP Agentic Top 10 (all 10 categories), SOC 2, NIST AI RMF, NIST CSF 2.0, ISO 27001 and EU AI Act. Full compliance mappings →
AI coding agents and agentic frameworks run shell commands, write files, install packages and call APIs. Without a governance layer, every agent you deploy is an unmonitored service account with production access and no audit trail.
These are not hypothetical risks:
terraform destroy, wiping a production VPC, RDS database and ECS cluster.Vectimus is a defense-in-depth layer. Whatever permission setup your team uses, Vectimus adds deterministic policy evaluation underneath. Same input, same decision, every time.
@id("vectimus-supchain-001")
@description("Block npm publish to prevent supply-chain attacks")
@incident("Clinejection: malicious npm packages published by compromised AI agent, Feb 2026")
@controls("SLSA-L2, SOC2-CC6.8, NIST-AI-MG-3.2, EU-AI-15")
forbid (
principal,
action == Vectimus::Action::"package_operation",
resource
) when {
context.command like "*npm publish*"
};
Every rule has an @incident annotation linking it to the attack it prevents and @controls mapping it to compliance frameworks. Governance rules backed by real attacks are compelling. Rules that exist "because best practice" are not.
Vectimus checks for policy updates in the background every 24 hours. New rules ship when new threats appear.
vectimus policy update # Pull latest now
vectimus policy status # Check version and sync info
Behind the scenes, Sentinel runs a three-agent pipeline daily:
A human reviews every PR. The policy ships. The package is updated and users can either run vectimus policy update manually or enable auto policy updates.
The entire pipeline is governed by Vectimus itself. The agents that write governance rules operate under the same governance system.
Live threat dashboard → | Incident blog posts →
| Claude Code | Cursor | GitHub Copilot | Gemini CLI | Codex CLI |
|---|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ | Experimental |
Codex CLI support is experimental. Codex only exposes Bash shell calls to hooks today, so
Vectimus cannot intercept file reads, writes or MCP calls made by Codex. That limit comes from
Codex CLI, not Vectimus. Windows is unsupported upstream, and Codex only reads repo
.codex/config.toml in trusted projects.
| LangGraph | Google ADK | Claude Agent SDK |
|---|---|---|
| ✅ | ✅ | ✅ |
Same Cedar policies govern both. One install. Works on macOS, Linux and Windows.
from vectimus.integrations.langgraph import VectimusMiddleware
middleware = VectimusMiddleware(
policy_dir="./policies", # Optional, defaults to bundled policies
observe_mode=False, # Optional, defaults to False
)
agent = create_agent(
model="openai:gpt-4.1",
tools=my_tools,
middleware=[middleware],
)
from vectimus.integrations.langgraph import create_interceptor
interceptor = create_interceptor(
policy_dir="./policies",
observe_mode=False,
)
client = MultiServerMCPClient(
{...},
tool_interceptors=[interceptor],
)
Both support observe mode for trialling without enforcement.
from vectimus.integrations.adk import VectimusADKPlugin
plugin = VectimusADKPlugin(
policy_dir="./policies", # Optional, defaults to bundled policies
observe_mode=False, # Optional, defaults to False
)
runner = Runner(
agent=my_agent,
app_name="my-app",
session_service=session_service,
plugins=[plugin],
)
from vectimus.integrations.adk import create_before_tool_callback
callback = create_before_tool_callback(
policy_dir="./policies",
observe_mode=False,
)
agent = LlmAgent(
name="MyAgent",
model="gemini-2.0-flash",
before_tool_callback=callback,
)
┌─────────────┐ ┌───────────────┐ ┌──────────────┐ ┌──────────┐
│ AI Agent │────▶│ │────▶│ Cedar Policy │────▶│ allow / │
│ (tool call) │ │ Vectimus │ │ Engine │ │ deny / │
│ │◀────│ │◀────│ │◀────│ escalate │
└─────────────┘ └───────────────┘ └──────────────┘ └──────────┘
│
┌─────┴─────┐
▼ ▼
┌──────────┐ ┌──────────────┐
│Audit Log │ │Signed Receipt│
│ (JSONL) │ │ (Ed25519) │
└──────────┘ └──────────────┘
vectimus verifyThe governance logic sits outside the model entirely. It cannot be influenced by prompt injection, model reasoning or context-window manipulation. Hook-layer enforcement, not instructions the agent can choose to ignore.
Evaluation is entirely local. Zero telemetry. The only network call is a background policy update check every 24 hours (disable with vectimus policy auto-update off). Cedar is the same policy language used by AWS AgentCore Policy and Amazon Verified Permissions.
Vectimus blocks all MCP tool calls by default. During vectimus init it reads your existing tool configs and offers to approve the MCP servers you already use:
MCP servers detected:
Claude Code: posthog, slack
Cursor: github
Allow all 3 servers? [y/N]:
Manage the allowlist at any time:
vectimus mcp allow github
vectimus mcp allow slack
vectimus mcp list
Approved servers still go through input inspection rules that check for credential paths, CI/CD tampering and dangerous commands in tool parameters.
Trial Vectimus without blocking anything. Observe mode logs all decisions but always allows actions.
vectimus observe on # Log only, no enforcement
vectimus observe off # Switch to enforcement
vectimus observe status # Show current mode
Review the audit log at ~/.vectimus/logs/ to understand what your policies would block. Deploy in observe mode, review with your security team, then switch to enforcement.
vectimus rule disable vectimus-destruct-003 # This project only
vectimus rule disable vectimus-destruct-003 --global # All projects
vectimus rule overrides # View overrides
Overrides live in .vectimus/config.toml in the project root. The .vectimus/ directory is protected by policy -- agents cannot modify it.
The evaluation daemon auto-starts on the first hook call and keeps the Cedar engine warm in memory. Reduces latency from ~200ms (cold Python startup) to under 10ms.
vectimus daemon status # Check if running
vectimus daemon reload # Pick up config changes immediately
vectimus daemon stop # Manual stop (restarts automatically)
Config changes via rule disable, pack enable, mcp allow etc. automatically reload the daemon. Works on macOS, Linux and Windows.
For team-wide enforcement, run Vectimus as a shared server:
pip install vectimus[server]
vectimus serve
All agent hooks forward to the server for centralised policy evaluation, audit logging and identity-aware decisions. Server documentation →
vectimus remove
Strips Vectimus hooks from all detected tools in the current project. Preserves non-Vectimus hooks. Config and audit logs at ~/.vectimus/ are not touched.
Full docs at vectimus.com/docs:
Create .vectimus/config.toml in your project root:
[policies]
dir = "./policies"
[server]
host = "0.0.0.0"
port = 8420
[logging]
dir = "~/.vectimus/logs"
[mcp]
allowed_servers = ["github", "slack"]
[identity]
resolver = "git"
Or use environment variables:
| Variable | Purpose |
|---|---|
VECTIMUS_POLICY_DIR | Policy directory path |
VECTIMUS_SERVER_URL | Server URL for hook forwarding |
VECTIMUS_LOG_DIR | Audit log directory |
VECTIMUS_OBSERVE | Set to true for observe mode |
VECTIMUS_MCP_ALLOWED | Comma-separated approved MCP servers |
VECTIMUS_API_KEY | API key for server authentication |
Contributions welcome. Please open an issue before submitting large changes.
uv pip install -e ".[dev]"pytestruff check src/ tests/Apache 2.0. See LICENSE.