Install
openclaw skills install agentshield-auditTrust Infrastructure for AI Agents - Like SSL/TLS for agent-to-agent communication. 77 security tests, cryptographic certificates, and Trust Handshake Protocol for establishing secure channels between agents. Explicit whitelist sanitization + dry-run mode for transparency.
openclaw skills install agentshield-auditThe trust layer for the agent economy. Like SSL/TLS, but for AI agents.
🔐 Cryptographic Identity - Ed25519 signing keys
🤝 Trust Handshake Protocol - Mutual verification before communication
📋 Public Trust Registry - Reputation scores & track records
✅ 77 Security Tests - Comprehensive vulnerability assessment
🔒 Privacy Disclosure: See PRIVACY.md for detailed data handling information.
Agents need to communicate with other agents (API calls, data sharing, task delegation). But how do you know if another agent is trustworthy?
Without a trust layer, agent-to-agent communication is like HTTP without SSL - unsafe and unverifiable.
AgentShield provides the trust layer for agent-to-agent communication:
52 Live Attack Vectors: Tests defense against instruction manipulation, encoding schemes, and social engineering across 6 languages. All attack patterns are stored locally in agentshield_attack_patterns.json (not embedded in documentation).
25 Static Security Checks:
Result: Security score (0-100) + Tier (VULNERABLE → HARDENED)
Privacy: Tests run 100% locally - only pass/fail scores sent to API (no prompts/responses)
Agent A wants to communicate with Agent B:
# Step 1: Both agents get certified
python3 initiate_audit.py --auto
# Step 2: Agent A initiates handshake with Agent B
python3 handshake.py --target agent_B_id
# Step 3: Both agents sign challenges
# (Automatic in v1.0.13+)
# Step 4: Receive shared session key
# → Now you can communicate securely!
What you get:
clawhub install agentshield
# Install Python dependencies (required!)
pip3 install -r requirements.txt
cd ~/.openclaw/workspace/skills/agentshield*/
# RECOMMENDED: Dry-run first (see what would be submitted)
python3 initiate_audit.py --auto --dry-run
# After verifying payload: Run for real
python3 initiate_audit.py --auto
# Or manual (no file reads):
python3 initiate_audit.py --name "MyAgent" --platform telegram
Output:
agent_xxxxxpython3 verify_peer.py agent_yyyyy
# Initiate handshake
python3 handshake.py --target agent_yyyyy
# Result: Shared session key for encrypted communication
Before: Agent A calls Agent B's API - no way to verify B's integrity
With AgentShield: Agent A checks Agent B's certificate + handshake → Verified communication
Before: Orchestrator spawns sub-agents - can't verify they're safe
With AgentShield: All sub-agents certified → Orchestrator knows they're trusted
Before: Download random agents from the internet - no trust guarantees
With AgentShield: Browse Trust Registry → Only hire VERIFIED agents
Before: Share sensitive data with another agent - hope it doesn't leak
With AgentShield: Handshake → Encrypted session key → Secure data transfer
✅ All 77 tests run locally - Your system prompts NEVER leave your device
✅ Private keys stay local - Only public keys transmitted
✅ Human-in-the-Loop - Explicit consent before reading IDENTITY.md/SOUL.md
✅ No environment scanning - Doesn't scan for API tokens
What goes to the server:
What stays local:
AGENTSHIELD_API=https://agentshield.live # API endpoint
AGENT_NAME=MyAgent # Override auto-detection
OPENCLAW_AGENT_NAME=MyAgent # OpenClaw standard
{
"agent_id": "agent_xxxxx",
"public_key": "...",
"security_score": 85,
"tier": "PATTERNS_CLEAN",
"issued_at": "2026-03-10",
"expires_at": "2026-06-08"
}
agentshield.live/verify/agent_xxxxx{
"handshake_id": "hs_xxxxx",
"requester": "agent_A",
"target": "agent_B",
"status": "completed",
"session_key": "...",
"completed_at": "2026-03-10T20:00:00Z"
}
| Script | Purpose |
|---|---|
initiate_audit.py | Run 77 security tests & get certified |
handshake.py | Trust handshake with another agent |
verify_peer.py | Check another agent's certificate |
show_certificate.py | Display your certificate |
agentshield_tester.py | Standalone test suite (advanced) |
Base URL: https://agentshield.live/api
POST /agent-audit/initiate
→ Initiate audit session
→ Input: {agent_name, platform, public_key}
→ Output: {audit_id, challenge}
POST /agent-audit/challenge
→ Complete challenge-response authentication
→ Input: {audit_id, challenge_response (signed)}
→ Output: {authenticated: true}
POST /agent-audit/complete
→ Submit test results & receive certificate
→ Input: {audit_id, test_results}
→ Output: {certificate, agent_id, expires_at}
GET /certificate/verify/{agent_id}
→ Verify another agent's certificate
→ Output: {valid, score, tier, issued_at, expires_at}
GET /api/public-key
→ Get AgentShield's public signing key
→ Output: {public_key (Ed25519, base64)}
POST /handshake/initiate
→ Start Trust Handshake with another agent
→ Input: {requester_id, target_id}
→ Output: {handshake_id, challenges}
POST /handshake/complete
→ Complete handshake with signed challenges
→ Input: {handshake_id, signatures}
→ Output: {session_key, trust_boost}
All endpoints require HTTPS. No API keys needed.
Current (v1.0.31):
Coming Soon:
AgentShield is SSL/TLS for AI agents.
Get certified → Verify others → Establish trust handshakes → Communicate securely.
# 1. Get certified
python3 initiate_audit.py --auto
# 2. Handshake with another agent
python3 handshake.py --target agent_xxxxx
# 3. Verify others
python3 verify_peer.py agent_yyyyy
Building the trust layer for the agent economy. 🛡️
✅ EXPLICIT WHITELIST (What Gets Sent):
❌ NEVER SENT (Explicitly Excluded):
🔍 Code-Level Enforcement:
audit_client.py line 108: _sanitize_test_details() whitelist--dry-run flag shows exact payload before submissionVerification:
# See what WOULD be submitted (no API call)
python3 initiate_audit.py --auto --dry-run
All code is open-source: github.com/bartelmost/agentshield
During Audit Submission:
{
"agent_name": "YourAgent",
"platform": "telegram",
"public_key": "base64_encoded_ed25519_public_key",
"test_results": {
"score": 85,
"tests_passed": 74,
"tests_total": 77,
"tier": "PATTERNS_CLEAN",
"failed_tests": ["test_name_1", "test_name_2"]
}
}
What is NOT sent:
~/.agentshield/agent.key)API Endpoint:
https://agentshield.live/api (proxies to Heroku backend)File Read Consent (v1.0.30+):
⚠️ Automation Mode (--yes flag) - v1.0.31+:
The --yes flag is designed for CI/CD and pre-audited environments ONLY.
When to use:
When NOT to use:
Why? The --yes flag bypasses ALL consent prompts. While the code includes explicit sanitization (see audit_client.py line 108+), we recommend:
--dry-run first to inspect payload--yes for automationBest Practice:
# Step 1: Dry-run to see payload
python3 initiate_audit.py --auto --dry-run
# Step 2: Review output, verify sanitization
# (Should only show test IDs + pass/fail, no payloads)
# Step 3: If satisfied, run for real
python3 initiate_audit.py --auto
# Step 4: For CI/CD, add --yes ONLY after manual verification
python3 initiate_audit.py --auto --yes
Privacy-First Mode:
export AGENTSHIELD_NO_AUTO_DETECT=1
python initiate_audit.py --name "MyBot" --platform "telegram"
→ Zero file reads, manual input only
See PRIVACY.md for complete data handling documentation.