核心内容摘要
【小程序毕设全套源码+文档】基于Android和java的酒店管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
世界各地的关键IT系统仍然充斥着漏洞而AI工具可能会让利用这些漏洞变得前所未有的容易。
但AI也可能成为解决方案的一部分一项新计划旨在自动将易受攻击的代码转换为专注于安全的Rust语言这将消除绝大多数已知的软件漏洞。
内存安全漏洞占70%的软件漏洞AI编程工具的快速发展使得处理那些以前因成本过高或耗时太长而无法承担的软件工程任务变得比以往任何时候都容易。
进步研究所智库启动了重大重构计划使用这些工具将用C和C编写的开源软件转换为Rust。
与前两种语言不同Rust被设计用来防止一类危险的漏洞——内存攻击。
内存安全问题发生在软件以非预期方式访问或操作内存时。
这些漏洞在为开发者提供内存处理手动控制的旧语言中很普遍。
大多数新语言都包含防护措施来防止此类问题但这通常以较低性能为代价。
因此C和C等内存不安全语言仍被广泛使用内存安全漏洞仍占软件漏洞的约70%。
AI驱动的代码转换革命Rust于2015年首次发布旨在在引入内存安全的同时匹配C和C的性能。
这种语言已被渴望加固代码的科技公司快速采用包括亚马逊、谷歌和微软但将旧软件转换为Rust是一个费时费力的昂贵过程。
剑桥大学博士生、项目负责人赫比·布拉德利表示重大重构计划的成功基于AI工具已经改变了等式这一观点。
该计划提议建立一个由美国政府资助的专项研究组织使用AI驱动的编程工具到2030年将关键开源软件库中的1亿行代码转换为Rust。
布拉德利估计投资1亿美元该项目可以防止数百次网络攻击累计损失约20亿美元。
我非常看好AI改变软件开发方式的能力这显然包括做一些以前被认为成本或时间禁止的事情的潜力布拉德利说。
五年后如果人们想要任何主要库的Rust版本...他们将能够制作出来。
布拉德利表示这种方法如此有吸引力的原因是它有可能一次性解决大量漏洞而不必采用逐案处理每个漏洞的常规方法。
这对于由少数过度工作的志愿者维护的小型开源库的长尾来说可能特别有吸引力。
人工转换与AI自动化的较量手动将小型C代码库转换为Rust通常需要经验丰富的Rust工程师数千小时的人力投入而这类工程师供不应求。
但布拉德利表示最新的AI编程工具现在可以在很少监督的情况下可靠地执行少于1000行程序的翻译。
在稍加监督的情况下包含多达5000行的程序也在可及范围内。
布拉德利补充说这些能力也在快速发展。
概述该提案的立场文件表明一个由不到50名安全工程师、AI研究人员和管理人员组成的团队可以在三到五年的时间内对关键开源库产生相当大的影响。
初步努力将集中于识别最重要的安全库并开发用于验证AI翻译代码安全性和功能性的强大工具。
该项目希望借助现有的创建AI驱动Rust翻译工具的努力最值得注意的是美国国防高级研究计划局的将所有C转换为RustTRACTOR程序。
该程序于2024年启动旨在研究如何将新兴的生成式AI工具与传统代码分析相结合以自动化Rust翻译。
混合方法的探索与实践尽管自启动以来AI代码生成有了快速改进但项目经理丹·沃拉奇认为混合方法仍然可能胜出。
他表示该计划资助的六个团队采取了多种方法从几乎完全依赖AI到主要构建经典转换工具只将问题的部分外包给生成模型。
AI看起来很有前途但我们也有几十年编写软件来分析其他软件的研究他说。
TRACTOR的全部意义在于探索您可能混合和匹配传统计算机科学与现代AI的所有不同方式。
各团队在12月提交了第一轮结果该计划的评估团队目前正在分析他们的参赛作品。
沃拉奇表示他们将被评判的两个主要标准是正确性代码是否做它应该做的事情和性能但第三个更主观的衡量标准可能是最重要的。
各团队被要求创建惯用的Rust代码——遵循最佳实践并以既定方式解决问题的代码。
换句话说代码看起来像熟练的Rust程序员从头构建的样子吗沃拉奇说。
挑战与前景并存的未来这对于确保生成的代码易于人类工程师维护至关重要但为Rust项目贡献的开源开发者乔什·特里普莱特表示这可能具有挑战性。
如果你使用AI翻译的代码与手动翻译的代码相比你可能最终得到人类难以维护的代码他说。
特里普莱特表示这可能并不总是问题他欢迎任何将更多代码转换为Rust的努力。
如果项目已经在使用AI帮助维护其代码——这种情况越来越常见——那么使用AI翻译成Rust是完全合理的。
但他警告那些尚未定期使用该技术的团队不要为了代码转换而转向它。
他还认为对于数千个其他项目依赖的流行开源库需要更加谨慎。
可能你会想在转换中更加小心也许使用AI来帮助你但要非常小心他说。
AI在防止做错事方面永远不会有100%强大的万能解决方案无论是通过幻觉还是不理解任务。
乔治城大学安全与新兴技术中心高级研究分析师杰西卡·季表示另一个潜在挑战是虽然Rust的受欢迎程度在增长但它仍然有相对较小的开发者基础。
假设AI翻译一切顺利生成的Rust代码将需要以某种方式维护和监控她在给IEEE Spectrum的电子邮件中写道。
那里的Rust专家比C/C专家少得多所以代码库上的专家眼睛数量可能会更少。
然而季表示也许最大的障碍将是说服美国政府资助该项目特别是在设想的规模上。
她认为更现实的目标可能是向私营部门寻求概念验证的资金。
我认为现在是推出这样提案的好时机因为AI公司特别有动机展示其模型的能力她说。
布拉德利也在考虑类似的思路。
虽然他与美国和英国政府代表进行了讨论但他也在探索该项目是否更适合作为商业企业因为大量可以从转换为Rust中受益的易受攻击代码存在于私营公司和关键基础设施提供商中。
QAQ1重大重构计划是什么它的目标是什么A重大重构计划是由进步研究所智库启动的一项计划旨在使用AI工具将用C和C编写的开源软件自动转换为Rust语言。
该计划提议建立一个由美国政府资助的专项研究组织到2030年将关键开源软件库中的1亿行代码转换为Rust投资1亿美元预计可防止数百次网络攻击。
Q2为什么要将C和C代码转换为RustA因为内存安全漏洞占所有软件漏洞的约70%而C和C等旧语言容易出现内存攻击漏洞。
Rust语言在2015年发布专门设计用来在保持C和C性能的同时引入内存安全可以防止这类危险漏洞。
虽然亚马逊、谷歌、微软等公司已快速采用Rust但手动转换过程费时费力且昂贵。
Q3AI工具在代码转换中能发挥什么作用A最新的AI编程工具现在可以在很少监督的情况下可靠地执行少于1000行程序的翻译在稍加监督下可处理多达5000行的程序。
手动转换小型C代码库通常需要经验丰富的Rust工程师数千小时工作而AI工具可以大大降低这个成本和时间使以前因成本过高而无法承担的软件工程任务变得可行。