Amazon CodeGuru Reviewer 是一個開發者工具,可以檢測程式碼中的安全漏洞,並提供智能化的建議,幫助開發人員提高程式碼品質。例如 CodeGuru Reviewer 能夠為 Java 和 Python 程式碼引入了安全檢測器,從十大網路應用系統安全弱點(OWASP)類別中識別出程式碼的安全風險,並且遵循 AWS API 和常見加密函式庫所建議的安全化實踐方式。在 re:Invent大會上,CodeGuru Reviewer 推出了一個密鑰檢測器,用於識別在程式碼中寫死的密鑰,並且會和 AWS Secrets Manager 合作,建議使用者採取補救措施,以確保密鑰不會外洩。以上這些功能都可以幫助你在部署前發現安全問題並進行補救。
我很高興今天與大家分享 CodeGuru Reviewer 的兩個新功能﹕
- 新的 Detector Library 詳細描述了 CodeGuru Reviewer 中尋找程式碼中可能的漏洞時所使用的檢測器,當中提供了包括 Java 和 Python 的範例程式碼。
- 新的安全檢測器已經被引入,用於檢測 Java 和 Python 程式碼中的記錄檔注入漏洞,與我們最近在這篇部落客中描述的 Apache Log4j 漏洞的情況相似。
讓我們更詳細地看看這些新功能。
- 使用 Detector Library
為了幫助你更清楚地了解 CodeGuru Reviewer 使用哪些檢測器來審查您的程式碼,我們現在分享一個 Detector Library,您可以在其中找到詳細資訊和範例程式碼。
這些檢測器可以幫助你在 AWS 上建立安全又高效的應用程式,在 Detector Library 中,您可以找到關於 CodeGuru Reviewer中安全和程式碼品質檢測器的詳細資訊,包括問題的描述、其嚴重程度、對你的應用程式的潛在影響,以及幫助你如何降低風險的其他資訊。
要留意的是,每個檢測器都在盡全力尋找各種各樣的程式碼漏洞。雖然我們為每個檢測器都各提供了一個不符合要求及一個符合要求的範例程式碼,然而 CodeGuru 是使用機器學習和自動化推理來識別潛在問題點,因此除了檢測器描述頁面上顯示的範例程式碼外,各個檢測器仍然可以發掘出程式碼中一系列的漏洞。
讓我們看一下幾個檢測器。一個檢測器正在尋找不安全的跨源資源共享(CORS)機制,這些機制過於寬鬆,可能會引致從不可信任的或者惡意的來源裡加載內容。
另一個檢測器會檢查、驗證不正確、可能會引致攻擊或其他不適當的輸入行為。
特定的檢測器可以幫助你在應用程式中使用 AWS SDK for Java 和 AWS SDK for Python(Boto3)。例如,有一些檢測器可以檢測到在程式碼裡寫死的憑證,例如密碼和存取密鑰,或者 AWS 資源的低效率輪詢。
- 新的記錄檔注入漏洞的檢測器
在最近的 Apache Log4j 漏洞之後,我們在 CodeGuru Reviewer 中引入了新的檢測器,以便檢查你是否記錄了任何未經過檢查、可以被執行的東西。這些檢測器涵蓋了 CWE-117: Improper Output Neutralization for Logs 中描述的問題。
這些檢測器都適用於 Java 和 Python 程式碼,而且對於 Java,並不限於 Log4j 函式庫。它們不是透過檢查你使用的函式庫的版本來進行,而是檢查你實際記錄的內容來進行檢測。通過這種方式,它們可以在將來發生類似的錯誤時保護你。
在設定完這些檢測器之後,使用者傳回來的輸入在被記錄之前必須進行檢測以確保並不危險。這就避免了攻擊者能夠利用這個輸入來破壞你的記錄檔、甚至偽造記錄檔條目,或者繞過記錄檔監控器。
- 可用性和價格
這些新功能在現在提供 Amazon CodeGuru 的所有 AWS 地區都可以使用。如欲了解更多資訊,請參考 AWS 地區服務列表。
Detector Library 作為文檔的一部分是可以免費瀏覽,而對於需要尋找新的記錄檔注入漏洞的檢測器,這會適用於標準等級的定價,請參見 CodeGuru 定價頁面的更多資訊。
今天就開始使用Amazon CodeGuru Reviewer來提高您的程式碼的安全性。