检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
任务管理 新建检查任务 删除检查任务 查询任务列表 执行检查任务 终止检查任务 查询任务执行状态 历史扫描结果查询 查询任务的已选规则集列表v2 查询任务的已选规则集列表v3 查询任务规则集的检查参数v2 查询任务规则集的检查参数v3 任务配置检查参数 修改任务规则集 查询任务检查失败日志
产品特性 自研代码检查引擎 支持五大业界主流标准和华为编程规范 支持主流开发语言 日均百亿级扫描能力 一站式问题闭环修复 “代码编写、代码合并、版本发布”三层缺陷防护 代码检查安全增强
缺陷管理 查询缺陷概要 查询cmetrics缺陷概要 查询缺陷详情 查询缺陷详情的统计 修改缺陷状态 父主题: API
不上传代码到云服务的情况下使用代码检查服务 应用场景 部分用户的代码有严格的保密机制,不允许将代码上传到外部网络,用户希望仅在信任的自有执行机上完成代码扫描服务。华为云CodeArts Check为此提供本实践的扫描方案,在不上传代码到云服务的情况下使用代码检查服务检查代码问题。
执行代码检查任务时提示:权限不足,请核对后再试 问题现象 执行任务失败,提示异常信息:权限不足,请核对后再试。 原因分析 当前用户操作权限不足,无法操作该任务,请用户根据权限矩阵,核对并联系项目管理员(项目创建者、项目经理)更改当前账号权限。 处理方法 进入项目“成员管理”页面,查看自己的项目角色权限。
身份认证与访问控制 身份认证 用户访问代码检查服务的方式有多种,包括代码检查用户界面、API、SDK,无论访问方式封装成何种形式,其本质都是通过代码检查提供的REST风格的API接口进行请求。 代码检查的接口需要经过认证请求后才可以访问成功。代码检查支持两种认证方式: Token
I等)的安全合规认证,用户可自行申请下载合规资质证书。 图1 合规证书下载 资源中心 华为云还提供以下资源来帮助用户满足合规性要求,具体请查看资源中心。 图2 资源中心 销售许可证&软件著作权证书 另外,华为云还提供了以下销售许可证及软件著作权证书,供用户下载和参考。具体请查看合规资质证书。
已经将组件上传到私有依赖库,但用户账号没有此私有依赖库的授权,导致从私有依赖库中下载组件失败。 处理方法 将组件上传到私有依赖库。 使用拥有私有依赖仓库管理员权限的账号进入私有依赖库的“独立用户权限”页面为用户账号分配此私有依赖库角色(开发者)来进行授权。 操作方法请参见:管理用户权限。 父主题:
提供9000条以上典型检查规则。 提供多维度质量统计报表,如质量门禁和代码健康度徽标等。 精准 精确定位缺陷,提供修复指导。 支持用户自定义检查规则集,精准检查用户关注缺陷。 全面 支持Java/C++/JavaScript/Go/Python/C#/TypeScript/CSS/HTM
支持 跨站脚本攻击(XSS) 支持 支持 攻击者利用在网站、电子邮件中的链接插入恶意代码,盗取用户信息。 不支持 支持 LDAP注入 支持 支持 利用用户输入的参数生成非法LDAP查询,盗取用户信息。 不支持 支持 不安全的反射 支持 支持 攻击者利用外部输入绕过身份验证等访问控制路径,执行非法操作。
代码检查服务入门实践 当用户开通代码检查服务后,可以根据不同的业务场景灵活使用。 本文介绍常见的代码检查实践。 表1 代码检查服务常用最佳实践 实践 描述 使用系统预置规则检查通用Git代码仓中的代码质量 以通用Git代码源为例,介绍如何创建通用Git代码检查任务。
代码检查服务提供丰富的API接口、涵括任务新建、任务设置、任务扫描、任务报告解析等检查业务全流程,支持用户使用接口方式无缝集成到自建CI/CD或者CodeArts,作业数据灵活对接到客户看板,代码质量可视、可管理。 同时通过灵活的任务管理,支持排除目录设置避免无效扫描,并支持混合语言
Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更
如果您在宽限期内仍未续费代码检查服务套餐,那么就会进入保留期,套餐状态变为“冻结”。保留期内,您可以查看代码检查服务和删除代码检查任务。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。关于续费的详细介绍请参见续费概述。 父主题: 计费模式
使用公共API时提示没有权限 问题现象 使用公共API报没有权限。 原因分析 登录的用户没有权限。 Region信息不对。 处理方法 确认登录的用户是否有权限,详情见授权成员使用代码检查服务。 确认Region信息是否正确。 如果仍然未能解决,请联系技术支持工程师。 父主题: API类问题
难以实时覆盖不同用户特定场景下的代码问题。 用户往往不熟悉工具提供的通用规则所能覆盖的全部场景。在为新开发的业务场景寻找适用的规则时需要耗费大量的时间,增加开发成本。 不同用户之间的代码差异大,研发无法实时掌握不同用户的具体需求,在开发规则过程中难以针对不同用户的业务代码场景来制定全面有效的工具规则。
通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 设置媒体类型和编码格式 表3 请求Body参数 参数 是否必选 参数类型 描述 username 否 String 该任务对应临时仓库有权限的用户名,参数计划下线,不建议使用
码。 对于管理员创建IAM用户接口,如果调用后返回状态码为“201”,则表示请求成功。 响应消息头 对应请求消息头,响应同样也有消息头,如“Content-type”。 对于管理员创建IAM用户接口,返回如图1所示的消息头。 图1 管理员创建IAM用户响应消息头 响应消息体 响应
单击任务名称时提示权限不足 问题现象 在代码检查服务任务列表中,单击任务名称,提示权限不足。 原因分析 操作的用户项目权限不足,当账号的项目权限为“测试经理”、“测试人员(含跨租户)”、“浏览者(含跨租户)”时,没有访问查看代码检查任务的权限。 处理方法 联系项目管理员(项目创建者、项目经理)修改当前账号角色。
示例1:查询任务列表 场景描述 本章节指导用户根据DEVCLOUD_PROJECT_UUID查询该项目下的任务列表。 约束限制 无。 涉及接口 涉及的接口如下: 查询任务列表:根据DEVCLOUD_PROJECT_UUID查询任务列表。 操作步骤 查询任务列表。 接口相关信息 URI格式:GET