Please do not report security vulnerabilities through public GitHub issues.
Arbitus is a security-focused project. We take all security issues seriously and appreciate responsible disclosure.
Report security vulnerabilities via one of these methods:
-
GitHub Security Advisories (Preferred)
- Navigate to github.com/arbitusgateway/arbitus/security/advisories
- Click "Report a vulnerability"
- Provide detailed description of the vulnerability
-
Email (Once configured)
- Send to: security@arbitusgateway.dev
- Include: "SECURITY: Arbitus Vulnerability" in subject line
- Provide: Affected version, reproduction steps, potential impact
Please provide the following information:
- Description of the vulnerability
- Steps to reproduce the issue
- Affected versions (if known)
- Potential impact and attack scenario
- Proof of concept (if available)
- Suggested fix (if you have one)
| Stage | Target Timeframe |
|---|---|
| Acknowledgment | Within 24 hours |
| Triage | Within 3 business days |
| Initial Assessment | Within 5 business days |
| Fix Development | Depends on severity |
| CVE Assignment | If applicable, upon confirmation |
| Advisory Publication | After fix is released |
| Severity | Target Fix Time |
|---|---|
| Critical (CVSS 9.0-10.0) | 1-3 days |
| High (CVSS 7.0-8.9) | 1 week |
| Medium (CVSS 4.0-6.9) | 2 weeks |
| Low (CVSS 0.1-3.9) | Next release |
- Acknowledgment: We confirm receipt within 24 hours
- Triage: We assess severity and assign a CVE if applicable
- Development: We develop a fix privately
- Review: Security team reviews the fix
- Release: We release the fix and publish an advisory
- Disclosure: We credit the reporter (if desired) in the advisory
Security updates are provided for the following versions:
| Version | Supported | Notes |
|---|---|---|
| 1.x | ✅ | Active development |
| < 1.0 | Best-effort only |
We recommend always running the latest stable release.
Arbitus includes the following security features:
- Per-agent policies: API keys, JWT/OIDC, mTLS
- Tool allowlists/denylists: Wildcard patterns supported
- Resource access control:
allowed_resources/denied_resources - Prompt access control:
allowed_prompts/denied_prompts - OPA/Rego policies: Custom policy evaluation
- Payload filtering: Block or redact sensitive patterns
- Encoding-aware: Base64, URL-encoded, Unicode variants
- Schema validation: Validate against
inputSchema - Prompt injection detection: Built-in heuristics
- Per-agent limits: Sliding window enforcement
- Per-tool limits: Tool-specific rate limits
- IP-based limits: Infrastructure-level protection
- Immutable audit log: SQLite with hash-chain integrity
- Fan-out: Multiple backends simultaneously
- CloudEvents 1.0: SIEM-compatible format
- OpenLineage: Lineage tracking
- Binary verification: SHA-256 hash pinning
- Cosign verification: Sigstore bundle verification
- Approval workflow: Sensitive operations require human approval
- Shadow mode: Dry-run risky operations
- HTTP transport: Use TLS in production
- mTLS available: For agent authentication
- Stdio transport: Runs locally; less exposure
- Secrets management: Use
${VAR}interpolation or Vault/OpenBao - Hot reload: Changes apply without restart; protect config files
- Admin endpoints: Require
Authorization: Bearer <admin_token>
- Circuit breaker: Protects against upstream failures
- Timeout enforcement: Prevents indefinite hangs
- Response filtering: Blocks sensitive patterns in upstream responses
We recognize security researchers who responsibly disclose vulnerabilities.
(None yet - be the first!)
- Security Issues: See reporting instructions above
- General Questions: Open a GitHub Discussion
- Maintainer Contact: See MAINTAINERS.md
Thank you for helping keep Arbitus and its users secure!