Angr + Notebook Docker

Try angr with Jupyter Notebook using this dockerfile.

Use my dockerfile:

FROM --platform=linux/amd64 ubuntu:18.04
RUN apt update && apt install -y python3-pip
RUN pip3 -q install pip --upgrade
RUN pip3 install jupyter
RUN apt install -y git graphviz
# Install angr/dev in GitHub
RUN git clone && cd angr-dev && ./ -i -e angr
RUN cd angr-dev && git clone && pip3 install -e ./bingraphvis/ && git clone && pip3 install -e ./angr-utils/

COPY . .
CMD ["jupyter", "notebook", "--port=8888", "--no-browser", "--ip=", "--allow-root"]


Build docker image

Make a new directory and put the snippet in a file called Dockerfile.

mkdir angr-notebook && cd angr-notebook
touch Dockerfile

Build the docker image with the following command:

docker build -t angr-notebook .


Run container

Run a docker container, forwarding jupyter notebook server to the host with the following command:

docker run --platform=linux/amd64 -p 8888:8888 -d whexy/angr_notebook


Login Jupyter notebook

Visit http://localhost:8888 in your browser. You should see the Jupyter notebook server. You should provide a token to login in.

The token can be checked with the following command (replace the <container_id> with the real container id):

docker inspect <container_id>