We are retiring our bug bounty program
360 points • 4 days agoArticle Link

Turso 正在终止运行近一年的漏洞赏金计划。该计划曾向能复现导致数据损坏的漏洞的提交者支付 1000 美元奖励,但大量低质量、 AI 生成的提交(被称为"slop")使得该计划不可持续。尽管计划识别出少数优秀的贡献者,经济激励却也吸引了大量自动化、无意义的拉取请求,耗费维护者大量时间来审核和驳回。

该计划最初是为了在重写 SQLite 时增强外界对 Turso 可靠性的信心。团队虽然采用了确定性模拟、模糊测试以及与 SQLite 的差分测试等严格方法,但也承认自动化测试有其局限。赏金的初衷是发现这些工具遗漏的边缘情况,起初确实有效——吸引了一些技术过硬的人,他们不仅发现了真实问题,还为测试基础设施的改进做出贡献。

然而,先进的 AI 工具改变了局面。 1000 美元的奖励成为一些人利用 LLMs 大规模生成漏洞报告的目标,不问真假就大量提交。例如有的 PR 故意破坏数据库头部便宣称发现"bug",或者误解并发写入等核心特性而提交错误报告。这类提交通常夹杂乱码和虚假断言,维护者要花数小时去处理,而提交者只需几分钟即可生成。

Turso 曾引入担保机制以自动关闭疑似机器人的提交,但这只促使机器人继续开新的问题,要求人工复核。生成 slop 的成本极低,而人工评估的成本很高,这种不对称使赏金计划难以为继。尽管 Turso 重视开放贡献模式,团队最终认为在开放体系中任何金钱激励都会被 AI 利用,不得不终止该计划,以维护维护者的精力和项目的完整性。

285 comments • Comments Link

• 软件开发真正的瓶颈不是写代码,而是阅读和理解代码。 AI 生成的代码加剧了这一问题,因为它产出大量没人能完全理解的代码,包括 AI 自己。在我们能对 AI 的输出负责之前,不能把理解能力完全托付给它。

• "战术龙卷风"指的是那些能迅速产出代码但留下破坏性后果的开发者。管理层常因他们的速度而表扬他们,但对必须维护这些代码的工程师来说,他们并不是英雄。这类人往往在公司待很久,有时成为最后留下的工程师,而主张可维护性的人则选择离开。

• 在许多组织里,战术龙卷风往往没有任何惩罚,反而经常得到晋升和加薪。企业优先考虑快速上线以兑现销售承诺,因此无论代码质量如何,能快速交付的人都会被奖励。久而久之,许多工程师放弃了清理烂代码,只专注于把事情做完。

• 这种情况在管理层施压评审人员尽快合并代码时尤为严重,常以"如果我们为明天编码,我们永远也干不完"为由驳回关于可维护性的担忧。评审者最终学会放行这些开发者,接受以后有人来收拾烂摊子的现实。权力关系也会影响决策:资深或有影响力的开发者让别人很难反对。

• AI 可能成为终极的战术龙卷风,乐于添加数百行代码,用条件语句堆砌来修复问题,结果是交织混乱、难以理解的代码和臃肿的测试套件。虽然眼前的错误可能被修掉,测试覆盖率看似提高,但代码库的长期可维护性却在受损。

• 为了遏制 AI 生成的垃圾代码,有人提出对每次提交收取名义性费用(例如 5–10 美元),如果提交确有问题则退还。这样的金钱摩擦能过滤掉靠 AI "喷洒式"提交的恶意行为者,同时不会吓退认真的研究者。对被拒绝提交给予有质量的人工反馈,也会成为工程师宝贵的学习机会。

• 对漏洞赏金提交收费也可以推广到其他领域,例如对客户支持提交收取(例如 100 美元),以保证人工分类与升级。这能降低琐碎问题的噪音,确保真正的问题得到处理。但费用设计必须平衡,避免排斥低收入地区的用户或激励虚假的行为声明。

• 大型 PR 本身并非天生有害,只要组织得当且确为必要的基础性变更。然而,如果它们被用来规避适当的审查或引入不必要的重构,就会成问题。情境很重要:可信工程师在绿地项目上的大规模 PR,和中级工程师在无充分理由下重构成熟产品,是两回事。

• AI 生成代码与人类审查能力之间的不对称正变得越来越严重。 AI 能远快于人类生成和验证代码,但解决之道不一定是更多 AI 。相反,需要更好的流程:更小的迭代 PR 、更严格的审查标准,以维护代码质量。

• 一些组织在尝试限制 AI 生成的提交,比如要求工作量证明或先用 AI 预筛选 PR,但这些方案并不完美且实施成本可能很高。最终,问题可能需要系统性改变,比如对公共仓库采取"只读不动"策略,或建立类似行会的信任网络来审核贡献者。

• AI 生成的垃圾代码正在侵蚀开源协作——过去任何人都能贡献改进的模式正受到冲击。维护者被低质量 PR 和错误报告淹没,不得不关闭或限制贡献渠道。这种转变破坏了开源的社区精神,可能导致更多封闭、仅限邀请的社区出现。

• 尽管面临挑战,一些人认为 AI 将继续存在,必须学会适应。目前正在探索的解决办法包括对提交收费、使用 AI 过滤垃圾代码、建立基于声誉的信任网络;也有人主张完全关闭开放贡献模式,认为在 AI 噪音横行的时代,维持开放协作的成本超过收益。

讨论显示,在软件开发中快速采用 AI 与其带来的实际问题之间存在深刻张力。 AI 能加速代码生成,但常以可维护性、理解和信任为代价。无论是人类还是 AI 的"战术龙卷风",因速度被赞扬的同时也留下持久的损害,需要别人来收拾残局。社区正尝试各种应对方式——从金钱摩擦到贡献管理的系统性变革——但尚未达成共识。可以确定的是,开放、低摩擦的协作时代可能正在结束,取而代之的是更多门控和基于信任的模式。