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 的进一步信息,欢迎报名参会。

相关链接:

Dapr 发布模糊测试报告|Dapr 完成模糊测试审核的更多相关文章

  1. APP手工项目02-用例编写-测试报告-fiddler弱网测试

    回顾 APP专项测试(兼容性,安装,卸载,升级,交叉事件,PUSH消息,性能,其他类型) 项目环境(开发环境,测试环境,准生产环境,生产环境) APP内测发布平台(蒲公英,fir.im)支持apk,i ...

  2. itest(爱测试) 4.2.1 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    itest 入选 2019 年度最受欢迎开源中国软件 开源工具的发展,离不开你我的支持,需要您投上宝贵的一票  去投票 itest 简介:查看简介 itest 开源敏捷测试管理,testOps 践行者 ...

  3. itest(爱测试) 4.2.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    itest 入选 2019 年度最受欢迎开源中国软件 开源工具的发展,离不开你我的支持,需要您投上宝贵的一票  去投票 v4.2.0下载地址 :itest下载 itest 简介:查看简介 itest ...

  4. itest(爱测试) 4.1.5 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    v4.1.5下载地址 :itest下载 itest 简介:查看简介 itest 开源敏捷测试管理,testOps 践行者.可按测试包分配测试用例执行,也可建测试迭代(含任务,测试包,BUG)来组织测试 ...

  5. 【新品发布】智能驾驶实车测试系统-VDAS

    智能驾驶技术的迭代研发,需要多种传感器.海量数据.海量场景的支撑.而目前多种传感器Gbit/s级别的数据同步采集.海量数据的快速分析和评估.关键场景的切片和提取,是业界公认的棘手问题. 为了解决上述的 ...

  6. itest(爱测试) 4.5.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    itest 简介 test 开源敏捷测试管理,testOps 践行者.可按测试包分配测试用例执行,也可建测试迭代(含任务,测试包,BUG)来组织测试工作,也有测试环境管理,还有很常用的测试度量:对于发 ...

  7. itest(爱测试) 4.4.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    itest 简介 test 开源敏捷测试管理,testOps 践行者.可按测试包分配测试用例执行,也可建测试迭代(含任务,测试包,BUG)来组织测试工作,也有测试环境管理,还有很常用的测试度量:对于发 ...

  8. itest(爱测试) 4.3.1 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    4.3.0 发布后有三个用户强烈要求的更新,所以一周后4.3.1出炉,有点版本帝的味道哈,用户的反馈是我们持续升级的动力...... itest 简介:查看简介 test 开源敏捷测试管理,testO ...

  9. itest(爱测试) 4.3.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    itest 简介:查看简介 test 开源敏捷测试管理,testOps 践行者.可按测试包分配测试用例执行,也可建测试迭代(含任务,测试包,BUG)来组织测试工作,也有测试环境管理,还有很常用的测试度 ...

  10. Gitlab + Jenkins 构建,发布一个基于Go的Gin测试项目

    部署Go项目简介 对于golang的发布,之前一直没有一套规范的发布流程,来看看之前发布流程: 方案一 • 开发者本地环境需要将环境变量文件改为正式环境配置 • 编译成可执行文件 • 发送给运维 • ...

随机推荐

  1. flume基本安装与使用

    解压flume包 到/usr/local/src/目录下 [root@hadoopha01 pack]# tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /usr ...

  2. cocos2d-x返回Android游戏黑屏解决办法

    返回Android游戏黑屏解决办法这几天逛cocos2d-x.org论坛,发现cocos2d-x的作者放出来一个帖子,用来解决返回Android游戏加载资源时黑屏的问题.帖子过些日子估计就沉了,所以转 ...

  3. AndroidApp加密数据明文抓取测试方法——hook方式

    0x00 前言 在做移动安全的app渗透或者说移动app的漏洞挖掘时,往往会碰到一种情况:好不容易绕过了app的反抓包机制,通过burp抓到了app传输的数据包,这时想对这部分数据做一些爆破.篡改之类 ...

  4. js中宏任务和微任务

    宏任务包括:<script>整体代码.setTimeout.setInterval.setImmediate.Ajax.DOM事件微任务:process.nextTick.Mutation ...

  5. OpenAI CLIP 关键点 - 连接图像和文字

    标签: #CLIP #Image2Text #Text2Image #OpenAI 创建时间:2023-04-21 00:17:52 基本原理 CLIP是一个图像分类模型. 准备训练数据:准备大量的文 ...

  6. 2步打通ModelArts和Astro,实现AI应用快速落地

    摘要:本文以 ModelArts 的"找云宝"自动学习 AI 应用为例,结合低代码平台 Astro 轻应用快速实现一个"找云宝"小应用. 本文分享自华为云社区& ...

  7. Unity2021SteamingAssets数量限制导致打包异常解决

    最近将项目从Unity2019升级到Unity2021,打包安卓的时候出现异常.查了下资料说是数量超出限制,需要设置不压缩的数量. 1. 使用自定义mainTemplate.gradle 打开编辑,a ...

  8. 2022-07-13:给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0)。 每一步,你可以从下标 i 跳到下标 i + 1 、i - 1 或者 j : i + 1 需满足:i +

    2022-07-13:给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0). 每一步,你可以从下标 i 跳到下标 i + 1 .i - 1 或者 j : i + 1 需满足:i + ...

  9. JS中的纯函数

    在JavaScript中,纯函数是指在相同的输入下,始终产生相同的输出,并且没有副作用的函数.纯函数不会修改或依赖于函数之外的状态,也不会对外部环境产生任何可观察的影响. 以下是纯函数的特点: 1. ...

  10. Docker入门与实战-Docker镜像的使用

    Docker入门与实战 二.Docker镜像的使用 1.获取镜像 ​ 命令:docker [image] pull image-name[:tag] ​ 说明: ​ name为镜像仓库名称,严格来说, ...