Gitee 帮助中心 / 帮助详情

    Gitee Scan

    Gitee Scan是一款静态代码扫描工具,可以借助强大的内置规则,直接通过模式匹配的方式分析源码,对源代码中的语法、结构、过程、接口等进行分析,具有速度快、成功率高的特点。
    Gitee Scan可以全自动化分析源代码,无需人工介入,并可和代码管理、流水线深度融合,在测试之前及时定位问题根源,保证研发质量,提高团队工作效率,降低软件开发测试成本,解决目前大多数企业中存在的产品不稳定、测试成本高、交付拖延等问题。
    同时Gitee Scan集成悬镜组件分析能力,分析依赖项安全漏洞以及许可证合规分析。

    一、全局设置

    在Gitee中,用户可以通过设置任务归档时间、被检代码库大小进行资源调配
    全局设置

    功能开启后,意味着用户在企业中可发起任意仓库分支的全量扫描以及新增Pull Request的增量扫描。

    二、发起扫描

    2.1 全量扫描

    • 说明:手动发起扫描为全量扫描,PR或者代码提交触发扫描皆为增量扫描模式

    1、确认在【GiteeScan】是否创建了对应的被检模块。

    • 未创建被检模块,点击仓库下设置:
      输入图片说明
      仓库下设置可跳转至Scan被检模块创建页面,默认代码仓库为当前仓库不可改变,输入并设置相关内容即可创建被检模块
      输入图片说明

    • 企业管理员也可通过点击代码导航,进入Gitee Scan子产品菜单:
      输入图片说明
      在scan的子产品菜单中,点击被检模块,点击新建即可选择不同仓库创建对应的被检模块
      输入图片说明
      输入图片说明
      
      2、被检模块创建完成,如何发起全量扫描

    • 仓库下点击新建扫描:
      输入图片说明

    • scan子产品菜单,选择被检模块点击小乌龟发起扫描:
      输入图片说明

    2.2 增量扫描

    被检模块创建步骤参考2.1

    • 代码提交触发扫描,创建被检模块选择代码提交触发:
      输入图片说明
      创建完成,此时对应仓库下提交代码即可触发scan代码扫描

    • 创建代码评审(Pull Request)时触发执行,创建被检模块选择创建代码评审触发:
      输入图片说明
      创建完成,此时对应仓库下创建PR即可触发scan代码扫描

    2.3 CVE漏洞及许可证合规分析

    说明:CVE漏洞以及许可证合规分析当前版本只有全量扫描支持
    被检模块创建步骤参考2.1

    • CVE以及许可证合规分析设置:
      输入图片说明
      Scan子产品页面,通过选择被检模块点击小乌龟可发起手动扫描,打开组件分析开关即可进行CVE漏洞扫描以及许可证合规分析
      输入图片说明
      仓库下新建扫描,打开组件分析开关即可进行CVE漏洞扫描以及许可证合规分析

    三、扫描方案与规则集自定义

    说明:系统内置不同语言扫描方案以及规则集供用户选择的同时支持自定义

    3.1 扫描方案自定义

    企业管理员进入Scan子产品菜单,点击进入扫描方案导航,点击右侧可自定义扫描方案:
    输入图片说明
    输入图片说明
    扫描方案关联规则集,因此创建的扫描方案支持不同语言的规则集集合,企业下可创建一个统一的扫描方案供内部使用

    3.2 规则集自定义

    企业管理员进入Scan子产品菜单,点击进入规则集导航,点击右侧新建规则集:
    输入图片说明
    输入图片说明
    一个规则集可关联同一语言以及工具下的不同规则

    四、扫描设置

    4.1 过滤路径设置

    创建被检模块或者编辑被检模块时,可设置路径过滤,同时支持正则匹配方式:
    输入图片说明
    通配符参考格式:

    • 请填写相对路径(基于代码库根目录),要求匹配到文件
    • 使用Unix通配符格式,示例如下:
      代码根目录
      |-src
      |-test
      |-main_test.py
      |-input_test.py
      |-main.py
      |-test
      |-param_test.py
      匹配src/test 目录:src/test/*
      匹配根目录下的test目录:test/*
      匹配所有_test.py后缀的文件:*_test.py
    • 修改后,下次扫描生效,需要启动一次全量扫描处理历史存量问题

    搜索帮助