CCS Runtime Verifier — Reference Implementation
Project description
CCS Runtime Verifier — Reference Implementation
This is the public reference implementation of the CCS (Command Control Standard) runtime verification layer.
What is CCS?
CCS defines a standard protocol for out-of-process runtime verification of AI agent commands. Unlike in-process filters that share the process space they police, CCS enforces a strict process boundary between the agent and its verifier — providing a stronger trust boundary for security-critical deployments.
Architecture
┌─────────────────┐ ┌──────────────────────┐
│ Agent (MCP) │◄─────►│ CCS Verifier (OOB) │
│ │ gRPC │ │
│ - LLM calls │ │ - Rule evaluation │
│ - Tool invokes │ │ - Threat detection │
│ - Data flows │ │ - Audit logging │
└─────────────────┘ └──────────────────────┘
In-process Out-of-process
Why Out-of-Process?
In-process filters (e.g., asyncio-based middleware) have known limitations:
- Shared trust boundary: A compromised agent process compromises the filter
- Concurrency race conditions:
asyncio.gather()can bypass sequential checks - No crash isolation: Agent crash = verifier crash = no audit trail
CCS solves these by running the verifier in a separate process with:
- Independent lifecycle and crash isolation
~5-10μsP50 verification latency (benchmark on commodity hardware)- Formal audit trail via signed receipts
Quick Start
from ccs_verifier import VerifierClient, Command
# Connect to verifier (out-of-process)
verifier = VerifierClient(host="localhost", port=50051)
# Verify a command before execution
cmd = Command(
agent_id="agent-001",
tool="shell_exec",
params={"command": "rm -rf /tmp/data"},
)
result = await verifier.verify(cmd)
if result.allowed:
# Execute safely
await execute(cmd)
else:
# Blocked: reason logged with signed receipt
log(result.block_reason)
Key Interfaces
VerifierClient: gRPC client for out-of-process verificationCommand: Standard command representation per CCS specVerificationResult: Result with signed audit receiptRule: Pluggable rule interface (SSRF, RCE, credential, etc.)
Academic References
- CCS Standard v1.0: DOI:10.5281/zenodo.21234580
- CCS Formal Framework: DOI:10.5281/zenodo.21271910
- CCS Runtime Verification Protocol: DOI:10.5281/zenodo.21542370
- MCP Security Whitepaper: DOI:10.5281/zenodo.21405206
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ccs_verifier-0.1.0.tar.gz.
File metadata
- Download URL: ccs_verifier-0.1.0.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c7a2e5d0fad8a6c6d042c8fde7fa5ccc26ed3f4393f6b38c0a90319f3829e65
|
|
| MD5 |
7d2906cef7214f0f7efbd6ef83343d46
|
|
| BLAKE2b-256 |
c88cae22866070357c972a59a3a6acd32370df1703e29fb489f7d45368cb945c
|
File details
Details for the file ccs_verifier-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ccs_verifier-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aacae2fc341c3cf0ea676ada83a63795b3b5278ee7c4cb5b0f7484f8e8339973
|
|
| MD5 |
ddc9d4bdfa11f4d142c11cc2f67543b4
|
|
| BLAKE2b-256 |
290c659589559dbffdf961d752d18a509998d9431b8a0705fa8796e205053a3c
|