Un Escáner MOAD como Práctica de Permacultura
La primera regla de la permacultura: observar antes de actuar. Pasar tiempo en el sistema que deseas cambiar. Comprender sus flujos, acumulaciones y corrientes de residuos antes de diseñar tu intervención. Un jardinero que observa donde el agua se acumula, donde llega la luz solar y donde se concentran los nutrientes coloca las plantas con mayor eficacia que uno que sigue un plan genérico.
Un escáner MOAD aplica este principio a los ecosistemas de software. Antes de archivar un solo problema, escanea a través de proyectos y lenguajes. Mapea la distribución de defectos: ¿cuántos proyectos llevan CWE-407? ¿Cuáles lo llevan en caminos de alta traffic? ¿Qué paquetes upstream, si se corrigen, propagarían la solución a los dependientes más numerosos? Observa el ecosistema antes de actuar en cualquier nodo individual.
Contrasta esto con la práctica extractiva: descubre una vulnerabilidad, la vendes a un intermediario de vulnerabilidades, recolectas el pago y te marchas. El investigador extrajo capital financiero del conocimiento y se fue. Ningún conocimiento se propagó. Ningún sistema mejoró. Los futuros usuarios de todos los proyectos afectados permanecieron vulnerables. El intermediario conserva el conocimiento, que se desgasta de valor a medida que la vulnerabilidad envejece sin divulgación.
Práctica de permacomputadora: descubre un defecto, lo corrige, lo divulga, lo envía upstream, libera el parche como dominio público. El conocimiento se propaga sin desgaste - de hecho, se multiplica: el CVE divulgado se convierte en una referencia, un post MOAD enseña el patrón, los futuros investigadores encuentran nuevas instancias utilizando el mismo patrón. Un bucle cerrado en lugar de una extracción terminal.
La observación permacultural precede a la acción permacultural. El escaneo genera datos sobre puntuaciones de oleaje, gráficos de dependencia y conteos de nodos afectados antes de que cualquier parche se mueva. Estos datos determinan qué parches se envían primero: nodos de alta betweenness antes que nodos hoja, porque una solución a una biblioteca ampliamente dependida se propaga más por unidad de esfuerzo.
No Produzca Residuos: Tres Rutas de Divulgación
Tres caminos que un investigador puede seguir después de descubrir una vulnerabilidad crítica en una biblioteca de código abierto popular:
A. Véndalo a un intermediario de vulnerabilidades por $10,000.
B. Informelo de manera privada al mantenedor con un plazo de 90 días de revelación, luego publíquelo sin importar el estado de la parche.
C. Presenta un parche como una solicitud de extracción de inmediato con una divulgación pública simultánea.
Compensación en Sistemas Abiertos
El segundo principio de la permacultura: capturar y almacenar energía cuando fluye abundantemente para que tengas reservas cuando no lo hace. Un sistema de captura de lluvia almacena agua durante las tormentas para usarlo en meses secos. Un bosque alimentado por la comida almacena energía solar como frutas y biomasa a lo largo de las estaciones. El objetivo: ajustar el almacenamiento al tiempo de abundancia.
Conocimiento compuesto de Hamming: cada nueva técnica se conecta a tu lista de problemas importantes, multiplicando la producción útil. Una sola idea sobre la entropía de información, para Shannon, desbloqueó una década de trabajo teórico porque se conectó con todas las preguntas abiertas en su lista al mismo tiempo. El conocimiento almacenado generaba interés compuesto.
El compuesto de código abierto funciona de manera diferente al compuesto individual. Una solución incorporada en un repositorio canonical almacena energía en un lugar donde cada fork descendente automáticamente se abastece de ella. Una actualización presentada en la biblioteca de Python asyncio en 2022 se propagó a todos los proyectos que utilizaban esa biblioteca sin ninguna acción adicional del investigador original. Los almacenes de energía en la fuente se multiplican a través del gráfico de dependencias.
Los artículos MOAD almacenan energía de manera diferente: cada publicación enseña el patrón de escaneo en lugar de simplemente revelar la instancia específica. Un investigador que lee el artículo de CWE-407 de MOAD no solo aprende que Proyecto X tuvo una vulnerabilidad de vaciado, sino qué aspecto tiene el patrón de vaciado en cualquier idioma, cómo buscarlo y cómo distinguirlo del código similar benigno. Los investigadores futuros encuentran nuevas instancias utilizando el patrón almacenado en lugar de redescubrirlo de primeros principios.
El mecanismo de almacenamiento de energía es tan importante como la energía en sí. El conocimiento almacenado en una libreta personal solo se multiplica para el propietario de la libreta. El conocimiento almacenado en un repositorio público se multiplica para todos aquellos que lo lean. El conocimiento almacenado en una base de datos de CVE se multiplica para todos aquellos que ejecutan un escáner de seguridad. Cada ubicación de almacenamiento tiene características de multiplicación diferentes.
Reproductores de problemas y listas personales de problemas
Hamming mantuvo una lista de 10 problemas importantes a los que regresaba repetidamente. La lista lo puso en guardia para reconocer cuando una nueva técnica abordaba uno de ellos. Su lista funcionó como energía almacenada personal: una inversión duradera en el reconocimiento de patrones que generaba dividendos cada vez que aparecía una nueva técnica.
Un bucle MOAD como sistema cerrado
Agroecología: en un sistema bien diseñado, la salida de un proceso alimenta la entrada de otro. No hay salida que salga del sistema como desperdicio. Un pollo en un bosque alimenticio produce huevos (alimento), estiércol (fertilizante), control de plagas (servicio) y revolcando (aeración del suelo). Cada salida se dirige a un proceso downstream en lugar de salir del sistema.
Un modelo de fábrica MOAD construye un bucle similar cerrado. Cada etapa produce salidas que alimentan la siguiente:
Escaneo produce: una instancia de defecto confirmada, un mapa de ubicación de nodos afectados, una estimación de gravedad basada en entretenimiento y tráfico.
Solución produce: una corrección de código, una prueba unitaria que confirma la solución, una revisión de la diferencia revisable por mantenadores.
PUBLICACIÓN MOAD produce: un artículo de dominio público que explica la clase de defectos, el patrón de escaneo y el enfoque de corrección. Capital intelectual que persiste más allá de cualquier instancia individual.
DISCLOSURE CVE produce: un registro estandarizado en NVD, que desencadena escáneres de seguridad automatizados en todas las instalaciones afectadas. Capital social para la comunidad de seguridad.
PR SUBYACENTE produce: la solución en la fuente canónica, que se propaga automáticamente a todos los forks downstream en su próxima actualización de dependencia.
Cada salida alimenta: una publicación MOAD enseña a los investigadores a encontrar nuevas instancias, lo que genera nuevos escaneos. La prueba unitaria se convierte en un guardia contra la regresión. El registro CVE fomenta la adopción de la solución de parches por parte de los equipos de operaciones que de otro modo lo ignorarían. El bucle se cierra.
Condición de parada: una solución de parche divulgada sin confirmar la capacidad downstream llena la cola. MOAD-0001 y MOAD-0005 se acoplan: solucionar O (N²) en un nodo de alta betweenness y todos los procesadores downstream inundan simultáneamente. Aquí también se aplica el principio de diseño para todo el sistema de la permacultura: optimiza el componente y puede crear una nueva botella de cuello downstream.
Mapeo de salidas a capital
Una pipoteca MOAD produce cinco salidas: un resultado de escaneo, una solución, una publicación MOAD, una divulgación CVE y un PR subyacente.