VirbiusAgent
Health Gecti
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 29 GitHub stars
Code Gecti
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Open-source AI Agent security platform — prompt injection defense, MCP tool-call guardrails, eBPF runtime observability. Four-tier Edge→Gateway→Kernel→Cloud architecture.
VirbiusAgent
VirbiusAgent is a deep security platform purpose-built for AI Agents. Leveraging eBPF and a four-tier Edge–Gateway–Kernel–Cloud architecture, it provides real-time visibility and precise blocking of Agent behaviors, effectively tackling the challenges of privilege abuse and loss of security control.
The Agent security landscape falls into two categories: endpoint-side controls — DLP and related measures to govern employee usage of AI and Agents, preventing data leaks, shadow AI, and prompt leakage — and server-side protection, which is VirbiusAgent's core focus. As an Agent security platform, VirbiusAgent secures your self-developed intelligent agents against prompt injection, MCP tool abuse, and privilege escalation. It is designed to support enterprise security review and audit workflows; map its controls to the regulations that apply to your jurisdiction. Endpoint controls are largely standardized with low business coupling, whereas VirbiusAgent provides a highly customizable security policy framework on the server side, requiring security engineers who understand both policy and business to tailor configurations for precise, scenario-matched protection.
Operations Console

Main pages: rule registry & rollout, policy-cache hot reload, audit center, Audit Integrity (integrity verification / Decision BOM / audit export / session checkpoints, 4 tabs), Alerts (list / status filter / acknowledge / expand Decision BOM), sessions & traces, delegated credentials, and more.
Architecture
flowchart TD
A["① Edge — virbius-core<br/>Rust SDK · precheck + DLP · sub-ms"]
G["② Gateway — Higress + WASM<br/>rate limit · HTTP enforce · challenge"]
K["③ Kernel — Falco + eBPF<br/>runtime observability · custom rules"]
C["④ Cloud — virbius-engine + virbius-control<br/>policy · LLM detect · Groovy L3 · audit"]
MCP["MCP Server / LLM"]
A -->|tool_call| G
G -->|forward| C
C -->|effective_action| G
G -->|allow| MCP
G -.->|block| MCP
K -.->|events| C
CP["Control Plane — virbius-control<br/>admin UI · rule registry · rollout"]
COMP["virbius-compiler<br/>rules → per-app manifests"]
CP -.->|publish| A
CP -.->|publish| G
CP -.->|publish| C
CP -.->|publish| K
COMP -.->|compile| CP
| Layer | Responsibility | Component |
|---|---|---|
| ① Edge | Tool-call precheck, license verification, allowlist, DLP masking, STI taint. Sub-ms, offline-capable. | virbius-core (Rust SDK) |
| ② Gateway | Rate limiting, HTTP enforcement, challenge approval token validation. On-path. | virbius-gateway (Higress WASM) |
| ③ Kernel | Runtime observability: file/process/network monitoring via eBPF. Custom Falco rules with canary deploy. | virbius-kernel (Falco plugin) |
| ④ Cloud | Policy management, LLM-based prompt/DLP detection, Groovy L3 terminal adjudication, decision trace, audit dashboard. | virbius-engine + virbius-control (Spring Boot) |
Features
| Capability | Description |
|---|---|
| MCP Secure Proxy | stdio/SSE proxy + security pipeline (License + allowlist + engine adjudication) + multi-upstream routing |
| Fast Path | Bypass cloud layer for low-risk tools, latency optimization |
| Decision Trace | Full-chain tool_call/tool_result tracing, session timeline + causal chain visualization |
| Human Approval | High-risk tool approval flow: engine challenge → console approve → token-gated execution |
| Audit Dashboard | Session risk, tool calls, alerts, approval queue, decision trace visualization |
| Prompt Injection Detection | Single-model semantic detection with dynamic risk scoring |
| LLM + Traditional Models | LLM safety classification built on VirbiusGuard (replaceable with other safety models) + Groovy L3 mlPredict() for external ML models |
| STI Taint Tracking | Track untrusted outputs across tool chains, prevent data leakage |
| Hash Chain Audit | Tamper-proof audit log with SHA-256 hash chain integrity verification |
| Memory Interceptor | Desensitize sensitive data written to Agent memory |
| Output Review | PII/credential leak detection in tool return values |
| Review API + Python SDK | Input/output review as an engine API with a dedicated Python SDK (virbius-review-sdk): dispositions, streaming review windows, sync + async |
| Falco Rules Management | Custom eBPF rules managed through console with canary deployment |
| Native Tool Integration | LangChain callback observation (Mode A) + native-tool enforcement SDK (Mode B): tool inventory, coverage classification, warnings |
Why VirbiusAgent
Rules + Models: A Practical Engineering Pattern
Industry security engineering has shown that combining deterministic rules with ML models is an effective defense — neither alone is sufficient. This principle is the foundation of VirbiusAgent's design.
| Aspect | Rules (Deterministic) | Models (ML/LLM) | VirbiusAgent Approach |
|---|---|---|---|
| Accuracy | High — zero false negatives for known patterns | Moderate — depends on training data | Rules as the first line of defense; models as safety net |
| Recall | Low — only catches known patterns | High — generalizes to novel attacks | Models fill the gap for unknown threats |
| Latency | Sub-millisecond | 100ms – 2s (LLM) | Edge rules < 1ms; Cloud models for deep analysis |
| Cost | Near-zero (CPU only) | High (GPU/LLM API per call) | Rules and models combined |
| Maintainability | Transparent, auditable, version-controlled | Black-box, hard to debug | Rules in Git; models as augmenting signal |
Design philosophy: Not merely using models to fight models, but combining rules and models. Rules are cheap and fast, and new attacks can be addressed more flexibly with targeted rule patches; models generalize well but are expensive to iterate. Combining them achieves high performance, precision and recall at relatively low cost.
We use GLM5.2 as the teacher model and Qwen3Guard as the base student model, performing knowledge distillation to create VirbiusGuard — which covers and optimizes prompt semantic scenarios that Qwen3Guard does not support (such as Agent behavioral safety, multilingual mixed inputs, etc.), progressively expanding the detection scope of Prompt L1.
VirbiusGuard model download: HuggingFace | ModelScope
VirbiusGuard demo: https://www.virbius.cn/demo — paste text in the browser and see the 10 safety categories plus agent-attack samples.
Comparison with Industry Solutions
A high-level comparison as of 2026-11, based on public documentation. These are
different products with different scopes; see docs/COMPARISON.md
for the full matrix and source links. Capabilities may change as upstreams evolve.
| Capability | VirbiusAgent | Microsoft AGT | Meta LlamaFirewall | IBM ContextForge |
|---|---|---|---|---|
| Scope | Agent runtime security across four layers | In-process agent governance | Prompt/agent guardrail scanners | MCP/A2A/REST gateway |
| Runtime observability | eBPF/Falco syscall visibility | App-level audit trail | In-process scan logs | App-level tracing |
| MCP support | Native stdio/SSE proxy | MCP security gateway | Agent-framework guardrails | Native MCP/A2A/REST federation |
| Human-in-the-loop | Challenge → approve → token-gated execution | Approval policies | Not documented | Not documented |
| Deployment | Self-hosted (sidecar / remote / SDK) | SDK / library | Python SDK | Self-hosted (PyPI / Docker / Helm) |
Key Differentiators
Four-layer defense-in-depth — Prompt-layer guardrails check a single point, and SDK-based peers (e.g. Microsoft Agent Governance Toolkit) add governance layers in-process. VirbiusAgent instead spans four independent layers across the runtime (Edge → Gateway → Kernel → Cloud), so even if one layer is bypassed, others still catch the threat — including syscall-level (eBPF/Falco) observation that SDK-based guardrails typically do not provide. This follows the defense-in-depth principle.
Rules and models combined — Rules catch known threats at sub-millisecond latency; models generalize better. Combining them yields high precision/recall and high performance at relatively low cost. This hybrid approach is a practical balance of cost, speed, and coverage.
Agent-native, not just LLM-native — Guardrail and scanner peers target the prompt or static analysis; VirbiusAgent secures the entire tool-call lifecycle across layers: pre-execution precheck → on-path gateway enforcement → runtime kernel observation → post-execution audit. This is purpose-built for the MCP era where Agents execute real actions.
Runtime visibility at the kernel level — Via eBPF/Falco, VirbiusAgent observes Agent processes at the syscall level (file access, network connections, process spawns). This adds syscall-level runtime observability that application-layer guardrails typically cannot provide.
Agent Security vs Traditional Security
| Dimension | Traditional Security | Agent Security |
|---|---|---|
| Attack surface | Network/host/application vulnerabilities | Prompt injection, indirect injection, tool abuse, sensitive data leakage |
| Untrusted input sources | External user input | User input + LLM-generated output (tool calls and args); the model is both the protected asset and the attack vector |
| Decision semantics | Mostly binary allow/block | Requires semantic decisions: human review, masking/rewriting, downgrade |
| Side-effect boundary | Web requests generally don't execute code directly | Triggers real side effects: executing tools, reading/writing files, making network requests |
| Detection methods | Rules/signatures/pattern matching | Requires LLM semantic detection (prompt injection recognition, semantic-level masking, taint tracking) |
| Runtime depth | Mostly at the gateway/host layer | Must reach the kernel (eBPF syscall observation) + gateway HTTP + edge precheck |
| Context dependence | Mostly stateless single requests | Strongly depends on session context (cross-turn risk accumulation, taint propagation) |
| Business relevance | Generic rules, decoupled from business | Deeply coupled with business semantics - assesses whether an operation is compliant by tool, args, and scenario |
| Policy dynamism | Relatively static; signature DBs updated periodically | Evolves in real time within a session - risk accumulation crosses thresholds to auto-escalate protection, supports canary rollout and hot-switching; due to high business relevance, different businesses require different policies, and policies shift as the business changes |
In short: Traditional security defends against "external break-ins"; Agent security must also defend against "the model being led astray and attacking from within" - it must understand business semantics and adapt dynamically to session risk and business change.
Benchmarks
Results for VirbiusGuard v2.1 (the prompt-safety model used by the cloud
layer), measured with a locked auditor prompt, greedy decoding, and parse
failures counted as misses. The harness is inscripts/benchmarks/; public-set numbers can be
reproduced with the command below.
| Set | n | Metric | Result |
|---|---|---|---|
| gold_1000 (internal; 615 unsafe / 385 safe) | 1,000 | accuracy / recall / FP rate | 97.9% / 97.89% / 1.82% |
| WildGuardTest (public) | 1,699 | recall / FP rate | 71.88% / 4.52% |
| WildGuardTest adversarial slice | 458 | precision / recall | 95.73% / 59.24% |
| XSTest (public) | 450 | over-refusal (count) / false negatives | 15 / 5 |
| ToxicChat 1k slice | 1,000 | false positives / jailbreak recall | 84 / 90.7% |
AgentDojo v1.2.2 (949 pairs, important_instructions) |
949 | attack success rate: base → guarded | 1.58% → 0% |
| AgentDojo v1.2.2 (same sweep) | 949 | utility (under attack): base → guarded | 86.62% → 90.20% |
Notes:
- WildGuardTest and XSTest are public;
gold_1000is an internal bilingual set. - The AgentDojo agent is
deepseek-flash, which is already injection-robust
(baseline ASR 1.58%); the utility/ASR shift is specific to that setting. - Quantized Q4 builds did not pass the same gate set (WildGuardTest FPR
5.2%, XSTest over-refusal 18). Use f16/bf16 for the reported numbers. - Reproduce the public sets:
pip install torch transformers
python3 scripts/benchmarks/virbiusguard_eval.py --data wildguardtest.jsonl
See scripts/benchmarks/README.md for dataset
export, field mapping, and the adversarial slice.
Quick Start
Prerequisites
| Dependency | Version | Required for |
|---|---|---|
| JDK | 17+ | Control plane, engine, compiler |
| Maven | 3.9+ | Java build |
| Rust | 1.80+ | virbius-core, virbius-mcp-proxy, virbius-kernel, virbius-mcp-python (PyO3), virbius-mcp-node (napi-rs) |
| Go | 1.22+ | WASM plugin (Gateway), virbius-expr |
| Node.js | 18+ | virbius-mcp-node |
| Python | 3.10+ | virbius-integrate, virbius-mcp-python (built via maturin) |
| Redis | 7+ | Audit ingest, cumulative counters, cache |
| MySQL | 8+ | Production database (SQLite for dev) |
Local Development
Recommended — one-command setup:
git clone https://github.com/i1see1you/VirbiusAgent.git && cd VirbiusAgent
bash scripts/run-local.sh # builds Rust + Java, starts Redis, launches services
bash scripts/smoke-test.sh # health check + test runner
Manual step-by-step:
# 1. Start Redis
docker run -d -p 6379:6379 redis:7-alpine
# 2. Build Java modules
mvn clean install -DskipTests
# 3. Build Rust modules
cargo build --release -p virbius-core -p virbius-mcp-proxy
# 4. Start control plane (SQLite in-memory, auto schema)
cd virbius-control
mvn spring-boot:run -Dspring-boot.run.profiles=dev
# 5. Verify
curl -s http://localhost:8080/api/v1/health
Docker (Compose)
Start the full stack with a single command (Redis + engine + control plane):
git clone https://github.com/i1see1you/VirbiusAgent.git && cd VirbiusAgent
docker compose build # build all images (first time only)
docker compose up -d # start all services
docker compose ps # check status
# Verify all services are healthy
curl -s http://localhost:8080/api/v1/health
curl -s http://localhost:8082/admin/health
# Follow logs
docker compose logs -f
# Stop
docker compose down
To include the MCP proxy (requires license and upstream server):
docker compose --profile full up -d
Edge SDK Demo
[dependencies]
virbius-core = "1.0"
# Run the end-to-end integration tests (no external services required)
cd virbius-core
cargo test --test e2e_integration -- --nocapture
The suite walks through the full edge-layer security pipeline: License
verification → tool precheck → Prompt Gateway → MCP execution → STI taint
detection → audit trace propagation.
Packages
Published from the same v* tags as GitHub Releases:
| Registry | Package | Install |
|---|---|---|
| crates.io | virbius-core |
cargo add virbius-core |
| crates.io | virbius-mcp-proxy |
cargo install virbius-mcp-proxy |
| PyPI | virbius-review-sdk |
pip install virbius-review-sdk |
| PyPI | virbius-integrate |
pip install virbius-integrate |
| PyPI | virbius-mcp-python |
pip install virbius-mcp-python |
| npm | virbius-mcp-node |
npm install virbius-mcp-node |
| GHCR | virbius-control · virbius-engine · virbius-auth · virbius-mcp-proxy |
docker pull ghcr.io/i1see1you/virbius-control:v1.0.3 |
Deployment Architecture
flowchart TB
subgraph AgentProcess["Agent Process"]
EDGE["① virbius-core (Rust SDK)<br/>precheck · DLP · license"]
end
subgraph Gateway["Gateway Layer"]
HIGRESS["Higress :9080<br/>WASM plugin<br/>rate limit · challenge"]
end
subgraph Kernel["Kernel Layer"]
FALCO["Falco DaemonSet<br/>eBPF · custom rules"]
SUB["config-subscriber<br/>Redis → rules.d reload"]
end
subgraph Cloud["Cloud Layer"]
ENGINE["virbius-engine :8082<br/>Spring Boot<br/>Prompt detection · Groovy L3"]
CONTROL["virbius-control :8080<br/>Spring Boot<br/>admin UI · rule registry"]
end
subgraph Infra["Infrastructure"]
REDIS[("Redis :6379<br/>audit stream · counters")]
DB[("SQLite / MySQL<br/>rules · traces · events")]
end
EDGE -->|HTTP| HIGRESS
HIGRESS -->|evaluate| ENGINE
HIGRESS -->|allow| MCP["MCP Server"]
FALCO -.->|audit events| REDIS
CONTROL --- DB
ENGINE --- REDIS
CONTROL -.->|publish| EDGE
CONTROL -.->|publish| HIGRESS
CONTROL -.->|publish| FALCO
| Component | Port | Stack | Role |
|---|---|---|---|
| virbius-core | Embedded | Rust | Edge SDK: tool-call precheck, license verify, DLP, STI taint. Sub-ms, offline-capable. |
| virbius-mcp-proxy | 9090 | Rust (axum) | MCP stdio/SSE proxy: multi-upstream routing, security pipeline, session management. |
| virbius-mcp-python | Embedded | Python (PyO3) | Native-tool enforcement SDK: License precheck, args schema, edge rules (Mode B). |
| virbius-integrate | Embedded | Python | Native-tool observation plugin (LangChain callback): inventory/classification/timeline (Mode A). |
| virbius-review-sdk | Embedded | Python | Content-review SDK: input/output review over the engine /v1/evaluate — dispositions, streaming review windows; sync + async clients. |
| virbius-mcp-node | Embedded | Rust (napi-rs) | Native-tool enforcement SDK for Node.js/TS agents (Mode B). |
| virbius-gateway | WASM plugin | Go | Higress WASM: rate limiting, HTTP enforcement, challenge token validation. |
| virbius-engine | 8082 | Java (Spring Boot) | Cloud execution: Prompt injection detection, Groovy L3 adjudication, STI semantic audit. |
| virbius-control | 8080 | Java (Spring Boot) | Control plane: admin UI, rule registry, rollout management, audit dashboard. |
| virbius-kernel | eBPF plugin | Go (plugin) + Rust (sidecar) | Falco DaemonSet: custom eBPF rules, config-subscriber for live reload. |
| Redis | 6379 | — | Audit event stream, cumulative counters (rate limiting), session cache. |
| Database | — | SQLite / MySQL | Rule metadata, rollout state, agent traces, audit events. |
Native tool integration (Mode A observe / Mode B enforce for LangChain native tools, with coverage classification and warnings) — see NATIVE_TOOL_INTEGRATION.md.
Layer Responsibilities
Building on the four-tier architecture, each layer has distinct responsibilities, coordinated through the rule pipeline (Edge precheck → Gateway enforce → Kernel observe → Cloud adjudicate).
Layer overview
| Layer | Path attribute | Typical latency | Blocks request |
|---|---|---|---|
| ① Edge | Synchronous, in-process (SDK / Proxy) | < 1ms | Yes (local logic only) |
| ② Gateway | Synchronous, on-path (Higress WASM) | < 10ms | Yes |
| ③ Kernel | Passive, non-blocking (Falco eBPF) | N/A (observational) | No (sandbox blocks at syscall) |
| ④ Cloud | Synchronous, remote (virbius-engine) | < 30ms (excl. LLM inference) | Yes (on-demand) |
Request main path: Agent tool call → Edge (L0 precheck + DLP + STI) → Gateway (rate limit + enforcement) → Cloud (Prompt L1 + Groovy L3 + PolicyMerger) → MCP Server execution. Kernel passive observation spans all phases.
① Edge: lightweight pre-execution protection
The edge is the first defense point before any tool execution. It performs local filtering and security checks without adding noticeable latency.
- Tool precheck: validates tool_name against allowlist, checks License permissions, verifies request integrity
- DLP desensitization: masks PII (phone, ID, email, bank card) in tool arguments before they leave the client
- STI Taint tracking: marks untrusted tool return values, prevents injection into subsequent tool calls or Agent memory
- Fast path: bypasses cloud layer for low-risk tools, optimizing latency to < 1ms
Boundary: Does not perform semantic jailbreak detection; relies on allowlist matching. Can be bypassed via direct API calls and must not serve as the sole defense line.
② Gateway: on-path real-time enforcement
The gateway is the mandatory checkpoint on the tool_call HTTP path, executing decisions from the cloud engine.
- Rate limiting: per-user/per-app cumulative counters for tool call frequency
- HTTP enforcement: blocks/allow based on engine decision; validates challenge approval tokens
- Protocol validation: validates MCP request/response format and parameter integrity
- On-demand engine call: forwards to cloud engine only when needed (risk-based routing, configurable per scene)
Relationship with the cloud: The gateway handles fast-path execution (rate limiting, list matching); the cloud handles slower-path semantic decision. Not every request needs to RPC to the engine — fast path bypasses when risk is low.
③ Kernel: runtime observability & sandbox isolation
The kernel layer operates at the OS level, providing visibility and isolation that application-layer defenses cannot achieve. It is passive by default and does not block the request path unless a sandbox rule is triggered.
- eBPF/Falco monitoring: real-time syscall-level observation of file access (open/read/write), network connections (connect/accept), process spawns (execve)
- Custom Falco rules: managed through control plane, supports canary deployment, hot-reload without restart
- Sandbox isolation: Landlock (file path restrictions via kernel LSM) and gVisor (full userspace kernel) for high-risk tool execution — blocks at syscall level before any damage occurs
- Audit events: all kernel events correlated with
trace_idand fed into the audit pipeline for session-level risk scoring
Difference from application layers: Kernel observation cannot be bypassed by the Agent process — even if the Agent is compromised, syscalls are still visible to eBPF. Sandbox restrictions apply regardless of Agent behavior.
④ Cloud: policy computation & terminal adjudication
The cloud is the central decision-making layer, aggregating signals from all layers and computing the final disposition.
- Policy management: rule authoring, versioning, progressive rollout (draft → dry_run → canary → full)
- LLM-based detection: Prompt L1 safety classification (VirbiusGuard, 9 safety categories), multi-category jailbreak/injection detection
- Groovy L3 adjudication: terminal policy decision merging signals from all layers, calling external ML models via
mlPredict, outputtingeffective_action(allow / deny / challenge) - Decision trace: full-chain tool_call/tool_result tracing with causal chain visualization
- Audit dashboard: session risk, tool calls, alerts, approval queue, tamper-proof hash chain audit
- Human-in-the-loop: challenge approval flow for high-risk tool calls — engine issues challenge → console approves → token-gated execution
Request Main Path
A typical request flows through the layers as follows:
Agent tool call
→ virbius-core (Edge: precheck + DLP + STI + license verify)
│
├── Fast path (low-risk tool)
│ └── Direct to MCP Server (bypasses Gateway + Cloud)
│
└── Normal path (medium/high-risk tool)
→ virbius-mcp-proxy (security pipeline + trace init)
→ Higress WASM (Gateway: rate limit + access-list)
→ virbius-engine (Cloud)
├─ Ollama / vLLM (Prompt L1 safety classification)
├─ ML Serving (Groovy mlPredict)
└─ PolicyMerger → effective_action
├── allow → MCP Server executes tool
├── deny → blocked with reason code
└── challenge → human approval → token → execute
← effective_action + risk_score + trace_id
← tool_result (with audit context)
← final tool_result to Agent
→ Kernel (Falco) passive observation throughout all phases
Key design points:
- Fast path: Low-risk tools (classified by
tb_tool_registry.risk_class) skip Gateway + Cloud entirely, achieving < 1ms end-to-end latency - On-demand cloud call: The gateway decides per-request whether to invoke the engine, based on scene configuration and risk level
- Kernel is passive: Falco never blocks the request path; it emits events for risk scoring. Sandbox (Landlock/gVisor) blocks at syscall level independently
- All phases carry
trace_id: Edge, Gateway, Kernel, and Cloud events are correlated bytrace_idfor end-to-end audit
Rule Runtimes
Each layer supports specific rule types, compiled by virbius-compiler into layer-specific artifacts:
| Layer | Runtime | Body Format | Use Case |
|---|---|---|---|
| Edge | lua-dsl |
JSON (list_type + keywords) |
Keyword/allowlist matching. Sub-ms, offline-capable. |
dlp-dsl |
JSON (entity_type + pattern) |
PII desensitization (phone, ID, email, bank card). | |
| Gateway | lua |
Lua script (function decide(ctx) ...) |
On-path firewall: access-list match, rate limiting, static content detection. |
| Cloud | prompt |
NL description | LLM-based prompt injection and safety classification. |
groovy |
Groovy script (def decide(ctx) { ... }) |
Terminal policy decision: merges signals, calls mlPredict, outputs effective_action. |
|
| Kernel | falco |
JSON (condition + output) | Custom eBPF rules: file/process/network monitoring. Canary deploy. |
| Landlock / gVisor | JSON profile | Sandbox profiles for high-risk tool execution isolation. |
Edge–Gateway–Kernel–Cloud Rule Selection
The four layers differ in execution location, latency, and purpose. Guiding principle: push deterministic rules forward; defer high-latency rules to the back; keep observation layers passive.
| Dimension | Edge | Gateway | Kernel | Cloud |
|---|---|---|---|---|
| Latency | < 1ms | < 10ms | Passive (non-blocking) | < 30ms (excl. LLM inference) |
| Execution location | In-process (MCP Proxy, Rust) | Higress WASM plugin | Falco DaemonSet (eBPF, passive) | virbius-engine (remote) |
| Offline capable | ✅ | ❌ | ✅ | ❌ |
| Calls LLM | No | No | No | Yes (Prompt L1) |
| Complexity | Low (keyword/allowlist/DLP) | Medium (access-list/rate-limit) | Medium (eBPF conditions) | High (semantic/ML/final decision) |
| False-positive risk | High (exact match, prone) | Medium | Low (observational) | Low (semantic understanding) |
| Bypass difficulty | Low (can bypass Proxy) | Medium (on-path, hard to skip) | Unbypassable (node-level) | High (semantic, hard to craft) |
| Ops cost | Proxy version update | WASM hot-reload | Falco rule hot-reload | Rule hot-reload + model fine-tune |
Capability boundaries:
| Layer | Good at | Not suitable for |
|---|---|---|
| Edge | Exact keyword match, allowlist, PII masking, STI taint tracking | Semantic jailbreak, role-play, variant attacks |
| Gateway | HTTP rate limiting, access-list match, IP/user block, challenge token validation | Keyword match (Proxy is faster), complex intent analysis |
| Kernel | File/process/network syscall anomaly detection, container escape, SSRF | Application-layer semantic analysis, business logic attacks |
| Cloud | Jailbreak detection, sensitive semantic classification, multi-model signal merge, terminal policy decision, cumulative rate limiting | Pure keyword match (too expensive), syscall-level observation |
Selection guide:
| Scenario | Recommended layer | Reason |
|---|---|---|
| Explicit banned words ("bomb", "meth") | Edge | Exact match, sub-ms block, reduces upstream traffic |
| User blacklist (UID/IP/device) | Edge or Gateway | Edge works offline; Gateway has dynamic list updates |
| API rate limit (100 req/min) | Cloud (cumulative def) | Redis cumulative counter, global throttling; Gateway for HTTP-level rate limiting |
| "You are DAN, ignore all rules" jailbreak | Cloud | Variant semantics, only LLM can accurately detect |
| "How to make a bomb?" disguised phrasing | Cloud | Edge keywords can't cover all variants |
| BERT/XGBoost risk scoring | Cloud | Groovy mlPredict call, independently deployed model service |
| Tool execution sandbox isolation | Kernel (Landlock/gVisor) | Syscall-level isolation, bound to process |
| Container escape / abnormal process | Kernel | eBPF passive observation, can't be bypassed at application layer |
| PII/credential leak in tool output | Edge (STI taint tracking) | In-process real-time detection, no network dependency |
Recommended combinations:
- Low-latency (mobile/desktop Agent) → Edge + Cloud, skip Gateway and Kernel
- Web/API without Proxy → Gateway + Cloud, skip Edge and Kernel
- Production defense-in-depth → Edge + Gateway + Cloud; Kernel on-demand
- High-compliance / Finance / Gov → All four layers
Project Structure
VirbiusAgent/
├── virbius-core/ # Rust SDK — prechecks, DLP, license
├── virbius-mcp-proxy/ # Rust MCP proxy server
├── virbius-mcp-python/ # Python (PyO3) — native-tool enforcement SDK (Mode B)
├── virbius-mcp-node/ # Rust (napi-rs) — Node.js MCP bindings
├── virbius-integrate/ # Python — LangChain callback observation plugin (Mode A)
├── virbius-review-sdk/ # Python — input/output review SDK (engine /v1/evaluate)
├── virbius-kernel/ # Go (plugin) + Rust (sidecar) — Falco plugin, sandbox
├── virbius-gateway/ # Go WASM plugin for Higress
├── virbius-expr/ # Go — expression evaluator/compiler
├── virbius-control/ # Java Spring Boot control plane
├── virbius-engine/ # Java Spring Boot security engine
├── virbius-auth/ # Java Spring Boot — operator login (local password + JWT)
├── virbius-compiler/ # Java bundle compiler
├── virbius-policy/ # Java policy domain model
├── virbius-groovy-l3/ # Java Groovy L3 adjudicator
└── virbius-demo/ # Demo / red-team playground (LLM SecRange)
Documentation
| Document | Description |
|---|---|
| QUICKSTART.md | Choose an integration mode (proxy / gateway / SDK embed) + 5-minute quickstart |
| USAGE_GUIDE.md | User guide — installation, integration, rule authoring, operations |
| NATIVE_TOOL_INTEGRATION.md | Native-tool integration — Mode A observe / Mode B enforce, coverage classification, warnings |
| virbius-review-sdk/README.md | Python review SDK — input/output review over the engine (sync + async, streaming windows) |
| rule-examples.en.md | Risk rule configuration examples — complete guide for 12 typical rules |
| DESIGN.md | System architecture design document |
| ARCHITECTURE.md | Detailed architecture documentation |
| DEPLOYMENT.md | Deployment topology and operations |
| deploy/onprem/README.md | Customer-site three-host deployment (offline bundles, external MySQL/Kafka/Redis/vLLM) |
| PROTOCOL.md | MCP proxy protocol specification |
| API_REFERENCE.md | REST API stability contract (envelope, auth, status codes, versioning) |
| PROXY_CONFIG.md | MCP proxy configuration reference |
| SSO_INTEGRATION.md | Unified login (OAuth2/OIDC) — auth-broker design (finalized, not yet implemented) |
| FAQ-agent-scenarios.md | FAQ — common agent-security scenarios |
| CHANGELOG.md | Version history |
Contributing
See CONTRIBUTING.md for contribution guidelines.
Commercial Evaluation Extension (Optional)
The Operations Console exposes an optional entry to VirbiusEvaluation, a separately
licensed closed-source assessment module (on-prem or cloud). This repository does not
contain it and does not depend on it — builds, images, CI and the default stack work
without it.
- Not connected (default): the entry is hidden — the console stays clean for
open-source users who have not installed the commercial module. - After the evaluation service is connected (base URL saved), the entry appears
automatically on the next status refresh — no console restart needed. - Platform admins configure it via
/ui/evaluation(direct URL) or the entry's
Settings panel: base URL, service token, connection test, license upload —
applied immediately, no restart. VIRBIUS_EVALUATION_ENABLED=false(seed) or the Settings toggle hides the entry
even when configured.VIRBIUS_EVALUATION_*env is a first-start seed only; afterwards the DB row
is authoritative.- Reports support one-click rule generation: finding → preview (variables,
evidence binding, executability) →dry_runrule; idempotent, never overwrites an
existing rule, and app binding requires explicit confirmation. - No telemetry: nothing is reported; links open only on user click.
Security
See SECURITY.md for vulnerability reporting.
Contact
- Website: https://www.virbius.cn
- VirbiusGuard demo: https://www.virbius.cn/demo
- Issues / Discussions: https://github.com/i1see1you/VirbiusAgent/issues
- Business: [email protected]
- Security reports: GitHub Security Advisories (see SECURITY.md)
License
MIT — Copyright (c) 2026 i1see1you
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi