云服务器内容精选

  • CodeArts Check IDE插件介绍 CodeArts Check IDE插件致力于守护开发人员代码质量,成为开发人员的助手和利器。 本IDE插件秉承极简、极速、即时看护的理念,提供业界规范(含华为云)检查、代码风格一键格式化及代码自动修复功能。 打造了代码检查“快车道”,实现精准、快速检查前移,与Check云端服务共同构筑了三层代码防护体系。 内置的轻量级扫描规则作为云端规则的子集,可以在云端查看到所有IDE端规则,实现安全扫描左移,并且覆盖了30多种缺陷分类。 当前CodeArts Check IDE插件支持Java、C、C++、Python,并已上线4个主流IDE平台:VSCode IDE、Intellij IDEA、CodeArts IDE、Cloud IDE。
  • 代码安全检查增强包介绍 华为代码安全检查增强包里安全检查能力作为深度价值特性,能深度识别代码中安全风险和漏洞,提供了套餐包内规则不覆盖的安全类场景,比如数值错误、加密问题、数据验证问题等。针对业界的安全漏洞检测项提供了更深入的分析能力,比如,跨函数、跨文件、污点分析、语义分析等 。 当前代码安全检查增强包一共有284条规则,涵盖Java语言61个, C++ 语言199个, Go语言8个, Python语言16个。 代码安全检查增强包里安全检查能力支持的检查项如下: 覆盖符合污点分析传播模型的漏洞检查,如命令注入、SQL注入、路径遍历、信息泄露等。 覆盖业界常见的安全漏洞检测项,如命令注入、LDAP注入、SQL注入、开放重定向漏洞、数值处理、信息泄露等。 支持密码、API秘钥和访问令牌硬编码检查能力。 支持AcessKey泄露检查。 如果某租户购买了1个增强包,该租户账号及其所有 IAM 账号均可使用所有增强包相关的规则。 代码安全检查增强包对于扫描次数和扫描的代码行数没有任何限制,仅对代码检查任务并发数有限制,即,买1个增强包代表该租户账号可以扫描1个安全增强特性包规则的代码检查任务,其余任务需要排队等待;买2个增强包表示可同时扫描2个代码检查任务 ……买n个增强包表示可同时扫描n个代码检查任务。当前最多可以买100个。购买方法可参考购买增值特性。 增强包不可单独购买,需要在购买了专业版或企业版CodeArts之后才会生效,如果购买的CodeArts套餐过期,代码检查特性增强包会失效。
  • 云服务代码检查功能列表 表1 云服务代码检查功能列表 功能 描述 编码问题检查 用编码问题检查规则集,对自己的代码进行编码问题缺陷检查。 代码安全检查 用代码安全检查规则集,对自己的代码进行代码安全风险和缺陷检查。 代码风格检查 用代码风格检查规则集,检查自己的代码是否匹配选定风格。 代码健康度评分 一个综合性统一指标,与告警影响度、告警数量、代码量都有关系。自动计算代码健康度分数。 问题管理 通过问题管理中的问题描述、问题状态、检查规则、文件路径、源码以及修改建议等,对检查出来的问题进行处理。 代码圈复杂度 通过代码圈复杂度报表评估代码质量风险。 NBNC代码行 代码检查支持扫描的文件代码行,不包括空行和注释行。 代码重复率 通过代码重复率报表评估代码质量风险。 定时执行检查 提供每周、每日定时检查代码功能,让用户休息编译两不误。 检查结果通知 检查完成后,通过邮件通知和 消息通知 相关人员检查结果,便于进行及时处理。 多种语言的代码检查 包括Java/C++/JavaScript/Go/Python/C#/TypeScript/ CSS /HTML/PHP/LUA/RUST/Shell/KOTLIN/SCALA/ArkTS。
  • 前提准备 已参考购买弹性云服务器购买本实践使用的弹性云服务器。 代码检查服务接入的自定义执行机只支持EulerOS2.5操作系统。 接入的自定义执行机中已安装Git-lfs,若未安装,可参考以下示例安装Git-lfs。本示例以使用命令的方式安装为例。 在执行机上执行以下命令。 # 下载 wget -O git-lfs.tar.gz https://github.com/git-lfs/git-lfs/releases/download/v3.4.1/git-lfs-linux-amd64-v3.4.1.tar.gz # 解压 tar -zxvf git-lfs.tar.gz # 进入解压后的目录 cd git-lfs-3.4.1 # 执行安装脚本 sh install.sh # 验证 git lfs version 已挂载云硬盘。
  • 操作流程 表1 操作流程 序号 步骤 说明 1 创建代码检查任务所属项目 创建代码检查任务所属的项目。 2 新建GitCode服务扩展点 本实践检查第三方代码仓的代码质量,CodeArts Check服务需通过CodeArts提供的扩展插件连接到第三方代码仓。 3 新建GitCode代码检查任务 创建代码检查任务。 4 执行GitCode代码检查任务 执行代码检查任务。 5 查看GitCode代码检查详情 查看代码检查结果。
  • 预置任务简介 样例项目中预置了以下4个代码检查任务。 表1 预置任务 预置任务 任务说明 phoenix-codecheck-worker 检查Worker功能对应代码的任务。 phoenix-codecheck-result 检查Result功能对应代码的任务。 phoenix-codecheck-vote 检查Vote功能对应代码的任务。 phoenix-sample-javas 检查整个代码仓库对应的JavaScript代码的任务。 本章节以任务“phoenix-codecheck-worker”为例进行讲解。
  • 操作流程 表1 操作流程 序号 步骤 说明 1 创建代码检查任务所属项目 创建代码检查任务所属的项目。 2 创建CodeArts Repo代码仓 创建代码检查任务使用的代码仓。 3 创建规则文件 创建自定义规则时需要上传使用的规则文件。 4 创建自定义规则 在代码检查服务页面创建自定义规则。 5 创建自定义规则集 自定义规则无法直接使用,需要通过创建自定义规则集使用。 6 创建代码检查任务 创建使用自定义规则检查的代码检查任务。 7 使用自定义规则集执行检查任务 配置代码检查任务使用带有自定义规则的自定义规则集。 8 查看检查结果 查看检查结果,确认使用的规则是否生效。
  • 应用场景 随着现在项目的代码量越来越大,以及现有开发框架的增加,静态分析所需要覆盖的场景也日益增多,存在的问题如下: 传统静态分析引擎靠工具提供通用规则来对常见安全,风格和质量场景下的编码问题进行扫描分析,难以实时覆盖不同用户特定场景下的代码问题。 用户往往不熟悉工具提供的通用规则所能覆盖的全部场景。在为新开发的业务场景寻找适用的规则时需要耗费大量的时间,增加开发成本。 不同用户之间的代码差异大,研发无法实时掌握不同用户的具体需求,在开发规则过程中难以针对不同用户的业务代码场景来制定全面有效的工具规则。 本示例为您介绍如何使用自定义规则检查代码中存在调试代码的问题。
  • 创建代码检查任务 在代码检查任务列表页,单击“新建任务”,按照如下表格配置参数。 表3 代码检查任务参数说明 参数 说明 归属项目 创建代码检查任务所属项目中创建的项目名称“Scrum01”。默认填写,无需配置。 代码源 选择需要检查的代码来源。选择“Repo”。 任务名称 代码检查任务名称,可自定义。例如:CheckTask01。 仓库 选择创建CodeArts Repo代码仓中创建的代码仓“Repo01”。 分支 保持默认“master”即可。 检查语言 选择“Java”。 单击“新建任务”,完成代码检查任务的创建。
  • 开通CodeArts Check 代码检查服务采用包年/包月计费模式,提供基础版、专业版套餐,以满足不同规模用户的使用需求。套餐详情介绍请参见包年/包月套餐说明。 进入购买CodeArts Check套餐页面。 参考表1根据实际需要进行购买。 表1 套餐包配置 配置项 配置详情 计费模式 包年/包月。 区域 选择需要使用的区域。不同区域购买的资源不能跨区使用,需慎重选择。 产品 CodeArts Check套餐 规格 可选择“基础版”或“专业版”,差异如下。 基础版 支持Java/C++/JavaScript/Go/Python/C#/TypeScript/ CS S/HTML/PHP/LUA/RUST/Shell/KOTLIN/SCALA/ArkTS10+种语言。 支持质量类、安全类规则。 检查并发:5个任务并发数。 专业版 基础版所有特性 提供增强的代码安全检查规则,深度识别代码安全风险和漏洞 检查并发:10个任务并发数。 购买时长 可选择1个月~3年。 自动续费 勾选后将开启自动续费。自动续费规则请参考自动续费规则说明。 建议根据您业务所在物理区域就近选择,以减少网络延时。购买的套餐只在对应的区域生效,不能跨区域使用。 确认套餐信息,勾选我已经阅读并同意《CodeArts服务使用声明》,单击“下一步”。 图1 确认套餐信息 若确认无误,继续根据页面提示完成支付。
  • 支持审计日志的操作 表1 云审计 服务支持CodeArts Check服务操作 操作名称 资源类型 事件名称 创建代码检查任务 task create 修改代码检查任务 task modify 删除代码检查任务 task delete 执行代码检查任务 job create 取消执行代码检查任务 job modify_job 关注代码检查任务 followingTask create_followingTask 取消关注代码检查任务 followingTask delete_followingTask 修改规则集信息 ruleset modify_ruleset 修改规则集的规则 ruleset modify_ruleset 删除规则集 ruleset delete_ruleset 配置默认规则集 ruleset set_default_ruleset 导出规则集表格 ruleset export_ruleset 导出问题表格 defectExcel export_defectExcel 下载问题表格 defectExcel downloadAndExport_defectExcel 修改问题状态 issueStatus update_issueStatus 修改问题责任人 issueOwner update_issueOwner 修改问题评论 issueComment update_issueComment
  • 使用流程 表1 使用流程说明 流程 说明 开通CodeArts Check 指导您如何开通代码检查服务。 配置CodeArts Check项目级角色权限 为您介绍如何配置CodeArts Check服务项目级权限以及访问代码检查服务首页的方式。 创建代码检查任务 您可创建不同代码源的代码检查任务。 配置代码检查任务 您可对已有的检查任务进行修改或配置。 执行代码检查任务 您可对目标代码检查任务执行检查,及时发现源代码中的代码问题。 查看代码检查结果 代码检查任务执行完成后,您可查看检查结果并修改代码问题。
  • 支持代码安全检查 支持场景 软件开发阶段对代码质量和安全问题进行自动化检查,支持内置安全规范、要求到软件生产作业流,帮助企业软件生产安全。 提供深度代码安全检查能力,帮助政务云运营者和大企业管控ISV软件安全质量,构建供应链安全体系。 能力说明 提供跨函数、跨文件检查能力,提供污点分析检查能力。 支持注入类、信息泄露类(AccessKey)等TOP安全漏洞检查。 支持华为云编程规范,兼容支持CWE/HUAWEI/OWASP TOP 10/ISO 5055/SANS TOP 25/CERT/MISRA检查。
  • 基本概念 表1 代码检查服务基本概念 词汇 定义 重复率 重复行数是指涉及至少一次重复的代码行数;重复块是指包含重复行的代码块(最小重复块定义:Java语言连续10行重复,其它语言10行中连续100个字符重复算一个重复块);重复率=重复行/代码总行数(不包含空行与注释)。 规则 应用于检查某类代码问题。提供规则说明,如代码缺陷影响、修改建议。 规则集 针对具体语言而定义的检查规则集合,提高用户代码质量。 圈复杂度 圈复杂度是一种代码复杂度的衡量标准,与其可维护性和可测试性之间存在相关性,这意味着在圈复杂度较高的文件中,重构代码出错的概率较高。代码平均圈复杂度 = 总圈复杂度/函数数。具体风险评估建议如下: 1~5:低风险 6~10:较低风险 11~20:中等风险 21~50:高风险 51+:极高风险 NA:CodeArts Check不支持检查该语言 SDLC 软件开发生命周期(Software Development Life Cycle)。 问题展示 准确定位到问题所在代码行,用户可以在线查看并分析代码问题。 延迟上线 在工具版本升级后,由于代码检查服务检查引擎的能力提升,可能会出现新的缺陷。但新检查出来的缺陷,不会计算到正式缺陷中,开发者拥有60天的缓冲周期对代码进行修改,周期内没有修改或者屏蔽的缺陷,在周期结束后后会计算到正式缺陷中。 执行计划 定义代码检查任务自动触发的方式。通过触发器,使代码检查的自动化执行更加灵活易用。
  • 审计 云审计服务(Cloud Trace Service, CTS ),是华为 云安全 解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 用户开通云审计服务并创建和配置追踪器后,CTS可记录代码检查的管理事件和数据事件用于审计。 CTS的详细介绍和开通配置方法,请参见CTS快速入门。 CTS支持追踪的代码检查操作列表,请参见云审计服务支持的代码检查操作列表。