Skip to content

Add OATR + AgentID security integration#351

Open
FransDevelopment wants to merge 1 commit intocrewAIInc:mainfrom
FransDevelopment:integration/oatr-agentid-security
Open

Add OATR + AgentID security integration#351
FransDevelopment wants to merge 1 commit intocrewAIInc:mainfrom
FransDevelopment:integration/oatr-agentid-security

Conversation

@FransDevelopment
Copy link
Copy Markdown

Summary

Three-layer security gate for CrewAI using open trust standards, built as a collaboration between the Open Agent Trust Registry and AgentID.

Layer 1 (OATR): Verifies the runtime is registered and non-revoked in the Open Agent Trust Registry.
Layer 2 (AgentID): Verifies the specific agent's identity via AgentID certificates.
Layer 3 (Combined): Pre-kickoff callback that gates crew execution on both checks.

Includes auto-registration flow, append-only JSONL audit trail, and 8 tests.

Discussed in crewAIInc/crewAI#5019. Both authors are members of the Agent Identity Working Group (3 ratified specs, 6 independent implementations).

Files

  • security_gate.py - three-layer verification module
  • agentid_registration.py - auto-register agents on first run with local cache
  • audit_trail.py - append-only JSONL audit log per tool call
  • main.py - working CrewAI example
  • test_security_gate.py - 8 tests
  • pyproject.toml - UV-compatible dependencies (crewai>=0.152.0)
  • .env.example - environment variable template

How it works

Uses CrewAI's built-in before_kickoff_callbacks hook. The security gate runs before any task executes:

  1. Checks runtime attestation against the OATR signed manifest (Ed25519 JWT verification)
  2. Checks agent identity via AgentID (ECDSA P-256 certificate verification)
  3. If either check fails, the crew does not start

Both checks are optional and composable. A crew can use OATR only, AgentID only, or both.

Three-layer security gate for CrewAI using open trust standards:
- Layer 1: OATR runtime attestation verification
- Layer 2: AgentID per-agent identity verification
- Layer 3: Combined pre-kickoff callback

Co-authored with @haroldmalikfrimpong-ops (AgentID).
Discussed in crewAIInc/crewAI#5019.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant