English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

invité
1 / ?
retour aux leçons

Un scanner MOAD comme pratique de permaculture

Premier principe de la permaculture : observer avant d'agir. Passer du temps dans le système que l'on souhaite modifier. Comprendre ses flux, ses accumulations et ses flux de déchets avant de concevoir son intervention. Un jardinier qui observe où l'eau s'accumule, où la lumière du soleil atteint et où les nutriments se concentrent place les plantes plus efficacement qu'un jardinier qui suit un plan générique.

Un scanner MOAD applique ce principe aux écosystèmes logiciels. Avant de déposer une seule issue, scanner l'ensemble des projets et des langages. Cartographier la distribution du défaut : combien de projets portent CWE-407 ? Lesquels le portent dans des chemins à fort trafic ? Quels paquets amont, une fois corrigés, propageraient le correctif au plus grand nombre de dépendants ? Observer l'écosystème avant d'agir sur un nœud unique.

Permaculture appliquée au code : scan 2192 store 2192 patch 2192 disclose 2192 loop

Comparer cela à une pratique extractive : découvrir une vulnérabilité, la vendre à un courtier en vulnérabilités, percevoir le paiement, passer à autre chose. Le chercheur a extrait du capital financier de la connaissance et est parti. Aucune connaissance n'a été propagée. Aucun système n'a été amélioré. Les futurs utilisateurs de chaque projet affecté sont restés vulnérables. Le courtier détient la connaissance, qui perd de sa valeur au fur et à mesure que la vulnérabilité vieillit sans divulgation.

Pratique de permacomputer : découvrir un défaut, le corriger, le divulguer, le soumettre en amont, publier le correctif en domaine public. La connaissance se propage sans dégradation — elle s’accumule même : la CVE divulguée devient une référence, un article MOAD enseigne le motif, les futurs chercheurs découvrent de nouvelles occurrences grâce au même motif. Une boucle fermée plutôt qu’une extraction terminale.

L’observation en permaculture précède l’action en permaculture. Le scan génère des données sur les scores de surge, les graphes de dépendances et le nombre de nœuds affectés avant tout déplacement de correctif. Ces données déterminent quels correctifs sont publiés en premier : les nœuds à forte centralité avant les nœuds feuilles, car une correction apportée à une bibliothèque largement dépendante se propage plus loin par unité d’effort.

Produire aucun déchet : trois voies de divulgation

Trois voies qu’un chercheur peut emprunter après avoir découvert une vulnérabilité critique dans une bibliothèque open-source populaire :

A. La vendre à un courtier en vulnérabilités pour 10 000 $.

B. La signaler en privé au mainteneur avec un délai de divulgation de 90 jours, puis publier quoi qu’il arrive du statut du correctif.

C. Soumettre immédiatement un correctif sous forme de pull request avec une divulgation publique simultanée.

Appliquez le principe de permaculture « produire aucun déchet » pour évaluer chaque option. Identifiez les sorties produites par chaque voie, où ces sorties vont, et quelles sorties quittent le système en tant que déchets (énergie non acheminée qui ne profite à personne).

La capitalisation dans les systèmes ouverts

Deuxième principe de la permaculture : capturer et stocker l'énergie lorsqu'elle circule en abondance afin d'avoir des réserves lorsque ce n'est pas le cas. Un système de récupération des eaux de pluie stocke l'eau pendant les tempêtes pour l'utiliser pendant les mois secs. Une forêt nourricière stocke l'énergie solaire sous forme de fruits et de biomasse au fil des saisons. L'objectif : adapter le moment du stockage au moment de l'abondance.

La capitalisation des connaissances selon Hamming : chaque nouvelle technique se connecte à votre liste de problèmes importants, multipliant la production productive. Une seule intuition sur l'entropie de l'information, pour Shannon, a débloqué une décennie de travaux théoriques car elle se connectait simultanément à toutes les questions ouvertes de sa liste. Les connaissances stockées ont rapporté des intérêts composés.

Le fonctionnement du compounding open-source diffère du compounding individuel. Un correctif fusionné dans un dépôt canonique stocke de l'énergie à un endroit où chaque fork en aval en bénéficie automatiquement. Un patch soumis à la bibliothèque asyncio de Python en 2022 s'est propagé à tous les projets utilisant cette bibliothèque sans aucune action supplémentaire du chercheur original. L'énergie se stocke à la source et se compose à travers le graphe de dépendances.

Les articles MOAD stockent l'énergie différemment : chaque publication enseigne le modèle de scan plutôt que de simplement divulguer l'instance spécifique. Un chercheur qui lit l'article MOAD CWE-407 apprend non seulement que le Projet X avait une vulnérabilité de flush, mais aussi à quoi ressemble le modèle de flush dans n'importe quel langage, comment le rechercher, et comment le distinguer d'un code similaire bénin. Les futurs chercheurs trouvent de nouvelles instances en utilisant le modèle stocké plutôt qu'en le redécouvrant à partir des premiers principes.

Le mécanisme de stockage de l'énergie compte autant que l'énergie elle-même. La connaissance stockée dans un carnet privé ne compose que pour le propriétaire du carnet. La connaissance stockée dans un dépôt public compose pour tous ceux qui la lisent. La connaissance stockée dans une base de données CVE compose pour tous ceux qui exécutent un scanner de sécurité. Chaque emplacement de stockage a des caractéristiques de compounding différentes.

Suivi des problèmes et listes personnelles de problèmes

Hamming conservait une liste de 10 problèmes importants auxquels il revenait régulièrement. Cette liste l'amenait à reconnaître quand une nouvelle technique abordait l'un d'eux. Sa liste fonctionnait comme une énergie stockée personnelle : un investissement durable dans la reconnaissance de modèles qui rapportait des dividendes chaque fois qu'une nouvelle technique apparaissait.

Comment le suivi des problèmes d'un projet open-source remplit-il une fonction similaire à la liste personnelle des 10 problèmes de Hamming ? En quoi diffère-t-il ? Identifiez au moins un avantage du suivi des problèmes par rapport à la liste personnelle et au moins un avantage de la liste personnelle par rapport au suivi des problèmes.

Une boucle MOAD en système fermé

Permaculture : dans un système bien conçu, la sortie d’un processus alimente l’entrée d’un autre. Aucune sortie ne quitte le système sous forme de déchet. Une poule dans une forêt comestible produit des œufs (nourriture), du fumier (engrais), une lutte contre les nuisibles (service) et du grattage (aération du sol). Chaque sortie est acheminée vers un processus en aval plutôt que de quitter le système.

Un modèle d’usine MOAD construit une boucle fermée similaire. Chaque étape produit des sorties qui alimentent l’étape suivante :

Scan produit : une instance confirmée de défaut, une carte de localisation des nœuds affectés, une estimation de gravité basée sur la centralité d’intermédiarité et le trafic.

Patch produit : une correction de code, un test unitaire confirmant la correction, un diff révisable par les mainteneurs.

Article MOAD produit : un article du domaine public expliquant la classe de défaut, le modèle de scan et l’approche de correction. Capital intellectuel qui persiste au-delà de toute instance unique.

Divulgation CVE produit : un enregistrement normalisé dans la NVD, déclenchant des scanners de sécurité automatisés sur toutes les installations affectées. Capital social pour la communauté de sécurité.

PR upstream produit : la correction dans la source canonique, se propageant automatiquement à tous les forks en aval lors de leur prochaine mise à jour de dépendance.

Chaque sortie alimente le retour : un article MOAD apprend aux chercheurs à trouver de nouvelles instances, ce qui génère de nouveaux scans. Le test unitaire devient une protection contre les régressions. L’enregistrement CVE pousse les équipes d’exploitation à adopter le correctif, qu’elles auraient autrement ignoré. La boucle se referme.

Condition d’arrêt : un correctif divulgué sans confirmation de la capacité en aval inonde la file d’attente. MOAD-0001 et MOAD-0005 sont couplés : corriger O(N²) à un nœud à forte intermédiarité et tous les processeurs en aval s’inondent simultanément. Le principe de permaculture « concevoir pour le système global » s’applique ici aussi : optimiser le composant peut créer un nouveau goulot d’étranglement en aval.

Cartographie des sorties vers les capitaux

Un pipeline MOAD produit cinq sorties : un résultat de scan, un correctif, un article MOAD, une divulgation CVE et une PR upstream.

Mappez chaque sortie à la forme de capital qu’elle fait principalement croître. Identifiez ensuite quelle étape unique, si elle était supprimée, produirait le plus de « gaspillage » — la plus grande énergie non routée dans le système — et expliquez pourquoi.