GitHub 推出基于機(jī)器學(xué)習(xí)的代碼掃描分析功能
GitHub 推出了一項(xiàng)由機(jī)器學(xué)習(xí)驅(qū)動(dòng)的新代碼掃描分析功能,該代碼掃描功能可以針對(duì)四種常見漏洞模式顯示警報(bào):跨站點(diǎn)腳本 (XSS)、路徑注入、NoSQL 注入和 SQL 注入。
新的代碼掃描功能由 CodeQL 分析引擎提供支持,啟用 CodeQL 來(lái)針對(duì)某個(gè)代碼庫(kù)進(jìn)行查詢,即可識(shí)別潛在的安全漏洞。這些開源查詢由社區(qū)成員和 GitHub 安全專家編寫,盡可能多地識(shí)別特定漏洞類型的變體,并提供廣泛的通用弱點(diǎn)枚舉 (CWE) 覆蓋范圍。
該功能對(duì) JavaScript 和 TypeScript 代碼的靜態(tài)分析,涵蓋了整個(gè) OWASP(開放式 WEB 應(yīng)用程序安全項(xiàng)目)的十大漏洞類型。功能目前處于 beta 版本,側(cè)重于為一些最常見和最危險(xiǎn)的漏洞:
- 跨站點(diǎn)腳本(XSS、CWE-79)
- 路徑注入(CWE-22、CWE-23、CWE-36、CWE-73、CWE-99)
- NoSQL 注入 (CWE-943)
- SQL 注入 (CWE-89)
隨著開源生態(tài)系統(tǒng)的快速發(fā)展,不常用的庫(kù)越來(lái)越多。因此新的掃描功能使用由手動(dòng)編寫的 CodeQL 查詢提供的示例,不斷地識(shí)別同類開源庫(kù)以及內(nèi)部開發(fā)的閉源庫(kù),以此來(lái)訓(xùn)練深度學(xué)習(xí)模型。使用這些模型,CodeQL 可以識(shí)別更多不受信任的用戶數(shù)據(jù)流,從而識(shí)別更多潛在的安全漏洞。
如何打開該代碼掃描功能?
- 對(duì)使用 security-extended 或 security-and-quality 其中一個(gè)代碼掃描分析套件的用戶來(lái)說(shuō),該功能默認(rèn)開啟。
- 對(duì)已在使用代碼掃描功能,但未使用上述分析套件的用戶,可以通過(guò)修改代碼掃描操作的工作流配置文件,以啟用新的分析功能:
[]
- uses: github/codeql-action/init@v1
with:
queries: +security-extended
[ ]
對(duì)未啟用代碼掃描功能的用戶來(lái)說(shuō),可按照說(shuō)明為 JavaScript/TypeScript 代碼配置分析,并在配置過(guò)程中加入上述分析套件。
注意:基于機(jī)器學(xué)習(xí)的實(shí)驗(yàn)分析可能具有更高的誤報(bào)率,與大多數(shù)機(jī)器學(xué)習(xí)模型一樣,分析結(jié)果會(huì)隨著模型的不斷完善而改善。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:GitHub 推出基于機(jī)器學(xué)習(xí)的代碼掃描分析功能
本文地址:https://www.oschina.net/news/183694/github-code-scanning-with-machine-learning