软件安全Openkylin开源贡献操作文档

找到相应的openkylin和github仓库

1.我们先找到一个感兴趣的openkylin仓库curl,https://gitee.com/openkylin/curl

图1

2.我们找到它对应的github仓库:https://github.com/curl/curl,并将其克隆到本地

图2

图3

寻找漏洞

1.我们进入到curl项目,然后执行git log –grep=”CVE” –all-match命令,在整个github仓库的提交历史里,筛选出提交信息中匹配 “CVE”的提交记录并显示出来,我们观察到存在一个CVE-2023-38545漏洞已经在github仓库中被修复

图4

图5

2.接下来我们进入https://gitee.com/openkylin/curl仓库,查看这个漏洞是否在openkylin库中被提出,可以观察到这个漏洞还未提交到openkylin库

图6

3.我们仔细比对两个库的代码,发现这个漏洞确实还未修复,相关文件代码还未修改

(1)Github仓库:

图7

(2)openkylin仓库:

图8

填写相关issue信息

1.我们点击刚才终端中的那个链接,并将其打开,得到漏洞的相关描述信息

图9

图10

2.我们新建issue,根据上述信息来填写相关描述信息。

图11

图12

3.成功发布issue,完成贡献。

https://gitee.com/openkylin/curl/issues/ID90N0?from=project-issue

图13

修复相关漏洞

1.将此仓库fork到我们本地仓库,之后git clone到本地,并找到相应的代码段,进行修改,之后git push提交。

图14

2.修改完之后会push到本地仓库,我们需要建立与主仓库的Pull Requsets,并且绑定相应的issue。

图15

图16

3.查看我们提交的代码,完成贡献。

图17

4.等待社区审核,可以看到解决了问题,已修复,issue完成

图18

图19

5.在pull requests查看社区老师审核结果,已合并,完成贡献。

图20

图21

相关链接:https://gitee.com/openkylin/curl/pulls/46

实验报告持续更新中…