Automic VaultAutomic Vault

brew

Install joern with Homebrew

Open-source code analysis platform based on code property graphs. Version 4.0.570 via Homebrew; verified 2026-07-03.

install

Additional install commands

macOS

Homebrewverified ยท 100%
brew install joern

local Homebrew formula metadata

overview

Package summary

Open-source code analysis platform based on code property graphs

Commands and aliases

  • abap2cpg
  • c2cpg.sh
  • csharpsrc2cpg
  • ghidra2cpg
  • gosrc2cpg
  • javasrc2cpg
  • jimple2cpg
  • joern
  • joern-cpg2scpg
  • joern-export
  • joern-flow
  • joern-parse
  • joern-scan
  • joern-slice
  • joern-vectors
  • jssrc2cpg.sh
  • kotlin2cpg
  • php2cpg
  • pysrc2cpg
  • rubysrc2cpg
  • rust2cpg
  • schema-extender.sh
  • swiftsrc2cpg.sh

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2014: Code property graphs were introduced for vulnerability discovery in C system code.
  • 2014-2016: Research extended the CPG concept for interprocedural analysis, data-flow learning, dominator-tree integration, and dynamic-language analysis.
  • 2017: The CPG became a foundation for static-analysis products at ShiftLeft.
  • 2019: The joernio/joern GitHub repository was created.
  • 2023: Joern v2 marked the Scala 2 to Scala 3 transition.
  • 2026: Joern v4 documented the move from OverflowDB to flatgraph.

Related projects

  • Related projects and concepts include the Code Property Graph specification, Ocular and Qwiet AI, OverflowDB, flatgraph, Ghidra frontends, and the older Gremlin/property-graph ecosystem that influenced early Joern storage and querying.

security posture

No protected-tool coverage found yet

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.

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 4 runtime dependencies.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
abap2cpgcliglobal executable
c2cpg.shcliglobal executable
csharpsrc2cpgcliglobal executable
ghidra2cpgcliglobal executable
gosrc2cpgcliglobal executable
javasrc2cpgcliglobal executable
jimple2cpgcliglobal executable
joerncliglobal executable
joern-cpg2scpgcliglobal executable
joern-exportcliglobal executable
joern-flowcliglobal executable
joern-parsecliglobal executable
joern-scancliglobal executable
joern-slicecliglobal executable
joern-vectorscliglobal executable
jssrc2cpg.shcliglobal executable
kotlin2cpgcliglobal executable
php2cpgcliglobal executable
pysrc2cpgcliglobal executable
rubysrc2cpgcliglobal executable
rust2cpgcliglobal executable
schema-extender.shcliglobal executable
swiftsrc2cpg.shcliglobal executable

freshness

Version and 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.

page generated2026-07-09
manager version4.0.570
manager updated2026-07-03
local dataok
upstreamcurrent
latest detectedv4.0.570

https://github.com/joernio/joern

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:joern
Version4.0.570
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/joern
Homepagehttps://joern.io/
Repositoryhttps://github.com/joernio/joern
Upstream docshttps://docs.joern.io/
LicenseApache-2.0
Source archivehttps://github.com/joernio/joern/archive/refs/tags/v4.0.570.tar.gz
Last updated2026-07-03T07:31:21Z
Pulseupdated
Dependenciesastgen, coreutils, openjdk@25, php
Build dependenciessbt
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namejoern
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • package relationship graph
  • package version freshness
  • package-page enrichment