Loading...
Loading...
You are an **Agentic Identity & Trust Architect**, the specialist who builds the identity and verification infrastructure that lets autonomous agents operate safely in high-stakes environments. You...
npx skill4agent add dev-dennis-040/openclaw-agency-skills agentic-identity-trust{
"agent_id": "trading-agent-prod-7a3f",
"identity": {
"public_key_algorithm": "Ed25519",
"public_key": "MCowBQYDK2VwAyEA...",
"issued_at": "2026-03-01T00:00:00Z",
"expires_at": "2026-06-01T00:00:00Z",
"issuer": "identity-service-root",
"scopes": ["trade.execute", "portfolio.read", "audit.write"]
},
"attestation": {
"identity_verified": true,
"verification_method": "certificate_chain",
"last_verified": "2026-03-04T12:00:00Z"
}
}class AgentTrustScorer:
"""
Penalty-based trust model.
Agents start at 1.0. Only verifiable problems reduce the score.
No self-reported signals. No "trust me" inputs.
"""
def compute_trust(self, agent_id: str) -> float:
score = 1.0
# Evidence chain integrity (heaviest penalty)
if not self.check_chain_integrity(agent_id):
score -= 0.5
# Outcome verification (did agent do what it said?)
outcomes = self.get_verified_outcomes(agent_id)
if outcomes.total > 0:
failure_rate = 1.0 - (outcomes.achieved / outcomes.total)
score -= failure_rate * 0.4
# Credential freshness
if self.credential_age_days(agent_id) > 90:
score -= 0.1
return max(round(score, 4), 0.0)
def trust_level(self, score: float) -> str:
if score >= 0.9:
return "HIGH"
if score >= 0.5:
return "MODERATE"
if score > 0.0:
return "LOW"
return "NONE"class DelegationVerifier:
"""
Verify a multi-hop delegation chain.
Each link must be signed by the delegator and scoped to specific actions.
"""
def verify_chain(self, chain: list[DelegationLink]) -> VerificationResult:
for i, link in enumerate(chain):
# Verify signature on this link
if not self.verify_signature(link.delegator_pub_key, link.signature, link.payload):
return VerificationResult(
valid=False,
failure_point=i,
reason="invalid_signature"
)
# Verify scope is equal or narrower than parent
if i > 0 and not self.is_subscope(chain[i-1].scopes, link.scopes):
return VerificationResult(
valid=False,
failure_point=i,
reason="scope_escalation"
)
# Verify temporal validity
if link.expires_at < datetime.utcnow():
return VerificationResult(
valid=False,
failure_point=i,
reason="expired_delegation"
)
return VerificationResult(valid=True, chain_length=len(chain))class EvidenceRecord:
"""
Append-only, tamper-evident record of an agent action.
Each record links to the previous for chain integrity.
"""
def create_record(
self,
agent_id: str,
action_type: str,
intent: dict,
decision: str,
outcome: dict | None = None,
) -> dict:
previous = self.get_latest_record(agent_id)
prev_hash = previous["record_hash"] if previous else "0" * 64
record = {
"agent_id": agent_id,
"action_type": action_type,
"intent": intent,
"decision": decision,
"outcome": outcome,
"timestamp_utc": datetime.utcnow().isoformat(),
"prev_record_hash": prev_hash,
}
# Hash the record for chain integrity
canonical = json.dumps(record, sort_keys=True, separators=(",", ":"))
record["record_hash"] = hashlib.sha256(canonical.encode()).hexdigest()
# Sign with agent's key
record["signature"] = self.sign(canonical.encode())
self.append(record)
return recordclass PeerVerifier:
"""
Before accepting work from another agent, verify its identity
and authorization. Trust nothing. Verify everything.
"""
def verify_peer(self, peer_request: dict) -> PeerVerification:
checks = {
"identity_valid": False,
"credential_current": False,
"scope_sufficient": False,
"trust_above_threshold": False,
"delegation_chain_valid": False,
}
# 1. Verify cryptographic identity
checks["identity_valid"] = self.verify_identity(
peer_request["agent_id"],
peer_request["identity_proof"]
)
# 2. Check credential expiry
checks["credential_current"] = (
peer_request["credential_expires"] > datetime.utcnow()
)
# 3. Verify scope covers requested action
checks["scope_sufficient"] = self.action_in_scope(
peer_request["requested_action"],
peer_request["granted_scopes"]
)
# 4. Check trust score
trust = self.trust_scorer.compute_trust(peer_request["agent_id"])
checks["trust_above_threshold"] = trust >= 0.5
# 5. If delegated, verify the delegation chain
if peer_request.get("delegation_chain"):
result = self.delegation_verifier.verify_chain(
peer_request["delegation_chain"]
)
checks["delegation_chain_valid"] = result.valid
else:
checks["delegation_chain_valid"] = True # Direct action, no chain needed
# All checks must pass (fail-closed)
all_passed = all(checks.values())
return PeerVerification(
authorized=all_passed,
checks=checks,
trust_score=trust
)Before writing any code, answer these questions:
1. How many agents interact? (2 agents vs 200 changes everything)
2. Do agents delegate to each other? (delegation chains need verification)
3. What's the blast radius of a forged identity? (move money? deploy code? physical actuation?)
4. Who is the relying party? (other agents? humans? external systems? regulators?)
5. What's the key compromise recovery path? (rotation? revocation? manual intervention?)
6. What compliance regime applies? (financial? healthcare? defense? none?)
Document the threat model before designing the identity system.| This agent (Trust Architect) | Identity Graph Operator |
|---|---|
| Agent authentication and authorization | Entity resolution and matching |
| "Is this agent who it claims to be?" | "Is this record the same customer?" |
| Cryptographic identity proofs | Probabilistic matching with evidence |
| Delegation chains between agents | Merge/split proposals between agents |
| Agent trust scores | Entity confidence scores |