joern
v4.0.180
Joern 是一個用於分析原始程式碼、位元組碼和二進位可執行檔的平台。它會產生程式碼屬性圖(CPG),這是用於跨語言程式碼分析的程式碼的圖形表示。程式碼屬性圖儲存在自訂圖形資料庫中。這允許使用以基於 Scala 的特定領域查詢語言制定的搜尋查詢來挖掘程式碼。 Joern 的開發目標是為靜態程式分析中的漏洞發現和研究提供有用的工具。
網址:https://joern.io
文件:https://docs.joern.io/
規範:https://cpg.joern.io
overflowdb.traversal.Traversal
類別。此更改不完全向後相容。請參閱此處以了解詳細的文章。 wget https://github.com/joernio/joern/releases/latest/download/joern-install.sh
chmod +x ./joern-install.sh
sudo ./joern-install.sh
joern
██╗ ██████╗ ███████╗██████╗ ███╗ ██╗
██║██╔═══██╗██╔════╝██╔══██╗████╗ ██║
██║██║ ██║█████╗ ██████╔╝██╔██╗ ██║
██ ██║██║ ██║██╔══╝ ██╔══██╗██║╚██╗██║
╚█████╔╝╚██████╔╝███████╗██║ ██║██║ ╚████║
╚════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝
Version: 2.0.1
Type `help` to begin
joern>
如果安裝腳本因任何原因失敗,請嘗試
./joern-install --interactive
docker run --rm -it -v /tmp:/tmp -v $(pwd):/app:rw -w /app -t ghcr.io/joernio/joern joern
要在伺服器模式下執行 joern:
docker run --rm -it -v /tmp:/tmp -v $(pwd):/app:rw -w /app -t ghcr.io/joernio/joern joern --server
Almalinux 9要求CPU支援SSE4.2。對於 kvm64 VM,請改用 Almalinux 8 版本。
docker run --rm -it -v /tmp:/tmp -v $(pwd):/app:rw -w /app -t ghcr.io/joernio/joern-alma8 joern
每天自動建立一次新版本。如果貢獻者需要更快發布,他們也可以手動執行發布工作流程。
感謝您抽出時間為 Joern 做出貢獻!以下是一些確保您的拉取請求盡快合併的指南:
[javasrc2cpg] Addition Operator Fix
。sbt scalafmt Test/scalafmt
sbt
,運行compile
並保持打開狀態 - 這將允許我們在下一步中使用 BSP 構建BSP project
開啟(即不是sbt project
!)Build -> build project
或執行測試ms-vscode-remote.remote-containers
Folder contains a Dev Container configuration file. Reopen to folder to develop in a container.
Reopen in Container
按鈕以重新開啟由.devcontainer/Dockerfile
檔案建立的容器中的資料夾scalameta.metals
側邊欄,然後在BUILD COMMANDS
中選擇import build
import build
成功後,就可以開始為 Joern 編寫程式碼了開發和測試 QueryDB 的快速方法:
sbt stage
./querydb-install.sh
./joern-scan --list-query-names
最後一個命令列印所有可用的查詢 - 在 querydb 中新增您自己的查詢,再次執行上述命令以查看您的查詢是否已部署。更多詳細資訊請參閱單獨的 querydb 自述文件