規則更新
2.1.0 版中的規則更新
註:
- 新增規則
| 語言 | CWE | 說明 |
|---|---|---|
| Android Java | CWE-319 | 新涵蓋範圍:檢查 AndroidManifest.xml 檔案中的 usesCleartextTraffic 或 cleartextTrafficPermitted 是否設為 true,這是不安全的做法。 |
| C# | CWE-89 | 降低 SQLi 偵測中的雜訊。 |
| CWE-215 | 檢查日誌記錄呼叫是否含有包含敏感資訊的可疑變數。1 | |
| CWE-397 | 尋找潛在不安全的通用例外擲回,例如 throw new Exception 或 throw new SystemException。 | |
| CWE-89 | 新涵蓋範圍:新增 SQL 注入檢查,以納入 += 模式以及部分預存程序模式。 | |
| CWE-89 | 新涵蓋範圍:更嚴格的檢查,以確認目前處於查詢語句中,從而減少雜訊。 | |
| CWE-1004 | 減少干擾:檢查 http=true,若已設定則略過此發現。 | |
| CSS | CWE-79 | 降低在 .css 檔案中硬編碼變數檢查所發現的雜訊。 |
| Dart | CWE-943 | 尋找 NoSQL 注入。1 |
| CWE-338 | 尋找不安全的偽隨機數字。1 | |
| CWE-116 | 尋找 File.writeAs 樣式呼叫。1 | |
| CWE-79 | 檢視 Response.ok 和類似呼叫的潛在不安全使用情況。1 | |
| CWE-348 | 尋找可能不安全的目錄列舉。1 | |
| CWE-78 | 檢查 Process.run 是否有不安全的使用。1 | |
| CWE-89 | 涵蓋 query/execute/prepare 樣式呼叫的 SQL 注入潛在風險。1 | |
| Dart:Flutter(新架構支援,新涵蓋範圍) | CWE-35 | 檢查 MethodChannel 是否使用可能由使用者控制的路徑引數。 |
| CWE-78 | 在 MethodChannel 呼叫中尋找潛在的 OS 注入。 |
|
| CWE-80 | 檢查 WebView 或 InAppWebView,查看 javascript 是否未受到限制,這是危險做法。 |
|
| CWE-89 | 支援 sqflite flutter 特定的 DB API | |
| CWE-117 | 揭露未被除錯控制包覆的 print 及類似陳述式。這些呼叫通常不應出現在除錯分支以外的生產程式碼中。 | |
| CWE-312 | 檢查 FlutterSecureStorage 是否儲存了疑似私人資訊,例如密碼或其他階段作業資訊。 |
|
| CWE-598 | 檢查 Navigator 物件是否有可能不安全的查詢參數用途。 | |
| CWE-918 | 尋找 MethodChannel.invokeMethod 中由使用者控制的 URL,以防範 SSRF 攻擊。 |
|
| Go | CWE-79 | 降低 fprintf 檢查時產生的雜訊。 |
| IaC Docker | CWE-22 | 檢查是否在 DockerFile 中新增了敏感路徑。1 |
| IaC Kubernetes | CWE-209 | 在 .yaml 配置檔中新增檢查殘留堆疊追蹤程式碼的機制。1 |
| Java | CWE-209 | 檢查程式碼中 System.out 與 System.err 的使用(為除錯呼叫,應從生產程式碼中移除)。1 |
| CWE-78 | 搜尋 Runtime.getRunTime() 的內聯呼叫。 |
|
| CWE-757 | 擴充我們檢查為不安全或破損項目的清單。 | |
| CWE-916 | 檢查 PBEKeySpec 與 PBEParameterSpec 是否使用較弱的迭代次數。1 |
|
| CWE-1188 | 使用大型或由使用者控制的值的 StringBuilder 建構函式阻斷服務檢查。1 |
|
| CWE-215 | 檢查日誌記錄呼叫是否含有包含敏感資訊的可疑變數。1 | |
| CWE-397 | 尋找可能不安全的通用例外擲回,例如 throws Exception 或 throws Throwable。 | |
| CWE-396 | 尋找通用的 catch 區塊,例如 catch(Exception e) 或 catch (Throwable t)。1 | |
| JavaScript | CWE-397 | 尋找可能不安全的通用例外擲回,例如 throw "message"。 |
| CWE-80 | 修正 @if 模式被誤判為非 handlebars 範本的問題。 | |
| JavaScript:Angular | CWE-80 | 減少干擾:檢查以確認目前不在 @if 範本中 |
| NodeJS | CWE-78 | 額外檢查不安全的 child_process.exec 呼叫。 |
| Perl | CWE-732 | IO::File::open 呼叫的涵蓋範圍更加完整。 |
| CWE-89 | 減少 SQL 注入規則中的雜訊,該規則先前會對參數化陳述式產生誤報。 | |
| CWE-732 | 降低以 STDIN 作為輸入的 open 呼叫所產生的雜訊。 | |
| CWE-397 | 尋找可能不安全的通用例外擲回,例如 throw Error("foo")。 | |
| PHP | CWE-89 | 新增針對 sqlite_escape_string 的驗證器檢查。 |
| CWE-213 | 新增對 PHP 程式碼中殘留的 phpInfo 呼叫的檢查。1 | |
| CWE-89 | 新增以 sqlite_escape_string 驗證並排除發現的檢查。 |
|
| Python | CWE-397 | 尋找可能不安全的通用例外擲回,例如 raise BaseException。 |
| 機密 | CWE-798 | 為硬式編碼的 privateKey 新增機密檢查。 |
| CWE-798 | 新涵蓋範圍:新增對 Tuleap 的支援。 | |
| CWE-798 | 新涵蓋範圍:檢查 equalsIgnoreCase 呼叫中是否有硬式編碼密碼。 |
|
| CWE-798 | 減少干擾:避免為機密掃描器中已註解的 C\C++ 程式碼新增發現。 | |
| CWE-798 | 將一些雜訊模式作為發現項目移除。 | |
| CWE-798 | 在 web.config 檔案中搜尋硬編碼的認證資訊。 |
|
| CWE-1051 | 檢查硬編碼的 IP 位址,並調整以避免誤判看似 IP 位址但實際上不是的字串。 | |
| CWE-1051 | 減少干擾:硬編碼 IP 位址檢查現已避免將版本號誤判為 IP 位址 | |
| CWE-798 | 減少在 Atlassian 機密偵測中的干擾。 | |
| CWE-798 | 減少在機密金鑰\值配對中的干擾。 | |
| CWE-798 | 新增檢查範圍,以偵測字串中包含 1234 的硬編碼密碼。 | |
| Swift | CWE-1188 | 新涵蓋範圍:檢查 info.plist 檔案中的 UIFileSharingEnabled 或 LSSupportsOpeningDocumentsInPlace 是否設為 true,這是不安全的做法。 |
| TypeScript | CWE-94 | 針對包含可能由使用者控制之變數的 eval,新增額外檢查。 |
此外,CWE-319 也已全面更新。我們已移除在程式碼中尋找不安全 http 樣式字串的規則,因為這些規則產生過多雜訊。我們仍會在適當情況下,於混合式掃描器中尋找特定的開放式通訊使用例項,例如 JavaScript 中的 fetch 呼叫。
這項對 CWE-319 的變更會影響下列語言:
- ASP
- Golang
- Groovy
- Kotlin
- Objective-C
- PHP
- Scala
- Swift
- C#
- Dart
- RPG
- VB
- Xamarin