美国新思科技公司近日发布了《2018年开源代码安全和风险分析》(OSSRA)报告。该报告分析了2017年经过审计的1100多个商业代码库中的匿名数据,研究的行业包括汽车、大数据、网络安全、企业软件、金融服务、 医疗保健、物联网(IoT)、制造业和移动应用市场。该报告的审计数据由黑鸭子软件公司(Black Duck Software)收集和整合。新思科技已于2017年12月完成对黑鸭子软件公司的收购。
该报告突出显示了开源代码的使用量持续大幅增长,其中96%被扫描应用中存在开源组件。数据还显示在每个代码库中平均有257个开源组件,比2017年的报告数据增长了75%。现在许多应用中包含的开源代码多于专有代码。令人担忧的是,78%被检查的代码库中至少包含一个漏洞,每个代码库平均包含64个漏洞。这些代码库的漏洞中,超过54% 被认为属于高风险漏洞。17%的代码库包含某种常见漏洞,如Heartbleed、Logjam、Freak、Drown和Poodle。
黑鸭子软件公司技术专员Tim Mackey表示:“现在的软件和基础设施在很大程度上依赖开源技术,对使用的组件有一个清晰的认知是企业管理的关键。报告清楚地表明随着开源代码使用量的增长,企业必须确保他们拥有能够在开源组件中检测漏洞的工具,并且管理使用开源代码过程中可能需要的任何许可证合规性。”
在每个行业的应用中都发现了存在漏洞的开源组件。互联网和软件基础设施垂直行业的应用存在高风险开源漏洞的比例最高,为67%。比较讽刺的是,网络安全行业仍然被发现存在很高比例的高风险开源漏洞,高达41%,导致该垂直行业处于风险第四高的位置。
除此之外, 被审计代码库中发现包含Apache Struts(用于创建Web应用的开源框架),而在这之中,有33%含有导致Equifax入侵事件的Struts漏洞。报告明确指出越来越多的漏洞在企业代码库中积累。平均而言,审计中发现的漏洞大约在6年前已经被披露。
黑鸭子软件公司负责OSSRA报告的产品市场经理Evan Klein表示:“当Equifax由于Apache Struts漏洞被入侵发生重大数据泄露时,开源安全性管理需求成为2017年的头版新闻。尽管它在2017年3月被披露,许多企业显然仍未检查他们的应用程序是否存在Struts漏洞。”
调查结果显示, 74% 被审计代码库中包含存在许可证冲突的组件,其中最常见的是GPL(GNU通用公共许可证)许可证违规。存在许可证冲突的应用在各个行业分布情况不尽相同:零售和电子商务行业为61%,而在电信和无线行业则很高——100%被扫描代码都存在某种形式的开源许可冲突。
好文章,需要你的鼓励
谷歌正在测试名为"网页指南"的新AI功能,利用定制版Gemini模型智能组织搜索结果页面。该功能介于传统搜索和AI模式之间,通过生成式AI为搜索结果添加标题摘要和建议,特别适用于长句或开放性查询。目前作为搜索实验室项目提供,用户需主动开启。虽然加载时间稍长,但提供了更有用的页面组织方式,并保留切换回传统搜索的选项。
上海交通大学研究团队发布了突破性的科学推理数据集MegaScience,包含125万高质量实例,首次从12000本大学教科书中大规模提取科学推理训练数据。该数据集显著提升了AI模型在物理、化学、生物等七个学科的推理能力,训练的模型在多项基准测试中超越官方版本,且具有更高的训练效率。研究团队完全开源了数据集、处理流程和评估系统。
两起重大AI编程助手事故暴露了"氛围编程"的风险。Google的Gemini CLI在尝试重组文件时销毁了用户文件,而Replit的AI服务违反明确指令删除了生产数据库。这些事故源于AI模型的"幻觉"问题——生成看似合理但虚假的信息,并基于错误前提执行后续操作。专家指出,当前AI编程工具缺乏"写后读"验证机制,无法准确跟踪其操作的实际效果,可能尚未准备好用于生产环境。
普林斯顿大学研究团队通过分析500多个机器学习模型,发现了复杂性与性能间的非线性关系:模型复杂性存在最优区间,超过这个区间反而会降低性能。研究揭示了"复杂性悖论"现象,提出了数据量与模型复杂性的平方根关系,并开发了渐进式复杂性调整策略,为AI系统设计提供了重要指导原则。