Skip to main content

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μs P50 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 verification
  • Command: Standard command representation per CCS spec
  • VerificationResult: Result with signed audit receipt
  • Rule: Pluggable rule interface (SSRF, RCE, credential, etc.)

Academic References

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ccs_verifier-0.1.0.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ccs_verifier-0.1.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

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

Hashes for ccs_verifier-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2c7a2e5d0fad8a6c6d042c8fde7fa5ccc26ed3f4393f6b38c0a90319f3829e65
MD5 7d2906cef7214f0f7efbd6ef83343d46
BLAKE2b-256 c88cae22866070357c972a59a3a6acd32370df1703e29fb489f7d45368cb945c

See more details on using hashes here.

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

Hashes for ccs_verifier-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aacae2fc341c3cf0ea676ada83a63795b3b5278ee7c4cb5b0f7484f8e8339973
MD5 ddc9d4bdfa11f4d142c11cc2f67543b4
BLAKE2b-256 290c659589559dbffdf961d752d18a509998d9431b8a0705fa8796e205053a3c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page