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

un

访客
1 / ?
返回课程列表

MOAD 扫描器作为永续农业实践

永续农业的第一原则:在行动前先观察。在你想要改变的系统中花时间。理解其流动、积累和废物流,然后再设计干预措施。观察水在哪里积聚、阳光在哪里照射、养分在哪里集中的园丁,比遵循通用计划的园丁能更有效地种植植物。

MOAD 扫描器将这一原则应用于软件生态系统。在提交任何问题之前,先扫描跨项目和语言。映射缺陷的分布:有多少项目携带 CWE-407?哪些在高流量路径中携带?哪些上游包如果被修补,将把修复传播给最多的依赖者?在对任何单个节点采取行动之前,先观察生态系统。

永续农业应用于代码:扫描 2192 储存 2192 修补 2192 披露 2192 循环

与提取式实践形成对比:发现漏洞,将其出售给漏洞经纪人,收取报酬,然后离开。研究者从知识中提取了金融资本并离开。没有知识传播。没有系统改进。每个受影响项目的未来用户仍然脆弱。经纪人持有知识,而随着漏洞在未披露的情况下老化,其价值会衰减。

永续计算机实践:发现缺陷、修补它、披露它、提交上游、将补丁以公共领域方式发布。知识传播时不会衰减——实际上它会累积:已披露的 CVE 成为参考,MOAD 帖子传授模式,未来研究者用相同模式发现新实例。形成闭环而非终端提取。

永续农业的观察先于永续农业的行动。扫描生成关于激增分数、依赖图谱和受影响节点数量的数据,然后才移动任何补丁。这些数据决定哪些补丁优先发布:高介数节点优先于叶节点,因为修复一个被广泛依赖的库能以单位努力传播更远。

无废物产出:三种披露路径

研究者在流行开源库中发现关键漏洞后可采取的三条路径:

A. 以 10,000 美元的价格出售给漏洞经纪人。

B. 私下向维护者报告并设定 90 天披露时间线,随后无论补丁状态如何均予以发布。

C. 立即提交补丁作为拉取请求,同时进行公开披露。

运用永续农业原则“无废物产出”评估每个选项。识别每条路径产生的输出、这些输出流向何处,以及哪些输出作为废物离开系统(未被路由的能量,对任何人均无益)。

开放系统中的复利

永续农业的第二条原则:在能量充沛时捕获并储存,以便在匮乏时使用。雨水收集系统在暴雨期间储存水,以供旱季使用。食物森林将太阳能以果实和生物质的形式跨季节储存。目标:使储存时机与丰裕时机相匹配。

Hamming 的复利知识:每项新技术都与你列出的重要问题相连,从而成倍提升产出。对于 Shannon 而言,关于信息熵的单一洞见解锁了十年的理论工作,因为它同时连接了他清单上的每一个开放问题。储存的知识支付了复利。

开源复合与个人复合的运作方式不同。合并到规范仓库中的修复会将能量存储在一个位置,所有下游分支都能自动从中汲取。2022 年提交给 Python asyncio 库的补丁无需原研究者额外操作即可传播到所有使用该库的项目。能量存储在源头,并通过依赖图进行复合。

MOAD 文章以不同方式存储能量:每篇文章教授的是扫描模式,而非仅披露特定实例。阅读 CWE-407 MOAD 文章的研究者不仅会了解到项目 X 存在刷新漏洞,还会理解该刷新模式在任何语言中的表现形式、如何搜索它,以及如何将其与良性相似代码区分开来。未来的研究者可利用已存储的模式发现新实例,而无需从头重新发现。

能量存储机制与能量本身同样重要。存储在私人笔记本中的知识仅为笔记本所有者复合。存储在公共仓库中的知识为所有阅读者复合。存储在 CVE 数据库中的知识为所有运行安全扫描器的人复合。每个存储位置都具有不同的复合特性。

问题跟踪器与个人问题清单

Hamming 保留了一份包含 10 个重要问题的清单,并反复返回查看。该清单使他能够识别何时有新技术解决了其中某个问题。他的清单充当个人存储能量:一种耐用的模式匹配投资,每次新技术出现时都会产生回报。

开源项目的问题跟踪器如何与 Hamming 的个人 10 问题清单发挥类似功能?两者有何不同?请至少指出问题跟踪器相对于个人清单的一个优势,以及个人清单相对于问题跟踪器的一个优势。

MOAD 循环作为封闭系统

永续农业:在设计良好的系统中,一个过程的输出会成为另一个过程的输入。没有任何输出以“废物”的形式离开系统。食物森林里的一只鸡会产出鸡蛋(食物)、粪便(肥料)、害虫控制(服务)和刨土(土壤通气)。每种输出都会被导向下游过程,而不是离开系统。

MOAD 工厂模型构建了类似的闭环。每个阶段产生的输出都会喂入下一阶段:

扫描 产生:已确认的缺陷实例、受影响节点的定位图、基于中介中心性与流量的严重程度估算。

修补 产生:代码修正、确认修复的单元测试、可供维护者评审的 diff。

MOAD 文章 产出:一篇解释缺陷类别、扫描模式及修复方法的公有领域文章。超越单一实例的智力资本。

CVE 披露 产出:NVD 中的标准化记录,触发所有受影响安装的自动化安全扫描器。为安全社区积累社会资本。

上游 PR 产出:规范源代码中的修复,自动传播到所有下游分支的下一次依赖更新。

每个输出都会反馈:MOAD 文章教导研究人员发现新实例,从而生成新扫描。单元测试成为回归防护。CVE 记录推动运维团队采用补丁,否则他们可能会忽略。循环闭合。

终止条件:未确认下游容量即披露补丁会淹没队列。MOAD-0001 与 MOAD-0005 耦合:在高介数节点修复 O(N²) 问题,会导致所有下游处理器同时泛滥。永续设计的“整体系统”原则在此同样适用:优化组件可能在下游制造新瓶颈。

将输出映射到资本

MOAD 流水线产生五种输出:扫描结果、补丁、MOAD 文章、CVE 披露及上游 PR。

将每种输出映射到其主要增长的资本形式。然后找出若移除哪一步会产生最多“浪费”——系统中未被引导的能量——并解释原因。