AppThreat / atom

Atom is a novel intermediate representation for applications and a standalone tool that is powered by chen.
https://appthreat.com
Apache License 2.0
39 stars 2 forks source link

Reachables slice #82

Closed prabhu closed 9 months ago

prabhu commented 9 months ago

This PR adds support for creating reachables slices for Java applications.

Prerequisites

Steps

npm install -g @cyclonedx/cdxgen
cd <path to java repo>
cdxgen -t java -o bom.json --deep .
git clone https://github.com/AppThreat/atom
cd atom
git checkout feature/reachable-slice
sbt stage
./atom.sh reachables -o app.atom -l java --slice-outfile reachables.json .

Sample invocation:

https://github.com/AppThreat/atom/blob/feature/reachable-slice/.github/workflows/repotests.yml#L77

Known issues

Sample test results

https://github.com/HooliCorp/java-sec-code reachables.json.txt

https://github.com/OWASP-Benchmark/BenchmarkJava reachables.tar.gz