macOS
brew install joernlocal Homebrew formula metadata
brew / rank 3867
Open-source code analysis platform based on code property graphs. Version 4.0.590 via Homebrew; verified 2026-07-28.
install
brew install joernlocal Homebrew formula metadata
overview
Open-source code analysis platform based on code property graphs
history
Joern is an open-source code analysis platform built around code property graphs, a graph representation that lets security researchers query syntax, control flow, and data flow through a Scala-based domain-specific language. Its Homebrew formula packages a large CLI surface, including language frontends and helper commands for parsing, scanning, slicing, exporting, and vectorizing code.
The code property graph idea was introduced in vulnerability-research work on C system code and the Linux kernel. Joern grew from that research lineage into a practical tool for creating and querying CPGs, with later research from 2014 to 2016 extending the representation and 2017 onward work at ShiftLeft turning the format into a broader static-analysis foundation.
The public joernio/joern repository was created in 2019 and the project documentation records several architectural shifts: older Joern versions used general-purpose graph databases and Gremlin, later versions moved to OverflowDB, Joern v2 changed the implementation line from Scala 2 to Scala 3, and Joern v4 moved from OverflowDB to flatgraph.
Joern's adoption is strongest in security research and static-analysis workflows where importing incomplete or build-hostile code is valuable. The documentation lists mature or partially mature frontends for C/C++, Java, JavaScript, Python, binary analysis through Ghidra, JVM bytecode, Kotlin, PHP, Go, Ruby, Swift, and C#.
Homebrew distribution makes Joern convenient on macOS and Linux while preserving its JVM/Scala toolchain shape through OpenJDK and sbt-related packaging.
A typical Joern workflow parses source, bytecode, or binaries into a CPG, stores the graph in Joern's graph database, and then uses CPGQL or bundled commands such as joern-scan, joern-slice, and joern-export to inspect code patterns and vulnerability-relevant flows.
Joern matters to package nerds because it turns a research-heavy static-analysis stack into a single installable CLI formula with many frontends. It also shows the unusual packaging profile of modern security tooling: JVM runtime, Scala build tooling, external parsers, and a fast-moving release stream tied to graph storage changes.
security posture
No matching local secret-handling manifest was found for joern. Nucleus package metadata is still published here so future coverage has a stable package URL.
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
abap2cpg | executable | indexed executable | Discovered from the local executable index. |
c2cpg.sh | executable | indexed executable | Discovered from the local executable index. |
csharpsrc2cpg | executable | indexed executable | Discovered from the local executable index. |
ghidra2cpg | executable | indexed executable | Discovered from the local executable index. |
gosrc2cpg | executable | indexed executable | Discovered from the local executable index. |
javasrc2cpg | executable | indexed executable | Discovered from the local executable index. |
jimple2cpg | executable | indexed executable | Discovered from the local executable index. |
joern | executable | indexed executable | Discovered from the local executable index. |
joern-cpg2scpg | executable | indexed executable | Discovered from the local executable index. |
joern-export | executable | indexed executable | Discovered from the local executable index. |
joern-flow | executable | indexed executable | Discovered from the local executable index. |
joern-parse | executable | indexed executable | Discovered from the local executable index. |
joern-scan | executable | indexed executable | Discovered from the local executable index. |
joern-slice | executable | indexed executable | Discovered from the local executable index. |
joern-vectors | executable | indexed executable | Discovered from the local executable index. |
jssrc2cpg.sh | executable | indexed executable | Discovered from the local executable index. |
kotlin2cpg | executable | indexed executable | Discovered from the local executable index. |
php2cpg | executable | indexed executable | Discovered from the local executable index. |
pysrc2cpg | executable | indexed executable | Discovered from the local executable index. |
rubysrc2cpg | executable | indexed executable | Discovered from the local executable index. |
rust2cpg | executable | indexed executable | Discovered from the local executable index. |
schema-extender.sh | executable | indexed executable | Discovered from the local executable index. |
swiftsrc2cpg.sh | executable | indexed executable | Discovered from the local executable index. |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:joern |
|---|---|
| Version | 4.0.590 |
| Package manager | Homebrew |
| Homepage | https://joern.io/ |
| Repository | https://github.com/joernio/joern |
| Last updated | 2026-07-28T10:31:06Z |
| Pulse | updated |
| Bottle | not recorded |
| Service | none declared |
source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.