分享方式:


安全性規則

安全性規則支援更安全的連結庫和應用程式。 這些規則有助於防止程式中的安全性缺陷。 如果您停用上述任何規則,您應該清楚標示程式代碼中的原因,並通知指定的安全性人員進行開發專案。

本節內容

規則 描述
CA2100:必須檢閱 SQL 查詢中是否有安全性弱點 方法會使用透過字串引數所建置的字串,將 System.Data.IDbCommand.CommandText 屬性設定為方法。 這項規則假設字串引數包含使用者輸入。 從使用者輸入所建置的 SQL 命令字串很容易遭到 SQL 插入攻擊。
CA2109:必須檢閱可見的事件處理常式 偵測到公用或保護的事件處理方法。 除非有絕對的必要性,否則不應該公開事件處理方法。
CA2119:密封方法以滿足私用介面的要求 可繼承的公用類型會提供內部 (在 Visual Basic 中為 Friend) 介面的可覆寫方法實作。 若要修正此規則的違規情形,請避免在組件外覆寫方法。
CA2153:避免處理損毀狀態例外狀況 損毀狀態例外狀況 (CSE) 指出您的處理序中有記憶體損毀的狀況。 如果攻擊者將攻擊放入損毀的記憶體區域,則攔截這些處理序而非讓它們損毀,會導致安全性弱點。
CA2300:請勿使用不安全的還原序列化程式 BinaryFormatter 還原序列化未受信任資料時,不安全的還原序列化程式會易受攻擊。 攻擊者可以修改序列化的資料,以包含非預期的型別,以插入具有惡意副作用的物件。
CA2301:未先設定 BinaryFormatter.Binder 之前,請勿呼叫 BinaryFormatter.Deserialize 還原序列化未受信任資料時,不安全的還原序列化程式會易受攻擊。 攻擊者可以修改序列化的資料,以包含非預期的型別,以插入具有惡意副作用的物件。
CA2302:呼叫 BinaryFormatter.Deserialize 之前,請務必先設定 BinaryFormatter.Binder 還原序列化未受信任資料時,不安全的還原序列化程式會易受攻擊。 攻擊者可以修改序列化的資料,以包含非預期的型別,以插入具有惡意副作用的物件。
CA2305:請勿使用不安全的還原序列化程式 LosFormatter 還原序列化未受信任資料時,不安全的還原序列化程式會易受攻擊。 攻擊者可以修改序列化的資料,以包含非預期的型別,以插入具有惡意副作用的物件。
CA2310:請勿使用不安全的還原序列化程式 NetDataContractSerializer 還原序列化未受信任資料時,不安全的還原序列化程式會易受攻擊。 攻擊者可以修改序列化的資料,以包含非預期的型別,以插入具有惡意副作用的物件。
CA2311:未先設定 NetDataContractSerializer.Binder 之前,請勿還原序列化 還原序列化未受信任資料時,不安全的還原序列化程式會易受攻擊。 攻擊者可以修改序列化的資料,以包含非預期的型別,以插入具有惡意副作用的物件。
CA2312:還原序列化之前,請務必先設定 NetDataContractSerializer.Binder 還原序列化未受信任資料時,不安全的還原序列化程式會易受攻擊。 攻擊者可以修改序列化的資料,以包含非預期的型別,以插入具有惡意副作用的物件。
CA2315:請勿使用不安全的還原序列化程式 ObjectStateFormatter 還原序列化未受信任資料時,不安全的還原序列化程式會易受攻擊。 攻擊者可以修改序列化的資料,以包含非預期的型別,以插入具有惡意副作用的物件。
CA2321:請勿使用 SimpleTypeResolver 搭配 JavaScriptSerializer 來還原序列化 還原序列化未受信任資料時,不安全的還原序列化程式會易受攻擊。 攻擊者可以修改序列化的資料,以包含非預期的型別,以插入具有惡意副作用的物件。
CA2322:還原序列化之前,請確定不會使用 SimpleTypeResolver 來將 JavaScriptSerializer 初始化 還原序列化未受信任資料時,不安全的還原序列化程式會易受攻擊。 攻擊者可以修改序列化的資料,以包含非預期的型別,以插入具有惡意副作用的物件。
CA2326:請勿使用「無」以外的 TypeNameHandling 值 還原序列化未受信任資料時,不安全的還原序列化程式會易受攻擊。 攻擊者可以修改序列化的資料,以包含非預期的型別,以插入具有惡意副作用的物件。
CA2327:請勿使用不安全的 JsonSerializerSettings 還原序列化未受信任資料時,不安全的還原序列化程式會易受攻擊。 攻擊者可以修改序列化的資料,以包含非預期的型別,以插入具有惡意副作用的物件。
CA2328:確定 JsonSerializerSettings 安全 還原序列化未受信任資料時,不安全的還原序列化程式會易受攻擊。 攻擊者可以修改序列化的資料,以包含非預期的型別,以插入具有惡意副作用的物件。
CA2329:請勿使用不安全的組態來還原序列化 JsonSerializer 還原序列化未受信任資料時,不安全的還原序列化程式會易受攻擊。 攻擊者可以修改序列化的資料,以包含非預期的型別,以插入具有惡意副作用的物件。
CA2330:在還原序列化時,請確認 JsonSerializer 有安全的組態 還原序列化未受信任資料時,不安全的還原序列化程式會易受攻擊。 攻擊者可以修改序列化的資料,以包含非預期的型別,以插入具有惡意副作用的物件。
CA2350:請確認 DataTable.ReadXml() 的輸入是受信任的 使用不受信任的輸入還原序列化 DataTable 時,攻擊者可以製作惡意輸入來執行拒絕服務的攻擊。 可能有未知的遠端程式碼執行弱點。
CA2351:請確認 DataSet.ReadXml() 的輸入是受信任的 使用不受信任的輸入還原序列化 DataSet 時,攻擊者可以製作惡意輸入來執行拒絕服務的攻擊。 可能有未知的遠端程式碼執行弱點。
CA2352:可序列化類型中的不安全 DataSet 或 DataTable 可能容易受到遠端程式碼執行攻擊 標示為 SerializableAttribute 的類別或結構包含 DataSetDataTable 欄位或屬性,而且沒有 GeneratedCodeAttribute
CA2353:可序列化類型中的不安全 DataSet 或 DataTable 標示為 XML 序列化屬性或資料合約屬性的類別或結構包含 DataSetDataTable 欄位或屬性。
CA2354:還原序列化物件圖中的不安全 DataSet 或 DataTable 可能容易受到遠端程式碼執行攻擊 使用 System.Runtime.Serialization.IFormatter 序列化還原序列化,而轉換型別的物件圖形可以包含 DataSetDataTable
CA2355:還原序列化物件圖中的不安全 DataSet 或 DataTable 在轉換或指定型別的物件圖形可以包含 DataSetDataTable 時還原序列化。
CA2356:Web 還原序列化物件圖中的不安全 DataSet 或 DataTable 具有 System.Web.Services.WebMethodAttributeSystem.ServiceModel.OperationContractAttribute 的方法具有可參考 DataSetDataTable 的參數。
CA2361:確認不會搭配不受信任的資料使用包含 DataSet.ReadXml() 的自動產生類別 使用不受信任的輸入還原序列化 DataSet 時,攻擊者可以製作惡意輸入來執行拒絕服務的攻擊。 可能有未知的遠端程式碼執行弱點。
CA2362:自動產生之可序列化型別中不安全的 DataSet 或 DataTable,容易受到遠端程式碼執行攻擊 使用 BinaryFormatter 還原序列化未受信任的輸入,且還原序列化的物件圖形包含 DataSetDataTable 時,攻擊者可以製作惡意承載來執行遠端程式碼執行攻擊。
CA3001:檢閱程式碼是否有 SQL 插入式攻擊弱點 使用不受信任的輸入和 SQL 命令時,請留意 SQL 插入式攻擊。 SQL 插入式攻擊可以執行惡意 SQL 命令,進而危害應用程式的安全性和完整性。
CA3002:檢閱程式碼是否有 XSS 弱點 處理來自 Web 要求的不受信任輸入時,請留意跨網站指令碼 (XSS) 攻擊。 XSS 攻擊會將不受信任的輸入插入原始 HTML 輸出中,讓攻擊者執行惡意指令碼或惡意修改網頁中的內容。
CA3003:檢閱程式碼是否有檔案路徑插入式攻擊弱點 使用來自 Web 要求的不受信任輸入時,請留意在指定檔案路徑時使用使用者控制的輸入。
CA3004:檢閱程式碼是否有資訊洩漏弱點 洩漏例外狀況資訊可讓攻擊者深入了解應用程式內部,這有助於攻擊者找出其他弱點來進行惡意探索。
CA3006:檢閱程式碼是否有處理序命令插入式攻擊弱點 使用不受信任的輸入時,請留意命令插入式攻擊。 命令插入式攻擊可以在基礎作業系統上執行惡意命令,進而危害伺服器的安全性和完整性。
CA3007:檢閱程式碼是否有開放式重新導向弱點 使用不受信任的輸入時,請留意開放式重新導向弱點。 攻擊者可以利用開放式重新導向弱點,使用網站來提供合法 URL 的外觀,但將無防備的訪客重新導向至網路釣魚或其他惡意網頁。
CA3008:檢閱程式碼是否有 XPath 插入式攻擊弱點 使用不受信任的輸入時,請留意 XPath 插入式攻擊。 使用不受信任的輸入建構 XPath 查詢可能會讓攻擊者惡意操作查詢以傳回非預期的結果,並可能揭露查詢 XML 的內容。
CA3009:檢閱程式碼是否有 XML 插入式攻擊弱點 使用不受信任的輸入時,請留意 XML 插入式攻擊。
CA3010:檢閱程式碼是否有 XAML 插入式攻擊弱點 使用不受信任的輸入時,請留意 XAML 插入式攻擊。 XAML 是直接表示物件執行個體化和執行的標記語言。 這表示在 XAML 中建立的元素可以與系統資源互動 (例如網路存取和檔案系統 IO)。
CA3011:檢閱程式碼是否有 DLL 插入式攻擊弱點 使用不受信任的輸入時,請留意是否載入不受信任的程式碼。 如果 Web 應用程式載入不受信任的程式碼,攻擊者可能會將惡意 DLL 插入處理序並執行惡意程式碼。
CA3012:檢閱程式碼是否有 regex 插入式攻擊弱點 使用不受信任的輸入時,請留意 regex 插入式攻擊。 攻擊者可以使用 RegEx 插入來惡意修改規則運算式、使 RegEx 符合非預期的結果,或讓 RegEx 耗用過多的 CPU 而導致拒絕服務的攻擊。
CA3061:請勿透過 URL 新增結構描述 請勿使用 Add 方法的不安全多載,因為不安全的多載可能導致危險的外部參考。
CA3075:不安全的 DTD 處理 如果您使用不安全的 DTDProcessing 執行個體或參考外部實體來源,剖析器可能會接受未受信任的輸入,而將機密資訊洩漏給攻擊者。
CA3076:不安全的 XSLT 指令碼執行 如果您不安全地在 .NET 應用程式中執行 Extensible StyleSheet 語言轉換 (XSLT),處理器可能會解析不受信任的 URI 參考,這些參考可能會向攻擊者揭露敏感性資訊,導致阻斷服務和跨網站攻擊。
CA3077:API 設計、XML 文件和 XML 文字讀取器中的不安全處理 針對衍生自 XMLDocument 和 XMLTextReader 的 API 進行設計時,請留意 DtdProcessing。 若在參考或解析外部實體來源時使用不安全的 DTDProcessing 執行個體,或在 XML 中設定不安全的值,都可能會導致資訊洩漏。
CA3147:使用 ValidateAntiForgeryToken 標示動詞處理常式 設計 ASP.NET MVC 控制器時,請注意跨網站要求偽造攻擊。 跨網站要求偽造攻擊可以將來自已驗證用戶的惡意要求傳送至您的 ASP.NET MVC 控制器。
CA5350:請勿使用弱式密碼編譯演算法 現今,弱式加密演算法和雜湊函式用於多種原因,但它們不應該用來保證所保護資料的機密性或完整性。 此規則會在它在程式碼中發現 TripleDES、SHA1 或 RIPEMD160 演算法時觸發。
CA5351:不要使用中斷的密碼編譯演算法 中斷的密碼編譯演算法較不安全,強烈建議您不要使用它們。 此規則會在它在程式碼中發現 MD5 雜湊演算法或 DES 或 RC2 加密演算法時觸發。
CA5358:不要使用不安全的 Cipher 模式 不要使用不安全的 Cipher 模式
CA5359:請勿停用憑證驗證 憑證可協助驗證伺服器的身分識別。 用戶端應該驗證伺服器憑證,以確保要求會傳送至預定的伺服器。 如果 ServerCertificateValidationCallback 一律傳回 true,則任何憑證都會通過驗證。
CA5360:請勿在還原序列化時呼叫危險的方法 不安全的還原串行化是一種弱點,當未受信任的數據用來濫用應用程式的邏輯、造成拒絕服務 (DoS) 攻擊,或甚至於還原串行化時執行任意程式代碼時發生。 當應用程式還原串行化其控制下不受信任的數據時,惡意使用者通常會濫用這些還原串行化功能。 具體而言,在還原序列化過程中叫用危險方法。 成功的不安全還原序列化攻擊可讓攻擊者執行 DoS 攻擊、驗證略過和遠端程式碼執行等攻擊。
CA5361:請勿停用強密碼編譯的 SChannel 使用 Switch.System.Net.DontEnableSchUseStrongCrypto 設定為 true 會弱化在傳出傳輸層安全性 (TLS) 連線中使用的密碼編譯。 較弱的密碼編譯可能會危害應用程式與伺服器之間通訊的機密性,讓攻擊者更輕鬆地竊聽敏感性資料。
CA5362:還原序列化物件圖中的可能參考循環 如果還原序列化未受信任的資料,那麼處理還原序列化物件圖形的任何程式碼都需要處理參考循環,而不必進入無限迴圈。 這包括還原序列化回撥流程的部分程式碼,以及還原序列化完成後,負責處理物件圖的程式碼。 否則,攻擊者便可使用包含參考循環的惡意資料來執行拒絕服務攻擊。
CA5363:請勿停用要求驗證 要求驗證是 ASP.NET 中的一項功能,會檢查 HTTP 要求,並判斷它們是否包含可能導致插入式攻擊的潛在危險內容,包括跨網站腳本處理。
CA5364:請勿使用已取代的安全性通訊協定 傳輸層安全性 (TLS) 最常使用超文字傳輸通訊協定安全 (HTTPS) 保護電腦之間的通訊。 較舊的 TLS 通訊協定版本的安全性比 TLS 1.2 和 TLS 1.3 更低,而且較可能有新的弱點。 避免舊版通訊協定,以將風險降到最低。
CA5365:請勿停用 HTTP 標頭檢查 HTTP 標頭檢查可讓您對回應標頭中找到的歸位字元和換行字元 \r 和\n 進行編碼。 此編碼有助於避免插入式攻擊,這些攻擊會利用標頭所包含不受信任資料的應用程式。
CA5366:請使用 XmlReader 為 DataSet 讀取 XML 使用 DataSet 讀取含有不受信任資料的 XML,可能會載入危險的外部參考,應使用具有安全解析程式或已停用 DTD 處理的 XmlReader,加以限制。
CA5367:請勿將具有指標欄位的類型序列化 此規則會檢查是否有具有指標欄位或屬性的可序列化類別。 無法序列化的成員可以是指標,例如以 NonSerializedAttribute 標示的靜態成員或欄位。
CA5368:為衍生自頁面的類別設定 ViewStateUserKey 設定 ViewStateUserKey 屬性可協助您防止對應用程式的攻擊,方法是讓您將識別碼指派給個別使用者的檢視狀態變數,讓攻擊者無法使用變數來產生攻擊。 否則,跨網站要求偽造將會有弱點。
CA5369:請使用 XmlReader 進行還原序列化 處理不受信任的 DTD 和 XML 結構描述可能會載入危險的外部參考,這應該會透過使用具有安全解析程式或停用 DTD 和 XML 內嵌結構描述處理的 XmlReader,來加以限制。
CA5370:請使用 XmlReader 驗證讀取器 處理不受信任的 DTD 和 XML 結構描述可能會載入危險的外部參考。 使用具有安全解析程式或已停用 DTD 和 XML 內嵌結構描述處理的 XmlReader,即可限制這種危險載入。
CA5371:請使用 XmlReader 讀取結構描述 處理不受信任的 DTD 和 XML 結構描述可能會載入危險的外部參考。 使用具有安全解析程式或已停用 DTD 和 XML 內嵌結構描述處理的 XmlReader 會限制此功能。
CA5372:請為 XPathDocument 使用 XmlReader 處理不受信任資料的 XML,可能會載入危險的外部參考,可使用具有安全解析程式或已停用 DTD 處理的 XmlReader,加以限制。
CA5373:不使用已過時的金鑰衍生函式 此規則會偵測弱式金鑰衍生方法和 System.Security.Cryptography.PasswordDeriveBytesRfc2898DeriveBytes.CryptDeriveKey 的叫用。 System.Security.Cryptography.PasswordDeriveBytes 使用弱式演算法 PBKDF1。
CA5374:請勿使用 XslTransform 此規則會檢查是否已在程式碼中將 System.Xml.Xsl.XslTransform 具現化。 System.Xml.Xsl.XslTransform 現在已過時,不應使用。
CA5375:請勿使用帳戶共用存取簽章 帳戶 SAS 可以將 Blob 容器、資料表、佇列和檔案共用的讀取、寫入和刪除作業的存取權限,委派給本無權限的服務 SAS。 不過,其不支援容器層級原則,而且對於授與的權限具有較少的彈性和控制。 惡意使用者取得此權限之後,儲存體帳戶將會很容易遭到入侵。
CA5376:請使用 SharedAccessProtocol HttpsOnly SAS 是敏感性資料,無法在 HTTP 上以純文字傳輸。
CA5377:請使用容器層級存取原則 容器層級存取原則可以隨時修改或撤銷。 其提供更大的彈性,並可控制授與的權限。
CA5378:請勿停用 ServicePointManagerSecurityProtocols DisableUsingServicePointManagerSecurityProtocols 設定為 true 會將 Windows Communication Framework (WCF) 傳輸層安全性 (TLS) 連線限制為使用 TLS 1.0。 該版本的 TLS 將會遭到取代。
CA5379:確定密鑰衍生函式演算法足夠強 Rfc2898DeriveBytes 類別預設為使用 SHA1 演算法。 您應該指定要在具有 SHA256 或更新版本的某些建構函式多載中使用的雜湊演算法。 請注意,HashAlgorithm 屬性只有 get 存取子,而且沒有 overridden 修飾元。
CA5380:不新增憑證至根存放區 此規則會偵測將憑證新增至信任根憑證授權單位憑證存放區的程式碼。 根據預設,信任的根憑證授權單位憑證存放區會設定一組符合 Microsoft 根憑證計畫需求的公用 CA。
CA5381:確保憑證不新增至根存放區 此規則會偵測可能將憑證新增至信任根憑證授權單位憑證存放區的程式碼。 根據預設,信任的根憑證授權單位憑證存放區會設定一組符合 Microsoft 根憑證計畫需求的公用憑證授權單位 (CA)。
CA5382:在 ASP.NET Core 中使用安全 Cookie 透過 HTTPS 提供的應用程式必須使用安全 Cookie,以向瀏覽器指出 Cookie 只能使用傳輸層安全性 (TLS) 傳輸。
CA5383:確定在 ASP.NET Core 中使用安全 Cookie 透過 HTTPS 提供的應用程式必須使用安全 Cookie,以向瀏覽器指出 Cookie 只能使用傳輸層安全性 (TLS) 傳輸。
CA5384:請勿使用數位簽章演算法 (DSA) DSA 是弱式非對稱加密演算法。
CA5385:使用有足夠金鑰大小的 Rivest–Shamir–Adleman (RSA) 加密演算法 小於 2048 位元的 RSA 金鑰較容易遭受暴力密碼破解攻擊。
CA5386:避免將 SecurityProtocolType 值寫入程式碼 傳輸層安全性 (TLS) 最常使用超文字傳輸通訊協定安全 (HTTPS) 保護電腦之間的通訊。 通訊協定版本 TLS 1.0 和 TLS 1.1 已遭取代,而 TLS 1.2 和 TLS 1.3 是最新版本。 在未來,TLS 1.2 和 TLS 1.3 可能已遭取代。 為了確保您的應用程式保持安全,請避免硬式編碼通訊協定版本,並至少以 .NET Framework v4.7.1 為目標。
CA5387:請勿使用反覆項目數不足的弱式金鑰衍生函數 (Key Derivation Function) 此規則會檢查密碼編譯金鑰是否由 Rfc2898DeriveBytes 產生,且反覆運算計數小於 100,000。 較高的反覆運算計數有助於減輕嘗試猜測所產生密碼編譯金鑰的字典攻擊。
CA5388:使用弱式金鑰衍生函數 (Key Derivation Function) 時,請確保反覆項目數足夠 此規則會檢查密碼編譯金鑰是否由 Rfc2898DeriveBytes 產生,且反覆運算計數可能小於 100,000。 較高的反覆運算計數有助於減輕嘗試猜測所產生密碼編譯金鑰的字典攻擊。
CA5389:不將封存項目路徑新增至目標檔案系統路徑 檔案路徑可以是相對的,而且可能會導致檔案系統存取超出預期的檔案系統目標路徑,進而透過配置和等候技術導致惡意設定變更和遠端程式碼執行。
CA5390:請勿使用硬式編碼加密金鑰 為了確保對稱演算法成功,只有傳送者和接收者才知道祕密金鑰。 當金鑰是硬式編碼時,您就可以輕鬆地探索到此金鑰。 即使使用編譯的二進位檔,惡意使用者也很容易加以擷取。 私密金鑰遭到入侵之後,加密文字可以直接解密,且不再受到保護。
CA5391:在 ASP.NET Core MVC 控制器中使用反forgery 令牌 處理 POSTPUTPATCHDELETE 要求而不驗證防偽權杖可能會容易受到跨網站偽造要求攻擊。 跨網站要求偽造攻擊可以將來自已驗證用戶的惡意要求傳送至您的 ASP.NET Core MVC 控制器。
CA5392:請對 P/Invokes 使用 DefaultDllImportSearchPaths 屬性 根據預設,P/Invoke 函式會使用 DllImportAttribute 探查數個目錄,包括程式庫要載入的目前工作目錄。 這可以是特定應用程式的安全性問題,進而導致 DLL 攔截。
CA5393:請勿使用不安全的 DllImportSearchPath 值 預設 DLL 搜尋目錄和組件目錄中可能有惡意 DLL。 或者,視應用程式執行位置而定,應用程式目錄中可能有惡意 DLL。
CA5394:請勿使用不安全的隨機性 使用密碼編譯弱式虛擬亂數產生器,可能會讓攻擊者預測將會產生哪些安全性敏感性值。
CA5395:遺漏動作方法的 HttpVerb 屬性 建立、編輯、刪除或修改資料的所有動作方法,都必須受到防偽屬性的保護,以防止跨網站偽造要求攻擊。 執行 GET 作業應該是安全的作業,沒有任何副作用,而且不會修改您的保存資料。
CA5396:將 HttpCookie 的 HttpOnly 設為 true 作為深度防禦措施,請確定將安全性敏感性 HTTP Cookie 標示為 HttpOnly。 這表示網頁瀏覽器應該不允許指令碼存取 Cookie。 插入的惡意指令碼是竊取 Cookie 的常見方式。
CA5397:請勿使用已過時的 SslProtocols 通訊協定 傳輸層安全性 (TLS) 最常使用超文字傳輸通訊協定安全 (HTTPS) 保護電腦之間的通訊。 較舊的 TLS 通訊協定版本的安全性比 TLS 1.2 和 TLS 1.3 更低,而且較可能有新的弱點。 避免舊版通訊協定,以將風險降到最低。
CA5398:避免以硬式編碼方式寫入 SslProtocols 值 傳輸層安全性 (TLS) 最常使用超文字傳輸通訊協定安全 (HTTPS) 保護電腦之間的通訊。 通訊協定版本 TLS 1.0 和 TLS 1.1 已遭取代,而 TLS 1.2 和 TLS 1.3 是最新版本。 在未來,TLS 1.2 和 TLS 1.3 可能已遭取代。 若要確保應用程式保持安全,請避免將通訊協定版本硬式編碼。
CA5399:確認停用 HttpClient 憑證撤銷清單檢查 已撤銷的憑證不再受信任。 攻擊者可以使用此憑證來傳遞某些惡意資料,或在 HTTPS 通訊中竊取敏感性資料。
CA5400:確認未停用 HttpClient 憑證撤銷清單檢查 已撤銷的憑證不再受信任。 攻擊者可以使用此憑證來傳遞某些惡意資料,或在 HTTPS 通訊中竊取敏感性資料。
CA5401:請勿使用具有非預設 IV 的 CreateEncryptor 對稱式加密應一律使用不可重複的初始化向量來防止字典攻擊。
CA5402:使用具有預設 IV 的 CreateEncryptor 對稱式加密應一律使用不可重複的初始化向量來防止字典攻擊。
CA5403:不要硬式編碼憑證 dataX509CertificateX509Certificate2 建構函式的 rawData 參數會受到硬式編碼。
CA5404:請勿停用權杖驗證檢查 不應將控制權杖驗證的 TokenValidationParameters 屬性設定為 false
CA5405:永遠不要在委派中略過權杖驗證 指派給 AudienceValidatorLifetimeValidator 的回撥一律會傳回 true