0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DevEco Studio Code Linter的使用指南

HarmonyOS开发者 来源:HarmonyOS开发者技术 2024-11-05 09:52 次阅读

在当今对代码质量和规范性要求日益严格的环境中,开发者亟需强大的代码检查工具来应对挑战。DevEco Studio Code Linter正是这样一款工具,它通过提升代码质量、统一代码风格,并有效检测安全漏洞和潜在bug,为开发者提供了显著的优势,成为现代软件开发中不可或缺的重要利器。

DevEco Studio Code Linter支持对ArkTS/TS代码进行最佳实践/编程规范方面的检查,不符合编码规范的语句,将在代码中提示并警告,点击错误信息,会展示具体错误位置及详细的规则描述。开发者可根据扫描结果中告警提示手工修复代码缺陷,或者执行一键式自动修复,在代码开发阶段,确保代码质量。

本文将重点介绍Code Linter的安全规则及使用。相关规则描述如下:

序号 安全规则 规则描述
1 @security/no-cycle 禁止使用循环依赖
2 @security/no-unsafe-aes 禁止在AES加密算法中使用不安全的ECB加密模式,推荐使用Petal Aegis SDK中的安全AES接口,详情参见对称加解密(https://developer.huawei.com/consumer/cn/doc/AppGallery-connect-Guides/aegis-encryption-and-decryption-symmetry-0000001861247310#section153801471317)
3 @security/no-unsafe-dh 禁止使用不安全的DH密钥协商算法,如DH模数长度小于2048bit
4 @security/no-unsafe-dh-key 禁止使用不安全的DH密钥,如DH模数长度小于2048bit
5 @security/no-unsafe-dsa 禁止使用不安全的DSA签名算法,如DSA模数长度小于2048bit、摘要中使用不安全的SHA1哈希算法
6 @security/no-unsafe-dsa-key 禁止使用不安全的DSA密钥,如DSA模数长度小于2048bit
7 @security/no-unsafe-ecdsa 禁止在ECDSA签名算法中使用不安全的SHA1摘要算法,推荐使用Petal Aegis SDK中的安全ECDSA接口,详情参见:ECDSA签名验签(https://developer.huawei.com/consumer/cn/doc/AppGallery-connect-Guides/aegis-signature-verification-0000001866035345#section12984925133517)
8 @security/no-unsafe-hash 禁止使用不安全的哈希算法,例如MD5、SHA1
9 @security/no-unsafe-mac 禁止在MAC消息认证算法中使用不安全的哈希算法,例如SHA1
10 @security/no-unsafe-rsa-encrypt 禁止使用不安全的RSA非对称加密算法,如RSA模数长度小于2048bit、填充模式为PKCS1、摘要或掩码摘要中使用不安全的MD5或SHA1哈希算法,推荐使用Petal Aegis SDK中的安全RSA加密和解密接口,详情参见:RSA加解密(https://developer.huawei.com/consumer/cn/doc/AppGallery-connect-Guides/aegis-encryption-and-decryption-asymmetric-0000001907932453#section1925912512)
11 @security/no-unsafe-rsa-key 禁止使用不安全的RSA密钥,如RSA模数长度小于2048bit。推荐使用Petal Aegis SDK中的安全RSA签名接口,详情参见:RSA密钥(https://developer.huawei.com/consumer/cn/doc/AppGallery-connect-References/ohaeggeneratersakeypairbase64-0000001864601898)
12 @security/no-unsafe-rsa-sign 禁止不安全的RSA签名算法,如RSA模数长度小于2048bit、摘要或掩码摘要中使用不安全的MD5或SHA1哈希算法。推荐使用PetalAegis SDK中的安全RSA签名接口,详情参见:RSA加解密(https://developer.huawei.com/consumer/cn/doc/AppGallery-connect-Guides/aegis-signature-verification-0000001866035345#section1039727112016)

1使用指南

1.1 支持配置代码安全检查规则:

在工程根目录下创建code-linter.json5配置文件,可对代码检查的范围及对应生效的检查规则进行配置,其中files和ignore配置项共同确定了代码检查范围,ruleSet和rules配置项共同确定了生效的规则范围。

具体配置项功能如下:

1、files:配置待检查的文件名单,如未指定目录,将检查当前被选中的文件或文件夹中的代码文件,例如:["**/*.ets","**/*.js","**/*.ts"]。

2、ignore:配置无需检查的文件目录,其指定的目录或文件需使用相对路径格式,相对于code-linter.json5所在工程根目录,例如:build/**/*。

3、ruleSet:配置检查使用的规则集,规则集支持一次导入多条规则。规则详情参考codelinter代码检查规则(https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-codelinter-rule-V5)。

4、rules:可基于ruleSet配置的规则集,新增额外规则项,或修改ruleSet中规则默认配置,例如将规则集中某条规则告警级别由warn改为error。

5、overrides:针对工程根目录下部分特定目录或文件,可配置定制化检查的规则。

{
  "files": [
    "**/*.ts",
    "**/*.ets",
    "**/*.js"
  ],
  "ignore": [
    "**/ohosTest/**/*",
    "**/node_modules/**/*",
    "**/hvigorfile.ts",
    "**/oh_modules/**/*",
    "**/build/**/*",
    "**/.preview/**/*"
  ],
  "rules": {
    "@security/no-cycle": "error",
    "@security/no-unsafe-aes": "error",
    "@security/no-unsafe-hash": "error",
    "@security/no-unsafe-mac": "error",
    "@security/no-unsafe-dh": "error",
    "@security/no-unsafe-dsa": "error",
    "@security/no-unsafe-ecdsa": "error",
    "@security/no-unsafe-rsa-encrypt": "error",
    "@security/no-unsafe-rsa-sign": "error",
    "@security/no-unsafe-rsa-key": "error",
    "@security/no-unsafe-dsa-key": "error",
    "@security/no-unsafe-dh-key": "error",
  }
}

1.2 检查方法:

打开代码编辑器窗口右键点击Code Linter,或在工程管理窗口中选中单个或多个工程文件/目录,右键点击Code Linter> Full Linter执行代码全量检查。(如下图所示)

2619d29c-98c7-11ef-a511-92fbcf53809c.png

1.3 查看/处理代码检查结果

扫描完成后,在底部工具面板查看检查结果。勾选Defects中不同告警等级,可分别查看对应信息。双击某条告警结果,可以跳转到对应代码缺陷位置;选中告警结果时,可以在右侧Defect Description窗口查看告警对应的规则详细说明,其中包含正向和反向示例,用户可根据建议修改代码;搜索规则时,可设定是否全词匹配和大小写敏感。

单击263ea310-98c7-11ef-a511-92fbcf53809c.png图标,查看可修复的代码规则,点击26478606-98c7-11ef-a511-92fbcf53809c.png代码修复图标,可一键批量修复告警,并刷新检查结果。

265940d0-98c7-11ef-a511-92fbcf53809c.png

1.4 屏蔽告警信息:

在某些特殊场景下,若扫描结果中出现误报,点击单条告警结果后的Ignore图标,可忽略对告警所在行的Code Linter检查,并支持勾选文件名称或多条待屏蔽的告警批量执行操作;

在文件顶部添加注释/*eslint-disable */可以屏蔽整个文件执行code linter检查,在eslint-disable 后加入一个或多个以逗号分隔的规则Id,可以屏蔽具体检查规则。

在需要忽略检查的代码块前后分别添加/*eslint-disable */和/* eslint-enable */添加注释信息,再执行Code Linter,将不再显示该代码块扫描结果;在待屏蔽的代码行前一行添加/*eslint-disable-next-line */,也可屏蔽对该代码行的Code Linter检查。

如需恢复忽略的报错信息,可以直接删除该行上方的注释,重新执行CodeLinter检查。

266d9aa8-98c7-11ef-a511-92fbcf53809c.png

1.5 导出检查结果

点击工具面板左侧导出按钮,即可导出检查结果到excel文件,包含告警所在行、告警明细、告警级别等信息。

2672a642-98c7-11ef-a511-92fbcf53809c.png

通过上述代码安全规则的介绍,我们可以看到Code Linter的强大功能。它不仅能有效检测代码中的安全漏洞和潜在bug,还能仔细检查语法和风格问题。这意味着开发者在编码阶段就能及时发现并修复这些问题,从而大大降低未来出错的风险,让整个开发过程更加顺畅和高效。无论是新手还是资深开发者,Code Linter都是您得力的伙伴。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4714

    浏览量

    68194
  • DevEco Studio
    +关注

    关注

    0

    文章

    21

    浏览量

    1041

原文标题:探索DevEco Studio Code Linter:提升代码安全的全新利器

文章出处:【微信号:HarmonyOS_Dev,微信公众号:HarmonyOS开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    鸿蒙OS开发:【一次开发,多端部署】(工程管理)

    DevEco Studio的基本使用,请参考[DevEco Studio使用指南]。本章主要介绍如何使用
    的头像 发表于 05-16 16:07 1097次阅读
    鸿蒙OS开发:【一次开发,多端部署】(工程管理)

    code warrior使用指南

    codewarrior 使用指南
    发表于 04-21 21:32

    HUAWEI DevEco Device Tool 使用指南【持续更新中...】

    ,支持代码编辑、烧录和调试等功能,支持C/C++语言,以插件的形式部署在Visual Studio Code上。下面将从以下几个方面介绍DevEco Device Tool 的使用:1、工具简介2、环境准备3、配置和导入工程4、
    发表于 09-17 13:48

    DevEco Studio 2.0 Beta3 Windows/Mac安装包,以及使用指南

    使用指南2、Huawei DevEco Studio 使用指南目前OpenHarmony最新资料会同步在鸿蒙公众号,如果不想错过,也可关注一下:`
    发表于 12-16 16:07

    @开发者,这份DevEco Studio搭建指南请收下!

    使用指南》的“配置开发环境”章节。下载完成后,点击Finish。好了,HarmonyOS的SDK和Previewer就下载完成了,点击OK。《DevEco Studio使用指南》:ht
    发表于 07-27 11:59

    【资料】DevEco Studio 1.0 使用指南

    DevEco Studio 1.0 使用指南,内容目录如下:回复帖子查看资料下载链接:[hide][/hide]
    发表于 08-12 11:42

    DevEco Studio 3.1 Beta新特性知多少

    HUAWEI DevEco Studio是开发HarmonyOS应用及服务的一站式集成开发环境(IDE)。本次,DevEco Studio 3.1 Beta新增支持当前在市面上新的操作
    发表于 04-23 11:06

    Code Composer Studio入门

    Code Composer Studio入门一.实验目的1.掌握Code Composer Studio 2.21的安装和配置步骤过程。2.了解DSP开发系统和计算机与目标系统的连接方
    发表于 03-17 00:11 1.8w次阅读
    <b class='flag-5'>Code</b> Composer <b class='flag-5'>Studio</b>入门

    Code Composer Studio入门指南(修订版)

    要开始使用Code Composer Studio,你必须通过第一这本书的两章。
    发表于 04-12 15:43 36次下载
    <b class='flag-5'>Code</b> Composer <b class='flag-5'>Studio</b>入门<b class='flag-5'>指南</b>(修订版)

    HUAWEI DevEco Device Tool 使用指南

    的组件按需定制,支持代码编辑、烧录和 调试等功能,支持 C/C++语言,以插件的形式部署在 Visual Studio Code 上。
    发表于 10-14 14:35 6次下载
    HUAWEI <b class='flag-5'>DevEco</b> Device Tool <b class='flag-5'>使用指南</b>

    Huawei DevEco Studio使用指南

    Huawei DevEco Studio使用指南免费下载。
    发表于 05-25 14:55 25次下载

    DevEco Studio 2.1 Release版HarmonyOS SDK升级

    DevEco Studio 版本说明记录了 DevEco Studio 历史版本的更新记录: ①如果您已经安装 DevEco
    的头像 发表于 06-26 17:49 2618次阅读

    DevEco Studio 3.0 测试版来啦

    DevEco Studio 3.0是HarmonyOS 3.0和OpenHarmony 3.1应用及服务开发配套的集成开发环境(IDE),支持ArkUI声明式编程规范、低代码开发、双向预览、全新构建
    的头像 发表于 04-07 11:48 2483次阅读
    <b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b> 3.0 测试版来啦

    DevEco Studio 3.1 Beta新特性知多少

    HUAWEI DevEco Studio是开发HarmonyOS应用及服务的一站式集成开发环境(IDE)。本次,DevEco Studio 3.1 Beta新增支持当前在市面上新的操作
    的头像 发表于 04-21 11:15 609次阅读
    <b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b> 3.1 Beta新特性知多少

    DevEco Studio 3.1 Beta新特性知多少?

    HUAWEI DevEco Studio是开发HarmonyOS应用及服务的一站式集成开发环境(IDE)。本次,DevEco Studio 3.1 Beta新增支持当前在市面上新的操作
    的头像 发表于 04-21 16:50 693次阅读
    <b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b> 3.1 Beta新特性知多少?