logo
0
0
Login

腾讯云代码分析 - TCA

  • 腾讯云代码分析(Tencent Cloud Code Analysis,简称TCA,内部项目代号CodeDog)于2013年从个别代码分析工具展开持续迭代,发展成专业的代码分析系统,集众多分析工具,云原生、分布式、高可用、高性能的代码分析跟踪系统。代码分析旨运用词法分析、语法分析、控制流和数据流分析等技术,对代码进行静态分析。包含安全漏洞、代码规范、代码质量、代码错误、代码度量等趋势,输出全方位分析报告,协助研发持续跟踪代码迭代。协助项目高效增量分析代码,从而尽早以低成本、高效率发现代码问题,减少修复成本,缩短修复时间。用心关注每行代码迭代,助力维护卓越代码文化!
  • 官网地址:tca.tencent.com

一、在云原生构建中使用

# .cnb.yml "**": # 触发的分支名,默认所有分支,可按需修改 push: # push 触发,可按需修改为 pull_request 等 - stages: # 代码分析 - name: TCA image: cnbcool/tca:latest settings: from_file: # 可选,可以传递一个文件(比如 changed.txt),内容为需要分析的文件列表,一行一个文件(采用基于工作空间的相对路径) ignore_paths: # 可选,指定一个或多个相对工作空间的文件屏蔽路径(黑名单),多个路径可写成数组格式,路径采用Unix通配符格式。 white_paths: # 可选,指定一个或多个相对工作区的扫描路径(白名单),多个路径可写成数组格式,路径采用Unix通配符格式。 block: # 可选,默认为true, 如果有代码问题或分析异常,会阻塞流水线。如果不希望阻塞流水线,可以设置为false。

二、查看结果

扫描完成后,会在当前工作空间的tca_report目录下输出JSONHTML 报告,可供下游步骤使用:

三、参数说明

具体 schema 可以参考 config-schema.json

block

  • type: Boolean
  • required: 否
  • default: true
  • 未通过检查时是否抛出错误(退出码:255)阻塞流程,默认为true。

from_file

  • type: String
  • required: 否
  • 可选,可以传递一个文件(比如 changed.txt),内容为需要分析的文件列表,一行一个文件路径(采用基于工作空间的相对路径)

ignore_paths

  • type: String | List
  • required: 否
  • 指定一个或多个相对工作区的屏蔽路径(黑名单),多个路径可写成数组格式,路径采用Unix通配符格式。
  • 通配符格式说明:
请填写相对路径(基于代码库根目录),要求匹配到文件。 使用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

white_paths

  • type: String | List
  • required: 否
  • 指定一个或多个相对工作区的扫描路径(白名单),多个路径可写成数组格式,路径采用Unix通配符格式。

limit

  • type: String
  • required: 否
  • 可选,返回问题结果的数量限制,默认不限制

sort_by_risk_level

  • type: String
  • required: 否
  • 可选,结果按照严重级别进行排序,默认降序。可选值:desc, asc。(desc-降序,asc-升序)

四、扫描能力

使用TCA安全分析引擎,支持扫描常见的代码安全问题,包含:

  1. 敏感信息泄漏
  2. 依赖组件漏洞
  3. web安全漏洞

About

CNB 仓库源码扫描能力

Language
Python89.1%
Dockerfile10.9%