Joern adalah platform untuk menganalisis kode sumber, bytecode, dan executable biner. Ini menghasilkan grafik properti kode (CPG), representasi grafik kode untuk analisis kode lintas bahasa. Grafik properti kode disimpan dalam database grafik khusus. Hal ini memungkinkan kode ditambang menggunakan kueri penelusuran yang diformulasikan dalam bahasa kueri khusus domain berbasis Scala. Joern dikembangkan dengan tujuan menyediakan alat yang berguna untuk penemuan kerentanan dan penelitian dalam analisis program statis.
Situs web: https://joern.io
Dokumentasi: https://docs.joern.io/
Spesifikasi: https://cpg.joern.io
overflowdb.traversal.Traversal
. Perubahan ini tidak sepenuhnya kompatibel. Lihat di sini untuk tulisan rinci. 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>
Jika skrip instalasi gagal karena alasan apa pun, coba
./joern-install --interactive
docker run --rm -it -v /tmp:/tmp -v $(pwd):/app:rw -w /app -t ghcr.io/joernio/joern joern
Untuk menjalankan joern dalam mode server:
docker run --rm -it -v /tmp:/tmp -v $(pwd):/app:rw -w /app -t ghcr.io/joernio/joern joern --server
Almalinux 9 memerlukan CPU untuk mendukung SSE4.2. Untuk VM kvm64 gunakan versi Almalinux 8 sebagai gantinya.
docker run --rm -it -v /tmp:/tmp -v $(pwd):/app:rw -w /app -t ghcr.io/joernio/joern-alma8 joern
Rilis baru dibuat secara otomatis sekali sehari. Kontributor juga dapat menjalankan alur kerja rilis secara manual jika mereka memerlukan rilis lebih cepat.
Terima kasih telah meluangkan waktu untuk berkontribusi pada Joern! Berikut adalah beberapa panduan untuk memastikan permintaan penarikan Anda akan digabungkan sesegera mungkin:
[javasrc2cpg] Addition Operator Fix
.sbt scalafmt Test/scalafmt
sbt
di repositori joern lokal Anda, jalankan compile
dan biarkan tetap terbuka - ini akan memungkinkan kita menggunakan build BSP pada langkah berikutnyaBSP project
(yaitu bukan sbt project
!)Build -> build project
atau jalankan pengujian ms-vscode-remote.remote-containers
Folder contains a Dev Container configuration file. Reopen to folder to develop in a container.
Reopen in Container
untuk membuka kembali folder dalam kontainer yang dibuat oleh file .devcontainer/Dockerfile
scalameta.metals
di VSCode, dan pilih import build
di BUILD COMMANDS
import build
berhasil, Anda siap untuk mulai menulis kode untuk Joern Cara cepat untuk mengembangkan dan menguji QueryDB:
sbt stage
./querydb-install.sh
./joern-scan --list-query-names
Perintah terakhir mencetak semua kueri yang tersedia - tambahkan kueri Anda sendiri di querydb, jalankan kembali perintah di atas untuk melihat bahwa kueri Anda diterapkan. Detail lebih lanjut di readme querydb terpisah