Giter VIP home page Giter VIP logo

zqtang-chn / joern Goto Github PK

View Code? Open in Web Editor NEW

This project forked from joernio/joern

0.0 0.0 0.0 58.29 MB

Open-source code analysis platform for C/C++/Java/Binary based on code property graphs

Home Page: https://joern.io/

License: Apache License 2.0

Scala 88.09% Shell 1.77% C 0.26% Dockerfile 0.02% SuperCollider 0.20% ANTLR 0.55% Java 8.88% Assembly 0.09% Kotlin 0.08% C++ 0.05% JavaScript 0.02% Python 0.01%

joern's Introduction

Joern - The Bug Hunter's Workbench

release Gitter

Joern is a platform for analyzing source code, bytecode, and binary executables. It generates code property graphs (CPGs), a graph representation of code for cross-language code analysis. Code property graphs are stored in a custom graph database. This allows code to be mined using search queries formulated in a Scala-based domain-specific query language. Joern is developed with the goal of providing a useful tool for vulnerability discovery and research in static program analysis.

Website: https://joern.io

Documentation: https://docs.joern.io/

Specification: https://cpg.joern.io

Requirements

  • JDK 11 (newer versions might work, but have not been properly tested)
  • optional: gcc and g++ (for auto-discovery of C/C++ system header files if included/used in your C/C++ code)

Quick Installation

wget https://github.com/joernio/joern/releases/latest/download/joern-install.sh
chmod +x ./joern-install.sh
sudo ./joern-install.sh
joern

Compiling (synthetic)/ammonite/predef/interpBridge.sc
Compiling (synthetic)/ammonite/predef/replBridge.sc
Compiling (synthetic)/ammonite/predef/DefaultPredef.sc
Compiling /home/tmp/shiftleft/joern/(console)

     ██╗ ██████╗ ███████╗██████╗ ███╗   ██╗
     ██║██╔═══██╗██╔════╝██╔══██╗████╗  ██║
     ██║██║   ██║█████╗  ██████╔╝██╔██╗ ██║
██   ██║██║   ██║██╔══╝  ██╔══██╗██║╚██╗██║
╚█████╔╝╚██████╔╝███████╗██║  ██║██║ ╚████║
 ╚════╝  ╚═════╝ ╚══════╝╚═╝  ╚═╝╚═╝  ╚═══╝

joern>

If the installation script fails for any reason, try

./joern-install --interactive

QueryDB (queries plugin)

Quick way to develop and test QueryDB:

sbt stage
./querydb-install.sh
./joern-scan --list-query-names

The last command prints all available queries - add your own in querydb, run the above commands again to see that your query got deployed. More details in the separate querydb readme

Javasrc2cpg (a source-based frontend for Java)

See details in the javasrc2cpg readme

joern's People

Contributors

fabsx00 avatar ursachec avatar mpollmeier avatar itsacoderepo avatar max-leuthaeuser avatar scala-steward avatar davidbakereffendi avatar glassandonehalf avatar ml86 avatar bbrehm avatar ferada avatar johannescoetzee avatar hubertp avatar bsw4p avatar hlmu avatar m1cm1c avatar joernchen avatar dependabot[bot] avatar clccc avatar verazuo avatar patricksmith avatar derpsteb avatar japkeerat avatar raymontag avatar kamthamc avatar l0s avatar dukebarman avatar bstee615 avatar kavfixnel avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.