30分鐘掃描一億行代碼庫,bug漏洞都能找,這款Facebook神器黑粉都贊嘆不已
靜態分析工具Zoncolan,能在30分鐘內掃描完整個代碼庫,及時發現bug的所在,檢測內部的安全漏洞。
郭一璞 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
Facebook,擁有數十億用戶規模的超級大廠,代碼總行數高達一億行。
Bug,可能藏在一億行代碼中的每一行里,而且Facebook的工程師們還一直在添加新的代碼進去,這要是出了什么問題,影響超多用戶,要怎么在浩如煙海的代碼里定位問題?
靠大案牘術么?
不,靠Zoncolan,靜態分析工具,能在30分鐘內掃描完整個代碼庫,及時發現bug的所在,檢測內部的安全漏洞。
不少人都在Twitter上稱贊這款工具,有人覺得這款工具非常有趣,還能讓大家更有干勁;
還有人覺得自動搜索代碼找錯誤這一點,實在是太迷人了。
甚至有Facebook黑都覺得,雖然不喜歡這公司,但他們的安全和工程團隊的確令人尊重。
Zoncolan
Zoncolan是Facebook內部復雜的代碼檢查系統中的一種工具,用靜態分析的方法自動檢查Facebook內部的代碼,映射代碼庫的表現和功能,檢測潛在的安全威脅,讓安全工程師的工作規模化。
有了Zoncolan,代碼檢查的速度大大提高了。手動檢查可能需要經年累月的時間,但靠Zoncolan,從冷啟動開始,只要不到30分鐘的時間,就能檢查完Facebook長達一億行的整個代碼庫。
自從開始應用以來,Zoncolan已經找出了數千個潛在的安全問題。
Zoncolan設置了關于不良架構或代碼的“規則”,并自動掃描系統中的這些類錯誤。除了標注下這些問題之外,Zoncolan還能將問題實時反饋給工程師,讓它們規避掉此類問題。
Facebook安全工程經理Pieter Hooimeijer介紹說,每當工程師提交代碼到代碼庫的時候,Zoncolan就會在后臺運行,找出來的問題直接告訴這位提交代碼的工程師,或者提交到值班的安全工程師那里。
按照Facebook工程師們的提交頻率,Zoncolan每天運行數千次,僅僅2018年一年,它就發現了1500個問題。
隱私泄露問題無法萬無一失
不過,有了這類找bug和安全漏洞的工具存在,Facebook也不能保證萬無一失。
去年,Facebook就因黑客攻擊,導致3000萬用戶包括手機號碼、郵箱地址等用戶信息泄露。咨詢公司TrustedSec的CEO David Kennedy說,Zoncolan這類靜態分析工具,無法發現這種數據泄露問題。
不過,也并非所有的隱私問題Zoncolan都無法解決。
今年3月,Facebook被爆出有6億用戶密碼被以明文方式存儲,超過2萬名員工都可以看到這些密碼。此事發生之后,Facebook把這類漏洞的規則提交到了Zoncolan上,因此,Zoncolan也可以掃描代碼庫中類似的狀況,也確實找到了一些問題。
將會開源
最后,Zoncolan這么好的東西,能不能拿出來和大家一起分享呢?
Facebook安全工程經理Pieter Hooimeijer說,他們希望能推出開源的版本。不過,鑒于開源版本可不僅僅只用適配Facebook內部環境就好了,所以還需要增強靈活性,適配更多環境。
此前,Facebook已經針對Python推出了一個名為Pyre的代碼檢查器,雖然能力范圍并不像Zoncolan一樣強大,但這基本上就是Facebook準備開源的一個范例了。Hooimeijer說,這個基本上就是Python版的Zoncolan。
Pyre開源地址:
https://github.com/facebook/pyre-check
參考鏈接:
https://www.wired.com/story/facebook-zoncolan-static-analysis-tool/
- MEET2020 | 百度景鯤:AI交互正在吃掉舊產品邊界,觸達移動互聯網盲區用戶2019-12-10
- MEET2020 | 王硯峰揭秘搜狗AI技術體系:自然交互在左,知識計算在右,核心是語言2019-12-16
- MEET2020 | 曠視唐文斌:你到底給誰創造了什么樣的價值?這是AI產品的靈魂拷問2019-12-17
- MEET2020 | 快手劉霽:AI基礎能力決定每個公司AI的迭代和落地效率2019-12-20



