{"slug": "anatomia-de-un-pipeline-de-verificacion-de-12-etapas-para-credenciales-de-ia", "title": "Anatomía de un pipeline de verificación de 12 etapas para credenciales de agentes IA", "summary": "An engineer at Alice Labs has built the Universal Trust Adapter (UTA), a 12-stage pipeline for verifying AI agent credentials. The pipeline, implemented in TypeScript and published as @marketnow/trust-core, parses, validates, and cryptographically verifies credentials across eight formats, addressing issues like expired credentials, key binding, and provenance. Each stage exposes its result for observability, and the system outputs a verdict of PERMIT, DENY, or UNDETERMINED.", "body_md": "Cuando empecé a diseñar el **Universal Trust Adapter (UTA)**, pensé: \"verificar una credencial es verificar la firma criptográfica y punto.\" Error.\n\nUna credencial puede tener la firma criptográfica correcta y aún así ser:\n\nCada uno de estos casos requiere una etapa de verificación separada. De ahí el pipeline de **12 etapas**:\n\n```\nPARSER → DETECT → SCHEMA → CRYPTO → ISSUER → KEY_BINDING\n       → POP → PROVENANCE → LIFECYCLE → EVIDENCE → POLICY → DECISION\n```\n\nRecibe bytes crudos (JSON, CBOR, PEM, DER) y los convierte a un formato interno. Si los bytes no parsean, fail.\n\nIdentifica el formato de la credencial: ¿es JWT? ¿W3C VC? ¿ATC v3? ¿MCP Card? UTA soporta 8 formatos.\n\nValida que la credencial tenga los campos obligatorios del formato detectado. Un JWT sin `alg`\n\nfalla aquí.\n\nVerifica la firma criptográfica. Si la firma no cuadra con la clave pública del issuer, fail.\n\nResuelve la identidad del issuer. ¿Es una CA conocida? ¿Es un issuer en una lista de confianza? ¿Es desconocido?\n\nVerifica que la clave usada para firmar la credencial esté vinculada al issuer declarado. Previene suplantación.\n\nVerifica que quien presenta la credencial realmente posee la clave privada vinculada. Esto previene el robo de credenciales.\n\nTraza el origen de la credencial. ¿Viene del issuer directo? ¿De un cache? ¿De un tercero? Esto afecta la confianza.\n\nVerifica vigencia: `not_before`\n\n, `expires_at`\n\n, `revocation_status`\n\n. Una credencial expirada falla aquí.\n\nRecopila evidencia criptográfica (logs, timestamps, receipts) que justifica la decisión. Útil para auditoría.\n\nAplica políticas específicas del sistema: \"solo issuers en esta lista\", \"solo scopes que empiecen con `read:`\n\n\", etc.\n\nCombina los resultados de las 11 etapas anteriores y emite un veredicto: `PERMIT`\n\n, `DENY`\n\n, o `UNDETERMINED`\n\n.\n\nSi todo fuera una función `verify(card)`\n\n, no podrías:\n\nSeparar las etapas te da observabilidad y flexibilidad.\n\nEl pipeline está implementado en TypeScript y publicado como `@marketnow/trust-core`\n\n:\n\n``` js\nimport { verify, getStageResult } from '@marketnow/trust-core';\n\nconst result = await verify(card);\nconsole.log(result.decision);           // 'PERMIT' | 'DENY' | 'UNDETERMINED'\nconsole.log(result.failed_stage);        // 'LIFECYCLE' si expiró\nconsole.log(getStageResult('CRYPTO'));   // detalle de la verificación criptográfica\n```\n\nCada etapa expone su resultado individual para que puedas inspeccionar.\n\nLa verificación de credenciales no es un paso, es un pipeline. Si lo tratas como un paso, vas a tener falsos positivos (credeniales inválidas que pasan) o falsos negativos (credenciales válidas que no pasan).\n\nUTA implementa los 12 pasos. Tú decides cuáles activar.\n\n*Repo: alicelabs-llc/universal-trust-adapter · API: marketnow.site/api/trust*", "url": "https://wpnews.pro/news/anatomia-de-un-pipeline-de-verificacion-de-12-etapas-para-credenciales-de-ia", "canonical_source": "https://dev.to/edison_flores_6d2cd381b13/anatomia-de-un-pipeline-de-verificacion-de-12-etapas-para-credenciales-de-agentes-ia-2dcp", "published_at": "2026-09-01 16:06:14+00:00", "updated_at": "2026-09-01 16:24:20.739811+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-safety"], "entities": ["Alice Labs", "Universal Trust Adapter", "@marketnow/trust-core", "MarketNow"], "alternates": {"html": "https://wpnews.pro/news/anatomia-de-un-pipeline-de-verificacion-de-12-etapas-para-credenciales-de-ia", "markdown": "https://wpnews.pro/news/anatomia-de-un-pipeline-de-verificacion-de-12-etapas-para-credenciales-de-ia.md", "text": "https://wpnews.pro/news/anatomia-de-un-pipeline-de-verificacion-de-12-etapas-para-credenciales-de-ia.txt", "jsonld": "https://wpnews.pro/news/anatomia-de-un-pipeline-de-verificacion-de-12-etapas-para-credenciales-de-ia.jsonld"}}