Un escáner MOAD como práctica de permacultura
Primer principio de la permacultura: observar antes de actuar. Dedica tiempo al sistema que quieres cambiar. Comprende sus flujos, acumulaciones y flujos de residuos antes de diseñar tu intervención. Un jardinero que observa dónde se acumula el agua, dónde llega la luz solar y dónde se concentran los nutrientes coloca las plantas de forma más efectiva que quien sigue un plan genérico.
Un escáner MOAD aplica este principio a los ecosistemas de software. Antes de abrir una sola incidencia, escanea proyectos y lenguajes. Mapea la distribución del defecto: ¿cuántos proyectos contienen CWE-407? ¿En cuáles aparece en rutas de alto tráfico? ¿Qué paquetes upstream, si se parchean, propagarían la corrección al mayor número de dependientes? Observa el ecosistema antes de actuar sobre un solo nodo.
Contrasta esto con la práctica extractiva: descubre una vulnerabilidad, véndela a un intermediario de vulnerabilidades, cobra y sigue adelante. El investigador extrajo capital financiero del conocimiento y se marchó. No se propagó conocimiento. Ningún sistema mejoró. Los futuros usuarios de todos los proyectos afectados siguieron vulnerables. El intermediario retiene el conocimiento, que pierde valor a medida que la vulnerabilidad envejece sin divulgarse.
Práctica de Permacomputadora: descubre un defecto, parchealo, divúlgalo, envíalo upstream y libera el parche como dominio público. El conocimiento se propaga sin decaer —de hecho se acumula: el CVE divulgado se convierte en referencia, una publicación MOAD enseña el patrón, futuras investigadoras encuentran nuevas instancias usando el mismo patrón. Un bucle cerrado en lugar de una extracción terminal.
La observación en permacultura precede a la acción en permacultura. El escaneo genera datos sobre puntuaciones de oleada, gráficos de dependencias y recuentos de nodos afectados antes de que se aplique ningún parche. Estos datos determinan qué parches se envían primero: nodos de alta intermediación antes que nodos hoja, porque una corrección en una biblioteca ampliamente dependida se propaga más por unidad de esfuerzo.
Producir Ningún Residuo: Tres Caminos de Divulgación
Tres caminos que puede seguir una investigadora tras descubrir una vulnerabilidad crítica en una biblioteca de código abierto popular:
A. Venderla a un corredor de vulnerabilidades por $10,000.
B. Reportarla de forma privada a la persona mantenedora con un plazo de divulgación de 90 días, y luego publicarla independientemente del estado del parche.
C. Enviar un parche como solicitud de extracción inmediatamente junto con una divulgación pública simultánea.
Compounding en sistemas abiertos
El segundo principio de la permacultura: captura y almacena energía cuando fluye en abundancia para tener reservas cuando no lo hace. Un sistema de captación de agua de lluvia almacena agua durante las tormentas para usarla en los meses secos. Un bosque comestible almacena energía solar en forma de fruta y biomasa a lo largo de las estaciones. El objetivo: alinear el momento del almacenamiento con el momento de la abundancia.
El conocimiento compuesto de Hamming: cada nueva técnica se conecta a tu lista de problemas importantes, multiplicando la productividad. Una sola idea sobre la entropía de la información, para Shannon, desbloqueó una década de trabajo teórico porque se conectó simultáneamente a todas las preguntas abiertas de su lista. El conocimiento almacenado generó intereses compuestos.
El compounding de código abierto funciona de forma distinta al compounding individual. Una corrección integrada en un repositorio canónico almacena energía en un lugar del que cada fork descendente extrae automáticamente. Un parche enviado a la biblioteca asyncio de Python en 2022 se propagó a todos los proyectos que usaban esa biblioteca sin ninguna acción adicional por parte del investigador original. La energía se almacena en la fuente y se multiplica a través del grafo de dependencias.
Los artículos MOAD almacenan energía de otra manera: cada publicación enseña el patrón de búsqueda en lugar de limitarse a revelar la instancia específica. Un investigador que lee el artículo MOAD de CWE-407 aprende no solo que el Proyecto X tenía una vulnerabilidad de vaciado, sino cómo se ve el patrón de vaciado en cualquier lenguaje, cómo buscarlo y cómo distinguirlo de código similar benigno. Los investigadores futuros encuentran nuevas instancias utilizando el patrón almacenado en lugar de redescubrirlo desde cero.
El mecanismo de almacenamiento de energía importa tanto como la energía misma. El conocimiento guardado en un cuaderno privado solo se multiplica para su propietario. El conocimiento almacenado en un repositorio público se multiplica para todos los que lo leen. El conocimiento almacenado en una base de datos de CVE se multiplica para todos los que ejecutan un escáner de seguridad. Cada ubicación de almacenamiento tiene características de compounding diferentes.
Seguidores de incidencias y listas personales de problemas
Hamming mantenía una lista de 10 problemas importantes a los que volvía repetidamente. La lista lo preparaba para reconocer cuándo una nueva técnica abordaba uno de ellos. Su lista funcionaba como energía almacenada personal: una inversión duradera en reconocimiento de patrones que generaba dividendos cada vez que aparecía una nueva técnica.
Un bucle MOAD como sistema cerrado
Permacultura: en un sistema bien diseñado, la salida de un proceso alimenta la entrada de otro. Ninguna salida sale del sistema como residuo. Una gallina en un bosque comestible produce huevos (alimento), estiércol (fertilizante), control de plagas (servicio) y escarbado (aireación del suelo). Cada salida se dirige a un proceso posterior en lugar de abandonar el sistema.
Un modelo de fábrica MOAD construye un bucle cerrado similar. Cada etapa produce salidas que alimentan la siguiente:
Scan produce: una instancia confirmada de defecto, un mapa de ubicación de los nodos afectados, una estimación de severidad basada en la intermediación y el tráfico.
Patch produce: una corrección de código, una prueba unitaria que confirma la corrección, un diff revisable por los mantenedores.
Publicación MOAD produce: un artículo de dominio público que explica la clase de defecto, el patrón de escaneo y el enfoque de la corrección. Capital intelectual que persiste más allá de cualquier instancia individual.
Divulgación CVE produce: un registro estandarizado en NVD, que activa escáneres de seguridad automatizados en todas las instalaciones afectadas. Capital social para la comunidad de seguridad.
PR upstream produce: la corrección en la fuente canónica, propagándose automáticamente a todos los forks downstream en su próxima actualización de dependencias.
Cada salida retroalimenta: 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 guardián de regresión. El registro CVE impulsa la adopción del parche por parte de los equipos de operaciones que de otro modo lo ignorarían. El bucle se cierra.
Condición de parada: un parche divulgado sin confirmar la capacidad downstream inunda la cola. MOAD-0001 y MOAD-0005 se acoplan: corregir O(N²) en un nodo de alta intermediación e inundar simultáneamente todos los procesadores downstream. El principio de permacultura de diseño-para-el-sistema-completo también aplica aquí: optimizar el componente puede crear un nuevo cuello de botella downstream.
Mapeo de salidas a capital
Una tubería MOAD produce cinco salidas: un resultado de escaneo, un parche, una publicación MOAD, una divulgación CVE y un PR upstream.