規則更新

2.1.0 版中的規則更新

註:
  1. 新增規則
語言 CWE 說明
Android Java CWE-319 新涵蓋範圍:檢查 AndroidManifest.xml 檔案中的 usesCleartextTrafficcleartextTrafficPermitted 是否設為 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 檢查 WebViewInAppWebView,查看 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.outSystem.err 的使用(為除錯呼叫,應從生產程式碼中移除)。1
CWE-78 搜尋 Runtime.getRunTime() 的內聯呼叫。
CWE-757 擴充我們檢查為不安全或破損項目的清單。
CWE-916 檢查 PBEKeySpecPBEParameterSpec 是否使用較弱的迭代次數。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 檔案中的 UIFileSharingEnabledLSSupportsOpeningDocumentsInPlace 是否設為 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