Appshark is a static taint analysis platform to scan vulnerabilities in an Android app.
Prerequisites
Appshark requires a specific version of JDK
– JDK 11. After testing, it does not
work on other LTS versions, JDK 8 and JDK 16, due to the dependency compatibility issue.
Building/Compiling AppShark
We assume that you are working in the root directory of the project repo. You can build the whole project with
the gradle tool.
$ ./gradlew build -x test
After executing the above command, you will see an artifact file AppShark-0.1.2-all.jar in the directory build/libs.
Running AppShark
Like the previous step, we assume that you are still in the root folder of the project. You can run the tool with
The config.json5 has the following configuration contents.
{
"apkPath": "/Users/apks/app1.apk"
}
Each JSON has these basic field.
apkPath: the path of the apk file to analyze
out: the path of the output directory
rules: specifies the rules, split by ,. Default is all *.json files in the $rulePath directory
rulePath: specifies the rule’s parent directory, default is ./config/rules
maxPointerAnalyzeTime: the timeout duration in seconds set for the analysis started from an entry point
debugRule: specify the rule name that enables logging for debugging
For more config field, please visit net.bytedance.security.app.ArgumentConfig
If you provide a configuration JSON file which sets the output path as out in the project root directory, you will
find the result file out/results.json after running the analysis.
Document Index
AppShark
Appshark is a static taint analysis platform to scan vulnerabilities in an Android app.
Prerequisites
Appshark requires a specific version of JDK – JDK 11. After testing, it does not work on other LTS versions, JDK 8 and JDK 16, due to the dependency compatibility issue.
Building/Compiling AppShark
We assume that you are working in the root directory of the project repo. You can build the whole project with the gradle tool.
After executing the above command, you will see an artifact file
AppShark-0.1.2-all.jarin the directorybuild/libs.Running AppShark
Like the previous step, we assume that you are still in the root folder of the project. You can run the tool with
The
config.json5has the following configuration contents.Each JSON has these basic field.
,. Default is all *.json files in the $rulePath directoryFor more config field, please visit
net.bytedance.security.app.ArgumentConfigIf you provide a configuration JSON file which sets the output path as
outin the project root directory, you will find the result fileout/results.jsonafter running the analysis.Interpreting the Results
Below is an example of the
results.json.License
AppShark is licensed under the APACHE LICENSE, VERSION 2.0
Security Notice
UI/Server is an auxiliary testing tool that should not be used in production environments and can only be deployed for local testing.
Contact Us
Lark