Dapr 发布模糊测试报告|Dapr 完成模糊测试审核
Dapr 团队最近在博客上发布了 Dapr 完成模糊测试审核[1]的文章,该审计是 CNCF 通过模糊测试改善[2]开源云原生项目安全状况的计划的一部分。该审计由 Ada Logics[3] 于 2023 年 5 月和 6 月进行的,Ada Logics 团队为了改善 Daprs 安全状况,并且由于创建了大量模糊器,发现的问题数量很少,一共开发了 39个 fuzzer,发现了3个问题,三个问题的数量非常少,这证明了 Dapr 项目编写良好且维护良好的代码库。这也表明了代码库的成熟水平。 审计中的所有模糊器都是开源的,最初被添加到 CNCF 的模糊测试存储库[4]中,团队已经开始将模糊器迁移到Dapr 仓库中[5]来完善Dapr的测试。
该审计为 3 个 Dapr 项目添加了模糊器:Dapr 运行时 (github.com/dapr/dapr)、Dapr 工具包 (github.com/dapr/kit) 和 Components-contrib。Ada Logics通过将Dapr集成到Google的开源项目OSS-Fuzz[6] -中开始了审计,该项目大规模运行关键开源项目的模糊器。在设置初始集成后,Ada Logics 编写了 39 个模糊器并将它们添加到 Daprs OSS-Fuzz 集成中。连续性是强大的模糊测试套件的重要组成部分;在连续运行模糊程序的几个 CPU 年之后,发现了一些错误。Daprs OSS-Fuzz 集成可确保其模糊程序即使在审核完成后也能运行,以继续探索代码库。
Ada Logics为许多复杂且特别公开的端点编写了模糊器,其中一些包括:
- Dapr 工具包加密包:密钥解析和序列化。
- Dapr Runtime HTTP/GRPC 端点。
- 元数据解码在Components-Contrib中广泛使用。
- Apache Dubbo 序列化。
- Dapr Sidecar注入器的请求处理
- Raft日志处理。
- 访问控制
Fuzzing 是一种通用技术,用于自动识别可靠性和安全问题。它通常被安全研究人员用来发现系统中的漏洞,该技术已成功应用于各种 CNCF 项目,如 Kubernetes、Envoy、Helm、Linkerd2-proxy 和 Fluent-bit。fuzzing 的一般方法是使用遗传算法(genetic algorithm)与复杂的程序分析和软件仪器技术相结合,以生成在目标软件中实现高水平代码覆盖的输入。

最后 这里我非常想分享一个案例:昨天我去 中国财产再保险集团 深度体验了 Dapr 在中国的早期Dapr 案例, 我惊奇的发现 Dapr 在他们的环境中已经持续运行了3年多,系统一直很稳定,虽然一定程度上上可以体现出Dapr 的连续性非常好,但是这不是一个鼓励的案例,还一直停留在 0.11.2版本,上个月dapr 已经发布了1.11版本[7]。 现在Dapr 有了更完善的测试,包括模糊测试,我们可以非常放心的对Dapr 进行版本升级。

你已经看到了这里,肯定对Dapr 有兴趣吧,下个周六 7.15 我们有个云原生的社区活动[8]我会分享Dapr 的进一步信息,欢迎报名参会。
相关链接:
- [1]Dapr 完成模糊测试审核: https://blog.dapr.io/posts/2023/06/30/dapr-completes-fuzzing-audit/
- [2]CNCF 通过模糊测试改善计划:https://www.cncf.io/blog/2022/06/28/improving-security-by-fuzzing-the-cncf-landscape/
- [3]Ada Logics: https://adalogics.com/
- [4]CNCF 的模糊测试存储库: https://github.com/cncf/cncf-fuzzing
- [5]将模糊器迁移到Dapr 仓库中:https://github.com/dapr/dapr/pull/6569
- [6]Google的开源项目OSS-Fuzz:https://github.com/google/oss-fuzz
- [7]dapr 1.11版本 发布:https://www.cnblogs.com/shanyou/p/17480763.html
- [8]7 月 15 日,论道深圳|云原生开源项目应用实践专场第三站报名开启: https://mp.weixin.qq.com/s/DOQ9aFxcS6M6_VmKfpQm9Q
Dapr 发布模糊测试报告|Dapr 完成模糊测试审核的更多相关文章
- APP手工项目02-用例编写-测试报告-fiddler弱网测试
回顾 APP专项测试(兼容性,安装,卸载,升级,交叉事件,PUSH消息,性能,其他类型) 项目环境(开发环境,测试环境,准生产环境,生产环境) APP内测发布平台(蒲公英,fir.im)支持apk,i ...
- itest(爱测试) 4.2.1 发布,开源BUG 跟踪管理 & 敏捷测试管理软件
itest 入选 2019 年度最受欢迎开源中国软件 开源工具的发展,离不开你我的支持,需要您投上宝贵的一票 去投票 itest 简介:查看简介 itest 开源敏捷测试管理,testOps 践行者 ...
- itest(爱测试) 4.2.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件
itest 入选 2019 年度最受欢迎开源中国软件 开源工具的发展,离不开你我的支持,需要您投上宝贵的一票 去投票 v4.2.0下载地址 :itest下载 itest 简介:查看简介 itest ...
- itest(爱测试) 4.1.5 发布,开源BUG 跟踪管理 & 敏捷测试管理软件
v4.1.5下载地址 :itest下载 itest 简介:查看简介 itest 开源敏捷测试管理,testOps 践行者.可按测试包分配测试用例执行,也可建测试迭代(含任务,测试包,BUG)来组织测试 ...
- 【新品发布】智能驾驶实车测试系统-VDAS
智能驾驶技术的迭代研发,需要多种传感器.海量数据.海量场景的支撑.而目前多种传感器Gbit/s级别的数据同步采集.海量数据的快速分析和评估.关键场景的切片和提取,是业界公认的棘手问题. 为了解决上述的 ...
- itest(爱测试) 4.5.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件
itest 简介 test 开源敏捷测试管理,testOps 践行者.可按测试包分配测试用例执行,也可建测试迭代(含任务,测试包,BUG)来组织测试工作,也有测试环境管理,还有很常用的测试度量:对于发 ...
- itest(爱测试) 4.4.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件
itest 简介 test 开源敏捷测试管理,testOps 践行者.可按测试包分配测试用例执行,也可建测试迭代(含任务,测试包,BUG)来组织测试工作,也有测试环境管理,还有很常用的测试度量:对于发 ...
- itest(爱测试) 4.3.1 发布,开源BUG 跟踪管理 & 敏捷测试管理软件
4.3.0 发布后有三个用户强烈要求的更新,所以一周后4.3.1出炉,有点版本帝的味道哈,用户的反馈是我们持续升级的动力...... itest 简介:查看简介 test 开源敏捷测试管理,testO ...
- itest(爱测试) 4.3.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件
itest 简介:查看简介 test 开源敏捷测试管理,testOps 践行者.可按测试包分配测试用例执行,也可建测试迭代(含任务,测试包,BUG)来组织测试工作,也有测试环境管理,还有很常用的测试度 ...
- Gitlab + Jenkins 构建,发布一个基于Go的Gin测试项目
部署Go项目简介 对于golang的发布,之前一直没有一套规范的发布流程,来看看之前发布流程: 方案一 • 开发者本地环境需要将环境变量文件改为正式环境配置 • 编译成可执行文件 • 发送给运维 • ...
随机推荐
- jquery实现一个网页同时调用多个倒计时
<div class="time countdown_1" data-time="1449429731"> <span class=" ...
- Java实现平衡二叉搜索树(AVL树)
上一篇实现了二叉搜索树,本章对二叉搜索树进行改造使之成为平衡二叉搜索树(Balanced Binary Search Tree). 不平衡的二叉搜索树在极端情况下很容易退变成链表,与新增/删除/查找时 ...
- [C++核心编程] 3、函数提高
文章目录 3 函数提高 3.1 函数默认参数 3.2 函数占位参数 3.3 函数重载 3.3.1 函数重载概述 3.3.2 函数重载注意事项 3 函数提高 3.1 函数默认参数 在C++中,函数的形参 ...
- SPN在域环境的应用
windows域为了集中资源,有效地对资源访问控制权限进行细粒度分配,提高网络资源统一分配的管理.域内的每种资源分配了不同的服务主体名称(SERVICE Pricipal Name,SPN) 相关概念 ...
- 使用require.context实现优雅的预加载
前言 在前端开发中,对页面花里胡哨度[注1]要求越高的页面,用到的图片.音频什么的就越多,比如什么结婚请柬.展会请柬.发布会宣传页.数据大屏.虽然现在浏览器不允许网页在没有用户交互的情况下播放音频,但 ...
- 2022-11-13:以下go语言代码中,如何获取结构体列表以及结构体内的指针方法列表?以下代码应该返回{“S1“:[“M1“,“M2“],“S2“:[],“S3“:[“M1“,“M3“]},顺序不限
2022-11-13:以下go语言代码中,如何获取结构体列表以及结构体内的指针方法列表?以下代码应该返回{"S1":["M1","M2"], ...
- 2021-08-19:超级洗衣机。假设有 n 台超级洗衣机放在同一排上。开始的时候,每台洗衣机内可能有一定量的衣服,也可能是空的。在每一步操作中,你可以选择任意 m (1 ≤ m ≤ n) 台洗衣机,
2021-08-19:超级洗衣机.假设有 n 台超级洗衣机放在同一排上.开始的时候,每台洗衣机内可能有一定量的衣服,也可能是空的.在每一步操作中,你可以选择任意 m (1 ≤ m ≤ n) 台洗衣机, ...
- vue全家桶进阶之路42:Vue3 SCSS、SASS、CSS
SCSS和SASS都是CSS预处理器,它们的主要目的是简化CSS的编写,增加可维护性,并提供更丰富的功能.下面是它们与普通的CSS的区别: 语法:SCSS和SASS都具有比普通CSS更丰富的语法.其中 ...
- Java中synchronized的优化
本文介绍为了实现高效并发,虚拟机对 synchronized 做的一系列的锁优化措施 高效并发是从 JDK5 升级到 JDK6 后一项重要的改进项,HotSpot 虚拟机开发团队在 JDK6 这个版本 ...
- Midjourney|文心一格prompt教程[Text Prompt(上篇)]:品牌log、App、徽章、插画、头像场景生成,各种风格选择:科技风、运动风
Midjourney|文心一格prompt教程[Text Prompt(上篇)]:品牌log.App.徽章.插画.头像场景生成,各种风格选择:科技风.运动风 1.撰写 Text Prompt 注意事项 ...