提交你的代码

当你改进了 OpenRASP,并打算将代码合并,你可以在 Github 上发起 Pull Request。针对不同的改动,我们需要花费不同的时间来进行复审。所以请尽可能的说明你的改动,和目的。

检测算法改进

根据算法用途,通常可分为两类,

  • 线上安全防护使用
  • 线下安全测试使用
    无论是哪种情况,请说明以下几点:

  • 当前算法存在哪些问题,你需要解决什么问题?

    • 可以同时提供漏洞测试用例
  • 新算法误报情况如何,是否会影响服务器性能?
    • 如果性能不符合要求,但是算法被接受,我们会合并代码,但默认在配置里禁用这个功能
    • 对于有特殊应用场景,但不通用的算法,处理方法同上

      增加检测点

对于检测点的改进,请注意:

  • 如果是SQL相关的改进
    • 请尽量支持全部数据库 - MSSQL、PGSQL、MySQL、SQLite、DB2
      • 如果不能,我们可以先合并代码,但默认在配置里禁用这个新功能
      • 除特殊情况,只有在全部数据库支持后,我们才能正式说明支持了这个功能
      • 如果你没有系统环境,比如 DB2,我们可以排期开发
    • 可以使用 docker 进行自动化测试,这是我们目前使用的镜像列表
      • microsoft/mssql-server-linux:2017-GA
      • alexeiled/docker-oracle-xe-11g
      • mysql:5
      • postgres:9-alpine
  • 请提供测试用例,包括漏洞利用方法、正常的请求如何发起

    认可你的贡献

通常,我们在 contributer 名单里加上你的名字。当然,如果你想匿名提交代码,我们也可以不修改这个名单

原文: https://rasp.baidu.com/doc/hacking/pull-request.html