Crucible · Firewall de evaluación de modelos
Un modelo sintético supera la línea base de PickleScan y luego intenta abrir una base de datos durante la carga. Crucible registra y bloquea ese efecto configurado, devolviendo QUARANTINE con las pruebas adjuntas.
23/23 vs 19/23
Detección de eventos bloqueados frente a alertas de PickleScan
Los mismos 23 casos de prueba sintéticos maliciosos y evasores
4/4 vs 0/4
Cuatro evasores construidos
Detección conductual frente a PickleScan 1.0.4
2/2
Casos de abstención dirigidos a REVIEW
Se requieren más pruebas; no se emitió firma
Las tarjetas informan sobre una ejecución de referencia fija de 33 artefactos sintéticos en canalización directa realizada el 6 de octubre de 2026 con asesoramiento determinista. No estiman la detección en modelos desconocidos. El video captura por separado comprobaciones configuradas recientes en la aplicación local: la consola principal utiliza asesoramiento en caché de Codex y la prueba de rendimiento utiliza asesoramiento determinista. No se captura inferencia reciente de modelos.
Cuando un equipo de seguridad aprueba un modelo serializado, la pregunta pertinente va más allá de su identidad declarada: ¿qué operación intenta realizar la carga y qué pruebas quedan sin resolver?
Python advierte que los datos pickle manipulados pueden ejecutar código durante la deserialización. La documentación de escaneo de pickle de Hugging Face también describe las limitaciones de la inspección de importaciones y códigos de operación. Documentación de pickle de Python; Documentación de escaneo de pickle de Hugging Face.
Nuestro caso de prueba sintético de SQLite hace que esa distinción sea inspeccionable: una línea base sin alerta de infección se sitúa junto a un intento bloqueado de apertura de base de datos. El registro de admisión conserva ambos hallazgos en lugar de tratar el campo limpio del escáner como una autorización.
El asesoramiento utiliza roles de analista y desafiante en una única solicitud combinada. La consola principal grabada utiliza asesoramiento en caché; la prueba de rendimiento utiliza asesoramiento determinista. Estas comprobaciones configuradas no garantizan que cada archivo con formato incorrecto, formato no admitido o error de análisis se dirija a REVIEW.
Todos los artefactos, nombres de modelos y hf:// etiquetas de origen a continuación son casos de prueba locales sintéticos, no modelos de clientes ni registros verificados de registros de modelos. Las primeras tres capturas de pantalla registran comprobaciones configuradas recientes con asesoramiento en caché de Codex; la captura independiente de la prueba de rendimiento utiliza asesoramiento determinista. No se muestra ninguna inferencia reciente de modelos.
El archivo pickle generado trusted-looking/finetune-safe intenta abrir una base de datos SQLite durante la deserialización. Su nombre es una etiqueta de caso de prueba creada por los autores, no una prueba de confianza. La pregunta útil es si el hallazgo del escáner y el comportamiento de carga observado respaldan la misma decisión de admisión.
Resultado configurado
PickleScan: CLEAN. Operación observada: sqlite3.connect, intentada y bloqueada. Veredicto final: QUARANTINE. Firma: ninguna.

PickleScan 1.0.4 registra _sqlite3.connect como sospechoso sin activar su alerta de infección. El desensamblado estático de Crucible también conserva ese ejecutable importado, pero está ausente del conjunto configurado de variables globales peligrosas. Por lo tanto, el distintivo visible NO CODE SURFACE significa que no hubo coincidencias con variables globales peligrosas configuradas; no significa que el archivo no contenga ningún ejecutable.
| Comprobación | Hallazgo registrado | Qué determina |
|---|---|---|
| Línea base de PickleScan | flagged: false; _sqlite3.connect [suspicious] | Esta línea base no alerta sobre el artefacto. No determina una carga inocua. |
| Desensamblado estático | _sqlite3.connect en importaciones y ejecutables aproximados; ninguna variable global peligrosa configurada | El ejecutable es visible aunque la lista de denegación configurada no tenga coincidencias. |
| Carga observada | sqlite3.connect con blocked: true; loaded: false | El gancho de auditoría genera una excepción antes del efecto configurado de apertura de base de datos. |
| Compuerta final | QUARANTINE; signature: null | El intento bloqueado determina este veredicto. No se emite ninguna firma. |
El nuevo proceso de trabajo de Python llega a sqlite3.connect para /tmp/vp_demo_persist/.store.db. Su gancho de auditoría de CPython registra la operación y genera una excepción antes del efecto configurado. La compuerta devuelve QUARANTINE porque se observó un evento peligroso bloqueado, independientemente de la alerta limpia de la línea base. Esta prueba no muestra una base de datos creada ni una persistencia correcta.
La interfaz de usuario llama a este proceso de trabajo un entorno aislado (sandbox). Su límite implementado es un subproceso con ganchos de auditoría de Python seleccionados, sin un entorno aislado del sistema operativo, confinamiento de contenedor ni aislamiento de red. Un sistema de admisión en producción necesita un límite de contención establecido por separado.
El registro JSON descargable asocia el SHA-256 del artefacto con sus hallazgos estáticos, el resultado de la línea base, las llamadas intentadas, el motivo de la compuerta, el inventario mínimo del modelo y los campos locales de cadena de hashes. Para este resultado de QUARANTINE, el campo de firma es null. Los revisores pueden inspeccionar las pruebas de la decisión sin tratar las recomendaciones de asesoramiento como una aprobación o una acción completada en el registro de modelos.
Un hash identifica los bytes del artefacto inspeccionado. La cadena local permite comprobaciones de coherencia entre registros, pero no tiene custodia independiente ni anclaje externo, y no es un archivo inmutable. La carga útil de ALLOW firmada que se muestra a continuación cubre un conjunto de campos más restringido que el registro completo de pruebas.
El caso de prueba sintético independiente acme/experimental-rl contiene builtins.eval en la inspección estática. Su bifurcación condicional no se ejecuta en este entorno, y la carga observada no registra ningún evento peligroso bloqueado. El hallazgo estático no resuelto lo envía a REVIEW sin firma. Esta ruta preserva la necesidad de más pruebas; no se muestra una investigación humana completada.

El diccionario de pesos generado acme/sentiment-mlp sigue la ruta limpia: no se registra ningún evento peligroso bloqueado, las comprobaciones configuradas devuelven ALLOW y se emite una firma Ed25519. Su inventario indica el artefacto y su hash, el formato de serialización, el marco inferido y el origen declarado. La procedencia de los datos de entrenamiento y el historial de ajuste fino permanecen como UNKNOWN.

La firma autentica el nombre canónico del modelo, el hash del artefacto y la carga útil mínima del inventario en formato CycloneDX con respecto a una clave de desarrollo local. No firma cada veredicto ni el registro completo, no completa el historial ascendente, no establece derechos de entrenamiento ni demuestra que un modelo arbitrario sea seguro. El texto visible de referencia regulatoria son metadatos configurados del caso de prueba, no un cumplimiento validado.
Una ejecución de referencia congelada en canalización directa del 6 de octubre de 2026 utiliza asesoramiento determinista, PickleScan 1.0.4, claves de desarrollo temporales y un libro mayor temporal. Sus 33 artefactos generados comprenden 8 benignos, 19 maliciosos, 4 evasores construidos y 2 casos de abstención. La comparación de maliciosos y evasores contabiliza los mismos 23 artefactos en ambas columnas.
| Medición | Resultado observado | Alcance |
|---|---|---|
| Detección de maliciosos y evasores | Conductual 23/23; PickleScan 19/23 | Detección de eventos bloqueados en comparación con la alerta de infección de la línea base en los mismos 23 casos de prueba. |
| Evasores construidos | Conductual 4/4; PickleScan 0/4 | Cuatro casos de prueba diseñados para ilustrar la diferencia entre estas comprobaciones. |
| Decisiones sobre benignos | 0/8 recibieron un veredicto distinto de ALLOW | Ocho casos de prueba benignos, no una estimación de falsos positivos en modelos desconocidos. |
| Firmas de ALLOW | 8/8 emitidas y verificadas | La verificación utiliza la función incluida y la clave de desarrollo local. |
| Ruta de abstención | 2/2 REVIEW | Los casos de prueba no resueltos permanecen sin firmar; la investigación no está completada. |
| Veredictos esperados y cadena local | 33/33 coincidieron; enlaces de hash intactos | Expectativas definidas para los casos de prueba y una comprobación de coherencia local, sin anclaje externo. |
La captura de pantalla siguiente corresponde a una ejecución independiente completada de la prueba de rendimiento HTTP/SSE en la aplicación local, con asesoramiento determinista. Muestra la misma comparación sobre el conjunto fijo y 33/33 coincidencias de veredictos esperados. No es la fuente de la medición de referencia congelada en canalización directa anterior; los tiempos mostrados pertenecen a esa ejecución capturada.

Estas observaciones sobre casos de prueba construidos no estiman la detección en modelos no vistos, la latencia en producción ni la reducción de brechas de seguridad. ALLOW describe el resultado de las comprobaciones configuradas en la carga observada; no establece una seguridad exhaustiva del modelo.
| Capa | Pruebas en esta demostración | Límite que se debe mantener |
|---|---|---|
| Inspección estática y PickleScan | Variables globales, ejecutables aproximados y alerta de la línea base | Una alerta limpia por sí sola no resuelve el comportamiento de carga |
| Observación conductual | Efectos intentados seleccionados en una carga observada | Una carga silenciosa puede dejar el comportamiento condicional sin resolver |
| Inventario firmado | Nombre local del modelo, hash y carga útil de inventario para ALLOW | La firma no certifica el historial ascendente desconocido |
| Libro mayor local encadenado por hashes | Enlaces de hash que respaldan las comprobaciones de coherencia local | Sin custodia independiente ni anclaje externo |
Crucible es una demostración local sobre artefactos sintéticos. No dispone de conector con registros públicos, aplicación de políticas de admisión empresarial, entorno aislado del sistema operativo, infraestructura de claves de producción ni reconstrucción completa de dependencias. No evalúa la calidad del modelo, la seguridad de la inferencia ni el envenenamiento de datos de entrenamiento, y sus etiquetas de referencia del marco no determinan cumplimiento normativo.
Python advierte de que los ganchos de auditoría no son adecuados para implementar un entorno aislado. Documentación de ganchos de auditoría de Python. El trabajo en producción debe establecer contención, límites de confianza y custodia controlada más allá de esta demostración local.
Un resultado limpio de PickleScan significa que esta línea base no alertó sobre el artefacto inspeccionado. En el ejemplo sintético de SQLite en Crucible, el gancho de auditoría configurado registra y bloquea un intento de operación de base de datos durante la carga mientras la línea base permanece limpia. El resultado del escáner por sí solo no determina una carga libre de efectos secundarios.
Crucible desvía una variable global estática peligrosa configurada a REVIEW cuando la carga observada no ejecuta un evento peligroso bloqueado. El caso de prueba condicional sintético contiene builtins.eval y sigue esta ruta sin firma. REVIEW solicita más pruebas; no significa que una investigación humana esté completada.
Solo ALLOW recibe una firma Ed25519 sobre el nombre canónico del modelo, el hash del artefacto y la carga útil del inventario, utilizando una clave de desarrollo local. Autentica esa carga útil en relación con esta clave. No establece custodia ascendente, autenticidad del origen ni una procedencia completa.
El inventario mínimo de modelos en formato CycloneDX registra la procedencia de los datos de entrenamiento y el historial de ajuste fino como UNKNOWN. Incluye el hash del artefacto, el formato de serialización, el marco inferido y el origen declarado. Un veredicto ALLOW y una firma local válida no completan el historial ausente.
El proceso de trabajo es un nuevo subproceso de Python con un directorio de trabajo temporal y un gancho de auditoría de CPython que registra eventos seleccionados y bloquea efectos configurados. No cuenta con contenedor ni entorno aislado del sistema operativo y no es un entorno aislado de la red. Esta demostración no establece contención de producción ni seguridad exhaustiva.
La demostración lee artefactos generados desde un registro sintético local. Sus cadenas de origen hf:// son etiquetas de casos de prueba y no dispone de conector con registros públicos ni aplicación de admisión empresarial. La integración en producción requeriría límites de confianza del registro, contención, gestión de claves y almacenamiento de auditoría controlado de forma independiente.
Explore las investigaciones relacionadas para obtener un contexto más amplio sobre esta demostración.
Solución completa
Explore la solución AI Supply Chain Security & Model Integrity →Analice su flujo de trabajo de incorporación de modelos con nuestro equipo.
Utilizamos estas distinciones demostradas para orientar una conversación de evaluación o implementación sobre su registro de modelos, el límite de carga y los requisitos de pruebas.