Expediente de auditoría¶
Traducción informativa de la versión en inglés, actualizada el 10/11/2026. Si difieren, prevalece la versión en inglés. Los identificadores, comandos y bloques de código se conservan sin traducir.
Este es el punto de entrada para una revisión de seguridad independiente de DCP-AI. Indica qué revisar, cómo reproducir la evidencia del repositorio, qué muestra esa evidencia y qué deja fuera. No es una especificación, ni una certificación, ni un informe de auditoría. El repositorio no contiene ningún informe de una auditoría externa independiente, y no certifica trabajos hechos fuera de él.
- Los documentos normativos están en spec/.
- El mapa de cobertura de seguridad relaciona cada requisito con sus pruebas.
- La guía del implementador explica cómo informar de los resultados.
Base de la revisión¶
- Base de código: el commit
45ac32f07f004e858e11dcc23ff72c3e5c7762b8demain, del 05/11/2026 (#123). Contiene todas las correcciones de Artefactos y las aclaraciones de esa fecha al paso V2-10 de VERIFICATION.md y a DCP-09 §3.5.2. - Commits posteriores: el arnés diferencial de cadenas de mandatos y la comparación de bundles con cinco SDK (#124) llegaron después de la base, igual que este expediente. Un documento no puede nombrar su propio commit final. Registra el commit exacto que revisas y usa este archivo como guía de ese commit, no como evidencia sobre él.
- Fuera de la base: las imágenes de contenedor, los despliegues y la configuración del operador.
Congelación de validación para pilotos (MP-06)¶
Esta instantánea posterior se mantiene separada de la base de revisión anterior. Fuente: 7dd8293d6f6c3d328fc0ff3906978200e55139db (PR #138); árbol de40444aa1fc1bafef6ab7cf3b772664427b43dc. Es una validación interna para pilotos acotados, no una auditoría externa, un despliegue ni una nueva publicación en registros. dcp-jcs-v1 y los valores predeterminados existentes se conservan.
El alcance incluye verificación de evidencia híbrida, confianza explícita en el principal, admisión estricta, admisión delegada opt-in y el acuse de mandato separado en TypeScript, Python, Go y Rust. WASM cubre verificación y primitivas mediante su API instalada en navegador; no admite cadenas de mandatos, admisión ni activación. Express y FastAPI son adaptadores opcionales. La autorización de acciones, configuración de tenants, frescura de revocación, TLS y custodia de claves siguen siendo responsabilidad de la aplicación u operador. Los límites operacionales y el ensayo opcional explican esa separación.
Evidencia e identidad de los artefactos¶
El CI de la revisión congelada aprobó los jobs seleccionados. Los jobs de SDK e integraciones omitidos por filtros de rutas quedan cubiertos por la revisión MP-03 aprobada df2df0de103777bb9e28cf70cc64d52f8df7d4b4, con subárboles de producción e insumos pertinentes de compilación y pruebas idénticos. Son ejecuciones reutilizadas, no nuevas. Los artefactos instalados localmente se probaron por separado, incluidos el sdist de Python y el tarball WASM en navegador. Los ocho catálogos públicos pasaron en cada SDK completo; WASM pasó únicamente los seis que soporta. Los controles focalizados de composición, acuse e ingreso desde bytes, las regresiones originales F1–F4 y de confianza en el principal, y la evidencia de proveedores conservan el vínculo con los objetos realmente probados. Se reutiliza el ensayo HTTP MP-05 sin cambios (200/200 pasos).
Los artefactos siguientes son bytes locales no publicados, aunque sus versiones internas coincidan con publicaciones existentes. Los de TS, Express y Python proceden de b3d41bd0; los 256 archivos fuente de su manifiesto de preparación coinciden con la revisión congelada. Go, Rust y WASM se construyeron desde el export congelado. No sustituirlos por paquetes del registro que tengan el mismo número de versión.
| Artefacto | Versión local | SHA-256 |
|---|---|---|
Go module zip |
v2.13.0 |
a2e113c663b791c3b0908e135f2a1e2433ffea1301b1be2540a2fa3539c6ca41 |
Rust .crate |
2.13.0 |
192d58c182e9c115b5fa7e6af17dd790eaa37a68a4501e4985dc11ae5b157d39 |
@dcp-ai/wasm tarball |
2.1.3 |
501d24d7ae9a2923931edf4e9e8df902f353a87ff911906901f34b33d1ac052d |
@dcp-ai/sdk tarball |
2.3.0 |
1e4b27bb82c70ab327227f5bb029eb2b01b0cdc643aeec206327bdaf5a94dd9c |
@dcp-ai/express tarball |
2.1.0 |
bf2b6de539b9e3687ffd272c7015d9ff0a6288fdd65f86ce7662838b50ead969 |
Python wheel |
2.10.2 |
e20473aecf6f75ff6e01db4a9ce12bd33ef59000607b9cba47f197b4b2e8d317 |
Python sdist |
2.10.2 |
ad0e17c7850916777a5df379c6217e16eb1fcc82b2b465b53624c9eb985919fa |
Go se consumió mediante un proxy local de archivos sin replace; Rust mediante una dependencia de ruta al .crate extraído; npm y Python mediante paquetes instalados. Go se validó con el toolchain parcheado 1.26.10, sin cambiar el módulo ni las dependencias. Para un piloto, conservar artefactos exactos, inventario de dependencias, comandos e informes: un hash identifica bytes, pero no hace descargables los artefactos temporales. Una reconstrucción exige comprobación y nuevas pruebas; no se estableció la reproducibilidad de bytes de WASM. La reproducción pública parte del kit de conformidad y las instrucciones del ensayo, con revisión explícita y rutas de paquetes instalados. Esta página resume evidencia interna; no afirma que cada sonda local sea una herramienta de pruebas publicada.
Límites y trabajo previo a publicación¶
- El tarball congelado de Express carece de
LICENSE; incluir la licencia antes de distribuirlo. El binario WASM local contiene una ruta de caché de compilación; remapear rutas y revisar los bytes reconstruidos antes de publicar. Ninguno se ofrece aquí como descarga de una versión publicada. - La revisión de dependencias es una instantánea fechada, no una garantía. El grafo opcional OTLP de Rust selecciona versiones de
anyhow/tokiocon los avisos RUSTSEC-2026-0190 y RUSTSEC-2026-0386; las compilaciones predeterminada y WASM no seleccionan esos crates. Esta congelación no valida OTLP, que requiere remediación separada de dependencias antes de usarlo. - Las alertas CodeQL #58/#59 siguen abiertas en una autoprueba de conformidad; el triage encontró interpolación de un hash hexadecimal de un corpus fijo, no una ruta remota de producción demostrada. Dependabot no mostró alertas abiertas. La API de secret scanning no estuvo disponible: es cobertura faltante, no cero hallazgos.
- Se mantienen las exclusiones previas del expediente: contradicciones de especificación sin resolver, extensiones opcionales, infraestructura del operador y entornos sin probar no pasan a estar soportados por esta congelación. Las pruebas finitas no demuestran ausencia de vulnerabilidades.
- Antes de publicar los cambios posteriores a la base, faltan corregir el empaquetado, asignar nuevas versiones, comprobar instalaciones desde registros y obtener autorización explícita de publicación. Imágenes y despliegues requieren validación propia. Integrar documentación no publica paquetes.
Nota (09/11/2026). Los puntos anteriores describen la instantánea de MP-06 y sus artefactos locales, que no cambian. Para las versiones publicadas el 09/11/2026, el remapeo de rutas de WASM, el
LICENSEde la CLI y los mínimos de OTLP ya están resueltos; véase Publicación del 09/11/2026.@dcp-ai/express2.1.0 no se republicó.
Publicación del 09/11/2026¶
Fuente: main en cdb7099b8b6dc2a78b54928250752fd0bbd9c770 (PR #140), árbol af69307b663381ce776ad3115f76fe82f225a789, el árbol del export revisado de los candidatos. El CI de ese commit pasó, y también los workflows de publicación que reconstruyeron y publicaron los archivos de PyPI y de crates.io; estas ejecuciones son comprobaciones propias del proyecto, no una auditoría externa. Desde él se publicaron seis versiones: @dcp-ai/sdk 2.4.0, @dcp-ai/wasm 2.2.0 y @dcp-ai/cli 2.2.0 en npm, dcp-ai 2.11.0 en PyPI, Rust dcp-ai 2.14.0 en crates.io y el módulo Go v2.14.0. Es una publicación en registros tras una validación interna, no una auditoría externa ni una certificación. @dcp-ai/express 2.1.0 y los demás adaptadores npm no se republicaron.
| Registro | Versión | Identificador |
|---|---|---|
npm @dcp-ai/sdk |
2.4.0 | sha512-4IsY/ctFqLf5vvOS6bWUdN63NCbMoi6N0qnAceYG8AINnqm7+cRyG5stO+P4ZM8ROM2uyhI09AlcQDhdJVhIeQ== |
npm @dcp-ai/wasm |
2.2.0 | sha512-eu9NiNXl99hCKz/xpUPteaZGF+ea0+WTQ/6mZu2RIkuP2eTMsym0Bbp7gTbqB1LaaGMGuRFYAjK8wSVIGt/AAA== |
npm @dcp-ai/cli |
2.2.0 | sha512-/UR5K7/PctZX8Do6CULz1ua1eEwt19Jo/Q/adkMq806uRjZ2gh10W0FnfrzJVJPjskadK/tma2aXisU+z1Hx7Q== |
PyPI dcp-ai |
2.11.0 | wheel 2e7776e1c3675f9f4a3c088d6115b728d6e33c72c69a2e624b1771ab9fa45f53, sdist 9d4a545376e2a9a0afa61b0845ef5bf992b9c92ac5390da95a35333327397da7 (SHA-256) |
crates.io dcp-ai |
2.14.0 | 704028282d977973fc84e6fbaa495159e43ecec5951cf2f1b5ea9d3e70515424 (checksum) |
Módulo Go sdks/go/v2 |
v2.14.0 | etiqueta sdks/go/v2.14.0, commit cdb7099b8b6dc2a78b54928250752fd0bbd9c770, h1:9O4n7vn3YqOhKlyUg/cm0OnouQi4QbU7mHbIh1BM5Z8= |
- Identidad con los artefactos probados. Los tarballs de npm son los archivos probados antes de la publicación, con la misma integridad
sha512. El wheel y el sdist de PyPI y el crate los reconstruyeron desdemainlos workflows de publicación y contienen los mismos archivos fuente que los artefactos probados; los archivos de Python solo difieren en metadatos (Metadata-Version 2.5 y hatchling 1.33.0 en lugar de 2.4 y 1.27.0, con el RECORD recalculado), y el crate añade.cargo_vcs_info.json, que nombramain. El módulo Go que sirve el proxy tiene los mismos 106 archivos y el mismoh1que el módulo probado; solo difiere la compresión del zip. - Instalado desde los registros. Consumidores nuevos instalaron cada paquete por nombre y versión, sin
file:, dependencias por ruta,replace,[patch]ni overrides: el wheel y el sdist de PyPI (el sdist compilado por pip), el crate con sus features predeterminada yotlp, el SDK, la CLI y el WASM de npm con@dcp-ai/express2.1.0, que resolvió el único@dcp-ai/sdk2.4.0, y el módulo Go medianteproxy.golang.orgcon la base de datos de checksums activa y Go 1.26.10. Las comprobaciones de composición, acuse, ingreso y P-ED-1, las suites de la CLI y las comprobaciones de WASM dieron los mismos resultados que sobre los artefactos probados. - Validación de publicaciones. RELEASE_VALIDATION.md describe la herramienta que repite esta instalación desde los registros y ejecuta los catálogos externos contra los paquetes instalados, y registra las campañas completas locales en macOS y de GitHub en Ubuntu 24.04 del 10/11/2026. Es una comprobación propia del proyecto, no una auditoría externa.
- Puntos de empaquetado de la congelación MP-06. Para estas versiones, el binario de WASM se compila sin rutas de compilación locales y una puerta de publicación revisa los archivos empaquetados,
@dcp-ai/cliincluyeLICENSE, y la featureotlpde Rust exigeanyhow1.0.103 ytokio1.53.3 o posteriores; los builds predeterminado ywasmno seleccionan ninguno de los dos. ElLICENSEañadido aintegrations/expressestá solo en el repositorio: el tarball publicado de@dcp-ai/express2.1.0 sigue sin él. - No cubierto. Siguen vigentes las exclusiones de la congelación MP-06 de arriba y de Límites y exclusiones conocidos, salvo los puntos de empaquetado y dependencias cerrados aquí para estas versiones: las rutas de compilación de WASM, el
LICENSEde la CLI y los mínimos de OTLP. La instantánea de MP-06 de arriba se conserva tal como se registró. Las comprobaciones finitas no establecen la ausencia de vulnerabilidades.
Reproducir¶
Desde un checkout del commit que se revisa, con Node 22, Python 3.10+, Go (la versión de sdks/go/go.mod) y un toolchain estable de Rust (con wasm32-unknown-unknown y wasm-pack para WASM). Las instalaciones usan los locks versionados donde existen. El SDK de Python no tiene ninguno: pip install -e ".[dev]" resuelve las versiones disponibles en el momento de instalar.
En la base:
(cd sdks/typescript && npm ci && npm run build && npm test) && npm ci --ignore-scripts
npm run conformance
(cd sdks/python && pip install -e ".[dev]" && pytest)
(cd sdks/go && go test ./...)
(cd sdks/rust && cargo test --locked)
(cd sdks/wasm && npm ci && npm run build && npm test)
node tools/conformance/wrappers/build.mjs all
node tools/conformance-external.js --catalog evidence --assessment verdict --report /tmp/evidence-ts.json -- node tools/conformance/wrappers/ts-sdk.mjs --sdk sdks/typescript/dist/index.js
node tools/conformance-external.js --catalog delegation --report /tmp/delegation-ts.json -- node tools/conformance/wrappers/ts-sdk.mjs --sdk sdks/typescript/dist/index.js
Solo desde #124 (estos comandos no existen en la base):
node tools/difffuzz/run.mjs --sdks five --iterations 60 --report /tmp/difffuzz-five.json
node tools/difffuzz/run-mandates.mjs --iterations 120 --report /tmp/mandates.json
- Qué muestra un pase. Una ejecución muestra que estos casos pasan con el argv que se ejecutó, nada más.
- WASM.
npm testensdks/wasmsolo compila la capa TypeScript y necesitapkg/dcp_ai_bg.wasm, que producenpm run build. - Más comandos. El kit de conformidad lista todos los catálogos y sus wrappers; los arneses diferenciales listan sus límites.
- Ejecuciones de referencia. La CI ejecuta las mismas suites en
.github/workflows/ci.ymlydifffuzz.yml.
Registra lo que ejecutaste¶
- Código. El commit exacto (
git rev-parse HEAD) y si el árbol de trabajo difiere de él (git status --porcelain, ygit diffsi difiere). - Toolchains y artefactos. Las versiones de los toolchains, y las versiones y hashes de los artefactos ejecutados: el
distde TypeScript, los binarios compilados, el paquete WASM y los paquetes de Python resueltos (python -m pip freeze). El kit y los arneses diferenciales registran la mayoría en sus informes. - Informes. Conserva los ficheros de informe con sus hashes.
- Procedencia. El nombre y la versión de
implementationque un wrapper declara en un informe son su propia declaración, no una procedencia autenticada; la evidencia son los hashes de lo que compilaste y ejecutaste.
Qué revisar¶
| Capa | Rutas | Lo que un pase no establece |
|---|---|---|
| Núcleo del protocolo y perfiles | spec/, schemas/; canonicalización dcp-jcs-v1 |
Texto normativo; dcp-jcs-v2 es experimental y opt-in, nunca predeterminado |
| Verificadores de los SDK | sdks/typescript, sdks/python, sdks/go, sdks/rust, sdks/wasm |
Un bundle verificado no es confianza en el principal, admisión ni autorización; cada una es una API aparte (ADMISSION.md) |
| Herramientas de conformidad y diferenciales | tools/conformance, tools/difffuzz, tests/ |
Infraestructura de pruebas, no parte del protocolo |
| Servicios de referencia | server/, services/ (anclaje, log de transparencia, revocación) |
Decisiones de despliegue, no normativas; los verificadores funcionan sin ellos |
| Adaptadores y generadores | integrations/, packages/, la integración FastAPI del SDK de Python |
Opcionales; algunas versiones publicadas están afectadas (SECURITY.md) |
| Operador | Claves, anclas de confianza, configuración de admisión, tokens de servicio, despliegues | El repositorio no da ninguna garantía sobre ellos |
Requisitos y pruebas¶
| Área | Dónde se mapea |
|---|---|
| Verificación V2, de V2-1 a V2-14 | Mapa de verificación V2, con su frontera de esquemas |
| Política del verificador, incluida la aclaración de V2-10 | Muestras de política del verificador |
| Reglas estructurales | Muestras estructurales |
Admisión y strict-v1 |
Mapa de admisión |
| Cadenas de mandatos DCP-09 | Mapa de delegación |
| Acuerdo entre SDK | Muestras diferenciales |
| Algoritmos | tests/nist-kat: vectores RFC 8032 para Ed25519; pruebas de tamaño, ida y vuelta, clave incorrecta y entre SDK para ML-DSA-65, y 204 casos de verificación con contexto vacío (NIST ACVP tc39 y 203 casos de C2SP Wycheproof, que no es una fuente NIST) en los cuatro SDK y en wasm32; vectores NIST ACVP, con el SHA-256 de sus archivos de origen, para ML-KEM-768 y SLH-DSA-192f. Superarlas no es una validación NIST de un módulo criptográfico |
Artefactos¶
Son tres cosas distintas; nunca leas una como otra.
| Artefacto | Versiones | Qué contiene |
|---|---|---|
| Código revisado | main en la base |
Todas las correcciones de abajo |
| Publicadas (09/11/2026) | @dcp-ai/sdk 2.4.0, @dcp-ai/wasm 2.2.0, @dcp-ai/cli 2.2.0, dcp-ai 2.11.0 (PyPI), Go v2.14.0, Rust dcp-ai 2.14.0 |
Todos los cambios de los SDK de abajo, más P-ED-1 y las API de admisión delegada de activación explícita (Publicación del 09/11/2026) |
| Publicadas (05/11/2026) | @dcp-ai/sdk 2.3.0, @dcp-ai/wasm 2.1.3, dcp-ai 2.10.2 (PyPI), Go v2.13.0, Rust dcp-ai 2.13.0 |
Todos los cambios de los SDK de abajo |
| Preparadas el 30/10/2026 (#114), nunca publicadas, sustituidas | Go v2.12.0, Rust dcp-ai 2.12.0, @dcp-ai/wasm 2.1.2 |
#106 (WASM), #107 y #112; no #103 ni #116 a #119 |
| Publicadas antes (28/10/2026) | @dcp-ai/sdk 2.2.1, @dcp-ai/wasm 2.1.1, @dcp-ai/cli 2.1.1, dcp-ai 2.10.1 (PyPI), Go v2.11.1, Rust dcp-ai 2.11.1 |
Las correcciones del verificador del 26/10/2026 y las comprobaciones secundarias SHA3-256 del 28/10/2026; ninguna de las correcciones de abajo |
Un número de versión por sí solo no identifica un artefacto. Los manifiestos de main llevan los números publicados el 09/11/2026; el candidato del 30/10/2026 usó Go y Rust 2.12.0 y @dcp-ai/wasm 2.1.2 para menos cambios, y esos números no se reutilizan. Usa los identificadores de los registros de abajo o los hashes de lo que compilaste. Para las versiones del 05/11/2026, los tarballs de npm son los archivos probados antes de la publicación; los archivos de PyPI y el crate se reconstruyeron desde main y contienen los mismos archivos que los artefactos probados, salvo el .cargo_vcs_info.json del crate, que nombra main. Tras la publicación, el 05/11/2026, se volvieron a leer los registros públicos con TLS normal: las últimas versiones eran las de arriba, con los identificadores de abajo.
| Registro | Versión | Identificador |
|---|---|---|
npm @dcp-ai/sdk |
2.3.0 | sha512-5IsrDMKE3NM8e5jVLFIaigNFHIni/aIzD9Q4zNYZu6sTLfsPk/zqRxi9ccjtGSTiaftTba3LD/1JA4Gi0uS1bw== |
npm @dcp-ai/wasm |
2.1.3 | sha512-ToL7ZE+8mEvKJCO5DXxJm+GS2nrQ2tInHYJn+cWqLWxT+eMss9ka9MVp30LNmopO+MTqgwBs1hmAy6TOI5wDIA== |
npm @dcp-ai/cli |
2.1.1 | sha512-Qmuq5FiT+TUW3nZ4HCp/DUXdF6JVYB6vaCmNZL/qK8EWiSpP5gzgesSwK0zzlOQL20SJJditRR0h5YIQ7gxIMw== |
PyPI dcp-ai |
2.10.2 | wheel 825de9d6dce5ec2737d38534e7c3d357edbded437912605a549cde75518f198b, sdist 6005f342a0a24bee331c30be2fb2bc89a1306a21de399051cd1cef3cc96297e4 (SHA-256) |
crates.io dcp-ai |
2.13.0 | 579f070ad23c531147ef91287d610c6dc317bef997e2791a24a5070a4c0c13a1 (checksum) |
Go module sdks/go/v2 |
v2.13.0 | tag sdks/go/v2.13.0, commit 46b142bd7e42601acd912f156bbfcd9f5204a4be (05/11/2026), h1:bRkqSUWHQ/qTywPmKWRdzg2bBWI0RG1ZZAlb6IafnyU= |
Cambios de SDK posteriores a las versiones del 28/10/2026, publicados el 05/11/2026:
| Cambio | Commit | SDK | Publicado |
|---|---|---|---|
Claves y aislamiento de VerificationCache (#103) |
e711179a |
TypeScript | Sí, 05/11/2026 |
dualMerkleRoot de WASM sigue V2-11 (#106) |
cac0a5f6 |
Rust (feature wasm), WASM |
Sí, 05/11/2026 (preparado el 30/10/2026) |
VerifyPayloadHash comprueba el hash normativo con prefijo (#107) |
24e70d56 |
Go | Sí, 05/11/2026 (preparado el 30/10/2026) |
RawAuditEventV2 conserva las entradas de auditoría recibidas (#112) |
6dc97d59 |
Go, Rust | Sí, 05/11/2026 (preparado el 30/10/2026) |
| Validación de esquemas V2-2 dentro de cada verificador V2 (#116) | 0ebd2849 |
TypeScript, Python, Go, Rust, WASM | Sí, 05/11/2026 |
| Helpers de validez de mandatos alineados (#117) | 614b1c56 |
TypeScript, Python, Go, Rust | Sí, 05/11/2026 |
| Comprobaciones de tiempo de las cadenas de mandatos alineadas (#118) | 7619ff95 |
TypeScript, Python, Go, Rust | Sí, 05/11/2026 |
| Dominios repetidos en un mandato raíz aislado rechazados (#119) | c154192f |
TypeScript, Python, Go, Rust | Sí, 05/11/2026 |
Otros cambios posteriores a las versiones del 28/10/2026:
- Log de transparencia de referencia. #120 (
c59ce5ba) liga las alertas de gossip a la identidad del log observado, y #122 (d45c5a7b) sondea los peers añadidos en ejecución. Este servicio no se distribuye como paquete. - Especificación y kit de conformidad. #121 (
0dcbd8dc) añade el catálogo de delegación. #123 (45ac32f0) añade las aclaraciones de V2-10 y DCP-09 §3.5.2, el catálogo de políticas 2.0 y el catálogo de delegación 2.0.0. Sin cambios en los SDK. - Usuarios de los registros. Los cambios de los SDK de la tabla de arriba les llegan con las versiones del 05/11/2026; las versiones anteriores mantienen los límites indicados aquí. El registro de transparencia, la especificación y el kit de conformidad no forman parte de esos paquetes: se usan desde el repositorio.
Límites y exclusiones conocidos¶
- Registro de auditoría. AUDIT-v2.0-FINAL.md es un registro histórico interno del 26/02/2026, con una nota de contexto actual. No es una auditoría externa.
- Sin proveedor HSM. El
HsmCryptoProvidersimulado se retiró del código TypeScript el 06/11/2026; ningún SDK tiene un proveedor HSM, el servidor de referencia anunciahsm_provider: falseydcp audit gapsmantiene abierta la carencia n.º 11 (NIST_CONFORMITY.md). - Recuperación de claves. Las partes no se cifran con el KEM híbrido.
- Servidor de referencia. Comprueba la estructura de la firma de un aviso, no la firma (server/README.md).
- WASM. No exporta verificación de cadenas de mandatos.
- Rust. Le falta el cifrado de sesión A2A AES-256-GCM y su ventana de repetición (RUST_RELEASE.md).
- Versiones publicadas antes del 05/11/2026. No contienen los cambios de Artefactos.
- Versiones publicadas antes del 09/11/2026. No contienen P-ED-1 (salvo donde la compilación oficial de PyNaCl que usa el SDK de Python ya rechazaba esas firmas) ni las API de admisión delegada de activación explícita.
- Campañas diferenciales y de fuzzing. Son finitas, no exhaustivas. Las entradas que el contrato
/4no puede llevar a todos los SDK se miden aparte (arneses diferenciales). - Rendimiento. No se comprueba ningún requisito de velocidad. La línea base de rendimiento y el escalado acotado de cargas son mediciones locales del método, añadidas después del commit de base; ninguna de las dos es un resultado de auditoría.
- Sin cubrir. Las imágenes de contenedor, los despliegues, los tokens de servicio y la configuración del operador.
Notificación¶
Notifica los problemas de seguridad como describe SECURITY.md. Recoge los contactos, el alcance (incluidas las reproducciones locales acotadas de agotamiento de recursos) y la política de recompensas: las recompensas son caso por caso, sin importe garantizado ni fijo.