Code release for the paper entitled "AdCPG: Classifying JavaScript Code Property Graphs with Explanations for Ad and Tracker Blocking", published at CCS 2023.
- Install dependencies.
$ pip install adblockparser
$ pip install escodegen
$ pip install esprima
$ pip install networkx
$ pip install pandas
$ pip install requests
$ pip install scikit-learn
$ pip install selenium-wire
$ pip install torch
$ pip install torch_geometric
- Install Joern by following the instructions in this link.
JavaScript files are stored in <AdCPG_directory>/data/scripts
.
$ cd <AdCPG_directory>
$ python crawler.py
CPGs are stored in <AdCPG_directory>/data/scripts
.
$ cd <AdCPG_directory>
$ python builder.py <Joern_directory>
Classification results are stored in <AdCPG_directory>/data/results
.
$ cd <AdCPG_directory>
$ python classifier.py
Explanations are stored in <AdCPG_directory>/data/results/explanations
.
$ cd <AdCPG_directory>
$ python explainer.py
@inproceedings{10.1145/3576915.3623084,
author = {Lee, Changmin and Son, Sooel},
title = {AdCPG: Classifying JavaScript Code Property Graphs with Explanations for Ad and Tracker Blocking},
year = {2023},
booktitle = {Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security},
pages = {3505–3518},
}