
開發的當前趨勢是在開發階段使用很多軟件包,即使它們僅提供瑣碎的功能,並且由11行代碼組成。當我們將其與發布新包裝的非常自由的政策相結合時,我們現在看到針對開發商的惡意攻擊崛起。威脅參與者已經採取了幾種不同的方法:
這些只是開發人員可以妥協自己的技術的幾個例子。這是因為在上傳到PYPI或NPM等存儲庫的內容的事實支持了這一點,並且運氣中的一陣子發現了以前的事件。我們的目標是改善這一點。
## Aura框架我們創建了一個框架,該框架旨在大規模掃描源代碼(例如整個PYPI存儲庫),尋找異常和潛在的惡意意圖以及漏洞。該框架旨在按需掃描源代碼,例如開發人員安裝軟件包或任何集合的文件/目錄。該實現目前是針對Python語言和PYPI的,但是它旨在提供包含其他語言的能力。 (例如JavaScript和NPM)
一組用例包括但不限於:
高度優化的混合分析引擎實現了這一目標。使用靜態代碼分析在沒有任何代碼執行的情況下,在完全安全的環境中進行分析。 Aura Core引擎正在分析從源代碼中解析的AST樹,執行行為分析和代碼執行流。該引擎還支持使用一組規則(例如恆定傳播,折疊或靜態評估)重寫AST樹;這些是編譯器用來優化代碼的一組技術。這就是為什麼這種分析方法是“混合”的原因,因為它通過完全安全的部分評估增強了靜態分析,從而使我們能夠擊敗更簡單的混淆機制。
下面,您可以看到Aura AST變換引擎認可的不同源代碼“混淆”技術的展示:

要學習並開始使用框架,請閱讀安裝,配置和使用文檔。
光環的核心部分是分析異常或潛在漏洞的源代碼。 Aura有幾個內置分析儀,這些分析儀在設置腳本中查找諸如eval的使用之類的異常。其他分析儀查看文件系統結構(非源代碼),例如尋找洩漏憑據,硬編碼的API令牌等。這些分析儀生成了我們所謂的命中,這些命中定義了發現的異常,還可以包括一個分數,該分數用於計算掃描的數據的安全性AURA。建議根據輸入數據的功能對提出的異常使用合理的判斷。例如,請求庫包含與網絡相關的呼叫是完全正常的,而同時,圖像處理庫不會通過網絡發送數據。還支持將數據輸出到JSON格式中,適合大規模存儲庫掃描或集成到其他產品中。有關其他組件的描述和使用,請參閱文檔。


##文件
該項目已根據GPLV3許可證獲得許可 - 有關詳細信息,請參見許可證文件。該框架的一部分包含與其他產品(例如R2C平台,Libraries.io等)集成的(可選)集成。遭受其許可和使用條款。