This is a small tool I develop to convert a logic attack graph to PDDL files describing the attacking procedure.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
- Visit http://people.cs.ksu.edu/~xou/mulval/ to download the latest MulVAL.
- Visit https://www.python.org/downloads/ to download the latest suitable Python 3.x version according to your OS (we used Python 3.5 on Ubuntu 16.04)
Visit http://editor.planning.domains/ to solve the problem. Once you have domain.pddl and problem.pddl
The following Python packages are required:
- pandas
You can run the following command to install the package.
pip install pandas
You can download the tool using the following command.
git clone https://github.com/leelening/MulVALTOPDDL.git
We provide a running example in the package. You can find AttackGraph.dot, ARCS.CSV, and VERTICES.CSV in the package. These files are generated by the MulVAL.
You can create a domain file domain.pddl by running the following command.
python create_domain.py ./example/VERTICES.CSV ./example/ARCS.CSV
Then you can create a problem file problem.pddl by running the following command.
python create_prob.py ./example/VERTICES.CSV
Once you get these two files: domain.pddl and problem.pddl. You can go to PDDL Editor to solve your planning problem. This online editor has many good features.
- Lening Li - Initial work - leelening
This project is licensed under the MIT License - see the LICENSE.md file for details
- MulVAL
- PDDL Editor
- The tool is inspired by:
- B, T. G., Puzis, R., & Shapira, B. (2017). Scalable Attack Path Finding. 234–249. https://doi.org/10.1007/978-3-319-60080-2