Scable is a proof of concept that implements automotive security tests (written in Python with Scapy) as Ansible Modules. The goal was to demonstrate module based security testing as part of my master thesis.
- Linux (Debian, Ubuntu, Manjaro etc.)
- SocketCAN driver, which is available on modern Linux distributions
- can_isotp kernel module
python3
,pip3
,venv
; on debian based systems just executesudo apt-get install python3 python3-pip python3-venv
Execute create_venv.sh
after installing the requirements. This script will create a virtual environment in the current directory and install all further requirements (ansible, scapy) into the venv.
All Ansible Modules must provide a documentation, which is accessible via ansible-doc -t module [moduleName]
. (Note: setup environment first; see "Usage" down below.)
Valid module names are:
- isotp_scanner
- detect_uds_sockets
- uds_scanner
There are unit and integration tests available. Every Module has a folder starting with test_* next to its implementation, which contains those tests. They can be executed with the script run_test.sh
.
- First execute
source source_me
to setup the environment in bash. - Create an Ansible Playbook, which uses the implemented Ansible Modules under
lib/modules
. Examples can be found undertest-system
, which includes system tests for a specific hardware setup (probably not yours). - Run the playbook:
ansible-playbook [yourPlaybookName.yml] -vvv