EVIDENT

Paquete de evidencias

Evidencia que puedes entregarle a otro

Un auditor no debería tener que fiarse de tus capturas de pantalla, y tú no deberías tener que darle un usuario. Un paquete de evidencias es la evaluación, en un archivo, que se verifica sola.

Dónde está esto hoy

El archivo está construido y está en el producto. Lo que falta es la parte que más le importa a quien no nos conoce: un paquete nuestro, publicado, que cualquiera pueda descargar y comprobar.

  • DisponibleExportación de cualquier informe en HTML, Markdown, CSV o XLSX. Cada una deja constancia del análisis y de la versión que la produjo.
  • DisponibleLa evidencia detrás de un hallazgo y el historial de quién decidió qué. Se guarda por análisis y se puede leer. El paquete es la forma de entregarlo, no un sitio nuevo donde guardarlo.
  • Vista previaEl archivo portable y su índice de hashes. Construido, se descarga desde la pantalla de informes y se verifica con sha256sum en una máquina que nunca ha oído hablar de nosotros.
  • PlanificadoEVIDENT evaluando a EVIDENT, publicado. El primer paquete que publiquemos, producido por el pipeline y no a mano. Mientras eso no exista, esta fila es la razón honesta de que la de arriba no esté en Available.

Disponible es lo que ya está en el producto. Vista previa es lo que está hecho y se puede usar, y todavía cambia de forma. Planificado es lo que está especificado y aún sin construir: se publica de antemano para que pueda juzgarse antes de existir.

El panel del paquete de evidencias en EVIDENT, con la evaluación de la que es, el número de archivos, la huella de las conclusiones y el comando que verifica el archivo
Preguntarle al producto qué enviaría. La huella es de las conclusiones, dejando fuera el empaquetado, así que la misma evaluación empaquetada mañana lleva la misma. El comando de debajo es todo el procedimiento de verificación: sin cuenta, sin red y con una herramienta que quien lo recibe ya tiene. La lista es el propio paquete repitiendo lo que no lleva, leída del archivo y no escrita en la pantalla, para que las dos no puedan acabar diciendo cosas distintas.

Qué contiene el archivo

evident-assessment-AAAA-MM-DD.zip
  manifest.json        qué es esto, cuándo, de qué, con qué reglas
  assessment.json      cada campo, y lo que se concluyó sobre él
  evidence.json        qué se leyó, qué se infirió y con qué versión de regla
  findings.json        los hallazgos, nombrando evidencia y versión de regla
  controls.json        mapeos a controles: no está hasta que algo mapee un marco
  review-history.json  cada decisión humana: actor, momento, razón y a qué sustituye
  reports/             los documentos generados, en Markdown
  hashes.sha256        un hash por cada archivo de arriba, en el formato que lee sha256sum

Por qué sirve

  • Se verifica con una herramienta que ya tienes. sha256sum -c hashes.sha256, sin conexión, en una máquina que nunca ha oído hablar de nosotros. Nuestro verificador recalcula cada huella en lugar de fiarse de lo que el paquete dice de sí mismo: una comprobación que se fiara del manifest daría por bueno cualquier paquete cuyo manifest se hubiera reescrito junto con el contenido.
  • Un solo número responde a «¿ha cambiado algo?». El manifest lleva una huella de las conclusiones dejando fuera el empaquetado, así que un paquete hecho esta mañana y el mismo hecho esta noche coinciden, y el del trimestre pasado se puede comparar con el de ahora sin mirar doscientos archivos uno a uno.
  • Lleva el razonamiento, no solo las conclusiones. Cada hallazgo nombra la evidencia que hay detrás y la versión exacta de la regla que lo levantó, así que el archivo lo puede leer alguien que no estuvo allí.
  • Lleva las decisiones humanas y a qué sustituyen. Quién confirmó qué, quién rechazó qué y por qué, con fechas, y una decisión sustituida viaja al lado de la que la reemplazó en lugar de quedar aplastada en un valor actual.
  • Dice lo que no lleva. Ni credenciales, ni filas de las bases de datos analizadas, ni copia de tu código, ni más identidades que los actores de sus propias decisiones. Va escrito dentro de cada paquete, para que nadie lea una ausencia como un hallazgo.
  • Dice lo que no puede demostrar. El paquete no está firmado. Las huellas demuestran que está íntegro, no quién lo escribió, y el manifest lo dice en lugar de dejar que lo deduzcas.

Por qué esta página sigue diciendo Preview

Esta página describía el formato antes de construirlo, para que se pudiera discutir por adelantado. Ya está construido: el archivo de arriba es lo que escribe el producto, se descarga desde la pantalla de informes, y un paquete sacado de un despliegue en marcha se abre con unzip y pasa sha256sum -c sin cuenta y sin red.

Sigue marcado como Preview, y la razón es la fila de arriba que no lo está: todavía no hemos publicado un paquete nuestro. Un formato cuyo argumento entero es que no deberías tener que creernos no se puede vender como terminado mientras la única forma de ver uno sea creernos. El primer paquete publicado será EVIDENT evaluando a EVIDENT, producido por el pipeline y no montado a mano, y eso es lo que lo pasa a Available.