0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DevEco Studio Code Linter的使用指南

HarmonyOS開發(fā)者 ? 來源:HarmonyOS開發(fā)者技術(shù) ? 2024-11-05 09:52 ? 次閱讀

在當今對代碼質(zhì)量和規(guī)范性要求日益嚴格的環(huán)境中,開發(fā)者亟需強大的代碼檢查工具來應(yīng)對挑戰(zhàn)。DevEco Studio Code Linter正是這樣一款工具,它通過提升代碼質(zhì)量、統(tǒng)一代碼風格,并有效檢測安全漏洞和潛在bug,為開發(fā)者提供了顯著的優(yōu)勢,成為現(xiàn)代軟件開發(fā)中不可或缺的重要利器。

DevEco Studio Code Linter支持對ArkTS/TS代碼進行最佳實踐/編程規(guī)范方面的檢查,不符合編碼規(guī)范的語句,將在代碼中提示并警告,點擊錯誤信息,會展示具體錯誤位置及詳細的規(guī)則描述。開發(fā)者可根據(jù)掃描結(jié)果中告警提示手工修復代碼缺陷,或者執(zhí)行一鍵式自動修復,在代碼開發(fā)階段,確保代碼質(zhì)量。

本文將重點介紹Code Linter的安全規(guī)則及使用。相關(guān)規(guī)則描述如下:

序號 安全規(guī)則 規(guī)則描述
1 @security/no-cycle 禁止使用循環(huán)依賴
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密鑰協(xié)商算法,如DH模數(shù)長度小于2048bit
4 @security/no-unsafe-dh-key 禁止使用不安全的DH密鑰,如DH模數(shù)長度小于2048bit
5 @security/no-unsafe-dsa 禁止使用不安全的DSA簽名算法,如DSA模數(shù)長度小于2048bit、摘要中使用不安全的SHA1哈希算法
6 @security/no-unsafe-dsa-key 禁止使用不安全的DSA密鑰,如DSA模數(shù)長度小于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模數(shù)長度小于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模數(shù)長度小于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模數(shù)長度小于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 支持配置代碼安全檢查規(guī)則:

在工程根目錄下創(chuàng)建code-linter.json5配置文件,可對代碼檢查的范圍及對應(yīng)生效的檢查規(guī)則進行配置,其中files和ignore配置項共同確定了代碼檢查范圍,ruleSet和rules配置項共同確定了生效的規(guī)則范圍。

具體配置項功能如下:

1、files:配置待檢查的文件名單,如未指定目錄,將檢查當前被選中的文件或文件夾中的代碼文件,例如:["**/*.ets","**/*.js","**/*.ts"]。

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

3、ruleSet:配置檢查使用的規(guī)則集,規(guī)則集支持一次導入多條規(guī)則。規(guī)則詳情參考codelinter代碼檢查規(guī)則(https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-codelinter-rule-V5)。

4、rules:可基于ruleSet配置的規(guī)則集,新增額外規(guī)則項,或修改ruleSet中規(guī)則默認配置,例如將規(guī)則集中某條規(guī)則告警級別由warn改為error。

5、overrides:針對工程根目錄下部分特定目錄或文件,可配置定制化檢查的規(guī)則。

{
  "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執(zhí)行代碼全量檢查。(如下圖所示)

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

1.3 查看/處理代碼檢查結(jié)果

掃描完成后,在底部工具面板查看檢查結(jié)果。勾選Defects中不同告警等級,可分別查看對應(yīng)信息。雙擊某條告警結(jié)果,可以跳轉(zhuǎn)到對應(yīng)代碼缺陷位置;選中告警結(jié)果時,可以在右側(cè)Defect Description窗口查看告警對應(yīng)的規(guī)則詳細說明,其中包含正向和反向示例,用戶可根據(jù)建議修改代碼;搜索規(guī)則時,可設(shè)定是否全詞匹配和大小寫敏感。

單擊263ea310-98c7-11ef-a511-92fbcf53809c.png圖標,查看可修復的代碼規(guī)則,點擊26478606-98c7-11ef-a511-92fbcf53809c.png代碼修復圖標,可一鍵批量修復告警,并刷新檢查結(jié)果。

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

1.4 屏蔽告警信息:

在某些特殊場景下,若掃描結(jié)果中出現(xiàn)誤報,點擊單條告警結(jié)果后的Ignore圖標,可忽略對告警所在行的Code Linter檢查,并支持勾選文件名稱或多條待屏蔽的告警批量執(zhí)行操作;

在文件頂部添加注釋/*eslint-disable */可以屏蔽整個文件執(zhí)行code linter檢查,在eslint-disable 后加入一個或多個以逗號分隔的規(guī)則Id,可以屏蔽具體檢查規(guī)則。

在需要忽略檢查的代碼塊前后分別添加/*eslint-disable */和/* eslint-enable */添加注釋信息,再執(zhí)行Code Linter,將不再顯示該代碼塊掃描結(jié)果;在待屏蔽的代碼行前一行添加/*eslint-disable-next-line */,也可屏蔽對該代碼行的Code Linter檢查。

如需恢復忽略的報錯信息,可以直接刪除該行上方的注釋,重新執(zhí)行CodeLinter檢查。

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

1.5 導出檢查結(jié)果

點擊工具面板左側(cè)導出按鈕,即可導出檢查結(jié)果到excel文件,包含告警所在行、告警明細、告警級別等信息。

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

通過上述代碼安全規(guī)則的介紹,我們可以看到Code Linter的強大功能。它不僅能有效檢測代碼中的安全漏洞和潛在bug,還能仔細檢查語法和風格問題。這意味著開發(fā)者在編碼階段就能及時發(fā)現(xiàn)并修復這些問題,從而大大降低未來出錯的風險,讓整個開發(fā)過程更加順暢和高效。無論是新手還是資深開發(fā)者,Code Linter都是您得力的伙伴。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4788

    瀏覽量

    68612
  • DevEco Studio
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    1090

原文標題:探索DevEco Studio Code Linter:提升代碼安全的全新利器

文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙OS開發(fā):【一次開發(fā),多端部署】(工程管理)

    DevEco Studio的基本使用,請參考[DevEco Studio使用指南]。本章主要介紹如何使用
    的頭像 發(fā)表于 05-16 16:07 ?1244次閱讀
    鴻蒙OS開發(fā):【一次開發(fā),多端部署】(工程管理)

    code warrior使用指南

    codewarrior 使用指南
    發(fā)表于 04-21 21:32

    HUAWEI DevEco Device Tool 使用指南【持續(xù)更新中...】

    ,支持代碼編輯、燒錄和調(diào)試等功能,支持C/C++語言,以插件的形式部署在Visual Studio Code上。下面將從以下幾個方面介紹DevEco Device Tool 的使用:1、工具簡介2、環(huán)境準備3、配置和導入工程4、
    發(fā)表于 09-17 13:48

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

    使用指南2、Huawei DevEco Studio 使用指南目前OpenHarmony最新資料會同步在鴻蒙公眾號,如果不想錯過,也可關(guān)注一下:`
    發(fā)表于 12-16 16:07

    @開發(fā)者,這份DevEco Studio搭建指南請收下!

    使用指南》的“配置開發(fā)環(huán)境”章節(jié)。下載完成后,點擊Finish。好了,HarmonyOS的SDK和Previewer就下載完成了,點擊OK。《DevEco Studio使用指南》:ht
    發(fā)表于 07-27 11:59

    【資料】DevEco Studio 1.0 使用指南

    DevEco Studio 1.0 使用指南,內(nèi)容目錄如下:回復帖子查看資料下載鏈接:[hide][/hide]
    發(fā)表于 08-12 11:42

    DevEco Studio 3.1 Beta新特性知多少

    HUAWEI DevEco Studio是開發(fā)HarmonyOS應(yīng)用及服務(wù)的一站式集成開發(fā)環(huán)境(IDE)。本次,DevEco Studio 3.1 Beta新增支持當前在市面上新的操作
    發(fā)表于 04-23 11:06

    Code Composer Studio入門

    Code Composer Studio入門一.實驗目的1.掌握Code Composer Studio 2.21的安裝和配置步驟過程。2.了解DSP開發(fā)系統(tǒng)和計算機與目標系統(tǒng)的連接方
    發(fā)表于 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,你必須通過第一這本書的兩章。
    發(fā)表于 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 使用指南

    的組件按需定制,支持代碼編輯、燒錄和 調(diào)試等功能,支持 C/C++語言,以插件的形式部署在 Visual Studio Code 上。
    發(fā)表于 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使用指南免費下載。
    發(fā)表于 05-25 14:55 ?25次下載

    DevEco Studio 2.1 Release版HarmonyOS SDK升級

    DevEco Studio 版本說明記錄了 DevEco Studio 歷史版本的更新記錄: ①如果您已經(jīng)安裝 DevEco
    的頭像 發(fā)表于 06-26 17:49 ?2728次閱讀

    DevEco Studio 3.0 測試版來啦

    DevEco Studio 3.0是HarmonyOS 3.0和OpenHarmony 3.1應(yīng)用及服務(wù)開發(fā)配套的集成開發(fā)環(huán)境(IDE),支持ArkUI聲明式編程規(guī)范、低代碼開發(fā)、雙向預覽、全新構(gòu)建
    的頭像 發(fā)表于 04-07 11:48 ?2631次閱讀
    <b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b> 3.0 測試版來啦

    DevEco Studio 3.1 Beta新特性知多少

    HUAWEI DevEco Studio是開發(fā)HarmonyOS應(yīng)用及服務(wù)的一站式集成開發(fā)環(huán)境(IDE)。本次,DevEco Studio 3.1 Beta新增支持當前在市面上新的操作
    的頭像 發(fā)表于 04-21 11:15 ?647次閱讀
    <b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b> 3.1 Beta新特性知多少

    DevEco Studio 3.1 Beta新特性知多少?

    HUAWEI DevEco Studio是開發(fā)HarmonyOS應(yīng)用及服務(wù)的一站式集成開發(fā)環(huán)境(IDE)。本次,DevEco Studio 3.1 Beta新增支持當前在市面上新的操作
    的頭像 發(fā)表于 04-21 16:50 ?785次閱讀
    <b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b> 3.1 Beta新特性知多少?