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 自述文件