本文介紹云效支持的代碼檢測規則種類。
規則說明
云效支持多語言的代碼檢測規則,覆蓋源碼開發質量規范和源碼安全,以及依賴包風險漏洞掃描,覆蓋CWE\OWASP\SANS\CERT等標準。
規則包名稱 | 適用語言 | 規則介紹 |
Java開發規范 | Java | 阿里巴巴Java開發規約基于《阿里巴巴 Java 開發手冊》,是阿里內部Java工程師所遵循的開發規范,涵蓋編程規約、單元測試規約、異常日志規約、MySQL規約、工程規約、安全規約等,這是近萬名阿里Java技術精英的經驗總結,并經歷了多次大規模一線實戰檢驗及完善。 |
Java安全檢測 | 基于spotbugs提供一系列規則和模式來檢測代碼中的常見問題,幫助開發人員提高代碼質量、減少潛在的安全漏洞。 | |
源碼漏洞檢測 | 在軟件編程中大多數安全漏洞都源于撰寫者,雖然編碼工具偶爾也會發生意外,但大部分的錯誤還是由于編碼不當造成的。企業可以通過為開發者提供更多的編碼安全培訓來盡可能的減少安全風險,但是效果通常并沒有設想的有效。 云效源碼漏洞檢測基于專業安全產品Sourcebrella Pinpoint,為用戶提供編碼漏洞檢測服務,包括:
| |
依賴包漏洞檢測 | 現代企業常用開源組件,開源依賴提供方通常沒有較多的預算進行安全性測試,黑客的主要攻擊目標也是開源包內的漏洞。為了杜絕安全隱患,企業需要做到以下三點:
依賴包漏洞檢測基于豐富的安全漏洞庫,高效識別代碼直接和間接依賴的漏洞風險,并可推薦直接依賴包的修復版本,進而屏蔽直接和間接的風險引入。 | |
代碼補丁推薦 | 基于業界和學術界流行的缺陷檢測手段,并分析和規避其局限性,云效通過自研算法,更精準高效的分析代碼缺陷并推薦優化方案,該算法被國際軟件工程大會(ICSE)收錄。 代碼補丁推薦服務目前應用于合并請求的代碼自動掃描場景,基于最佳實踐樣本訓練的智能代碼補丁推薦算法,為開發者提供缺陷補丁建議。 | |
JavaScript開發規范(Vue\React) | JavaScript | 基于《阿里巴巴前端規約》配套的ESLint配置,JavaScript開發規范主要包含了編碼風格、語言特性、注釋、命名檢查等。 |
TypeScript開發規范(Vue\React) | TypeScript | 基于《阿里巴巴前端規約》配套的ESLint配置,TypeScript開發規范主要包含了編碼風格、語言特性、注釋、命名檢查等。 |
Golang開發規范 | Golang | 支持Go代碼規范問題掃描,包含代碼風格、代碼簡化、不具結構性的段落以及未使用的函數、變量和類型等。 |
Golang安全檢測 | 基于gosec靜態分析Go代碼,檢測和識別潛在的安全漏洞和問題,并提供實時反饋和建議,幫助開發人員在上線前及時發現問題并解決。 | |
Python開發規范 | Python | 分析Python代碼中的錯誤,查找不符合代碼風格標準、有潛在問題的代碼并提供重構建議。 |
Python安全檢測 | 基于Bandit檢測工具幫助開發者檢測和修復Python代碼中的編碼安全問題。 | |
Python編碼風格檢測 | 基于PyCodeStyle檢測工具幫助開發者檢測和修復Python代碼中的風格問題。 | |
Node.js安全檢測 | NodeJs | 基于ESLint規則,檢測Node應用中常見的潛在安全隱患。 |
C/C++安全檢測 | C/C++ | C/C++ 安全檢測規則包,基于CppLint實現的安全檢測功能。根據Google的編程風格指南,CppLint可以掃描代碼,并檢查代碼中的每行是否符合Google的編碼風格規則且能快速識別代碼中的安全問題,并提供優秀的代碼安全規范建議,幫助開發人員改進代碼質量和安全性。 |
C/C++基礎規則包 | C/C++基礎規則包,它提供了獨特的代碼分析來檢測錯誤,不需要提供編譯信息,執行的檢查包括:代碼出現未定義行為或其他錯誤、代碼風格檢查、以及性能因素檢查等。 | |
Lua通用檢測 | Lua | 基于LuaCheck檢測工具幫助開發者檢測和修復Lua代碼中的語法,編碼風格和安全問題。 |
Scala編碼風格檢測 | Scala | 基于ScalaStyle工具進行Scala編碼風格檢測,幫助開發者優化編碼過程的產生的Scala編碼風格問題。 |
Kotlin基礎規則包 | Kotlin | 基于Detekt檢測工具幫助開發者檢測與修復kotlin開發過程中的編碼問題,幫助開發人員提高代碼質量、減少潛在的代碼漏洞。 |
Android基礎規則包 | Android | 基于Androidlint檢測工具幫助開發者檢測與修復開發過程中出現的編碼規范,安全問題,幫助開發人員提高代碼質量、減少潛在的代碼漏洞。 |
敏感信息檢測 | 不限語言 | 檢測代碼中的API keys等敏感憑證和密鑰,有效防止敏感信息意外提交和泄露。 |