You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Nemo 09516e845f
Create FUNDING.yml
10 months ago
.github Create FUNDING.yml 10 months ago
.dockerignore Adds Dockerfile and LICENSE 3 years ago
.gitignore initial commit 💥 3 years ago
Dockerfile Switch to Web Archive 2 years ago
LICENSE Adds Dockerfile and LICENSE 3 years ago Add link to course 1 year ago Remove unused stuff 2 years ago
cover.pdf New chapter, and official cover PDF 3 years ago Remove unused stuff 2 years ago
urls.txt Switch to Web Archive 2 years ago


Update: The website currently only has 7 sample chapters since the remaining were removed at the book's publication, so this downloads the remaining chapters via The Internet Archive.


This is just the script to generate a combined PDF from the draft chapters that were published for review. The script also takes care of putting in the right bookmarks for all the chapters in the generated PDF file using pystitcher.

Support the author and buy the book.


See for the bookmark titles used by the script.

How to generate the book?

Run ./ You will need pystitcher, and wget installed. Alternatively, you can run it using Docker.


docker run --detach --name security-engineering-ebook captn3m0/security-engineering-ebook

docker logs security-engineering-ebook -f
Starting PDF download
All PDFs downloaded
PDF files combined
Bookmarks attached to PDF
PDF File generated: security-engineering-3rd-edition.pdf

docker cp security-engineering-ebook:/security-engineering-ebook/security-engineering-3rd-edition.pdf .

Once the script finishes running, check the security-engineering-3rd-edition.pdf file.

Support the Authors

Buy the third edition of the book from:




A course based on the book (taught to master students and 4th year undergrads at Edinburgh) is available on YouTube.


A list of my other EBook generation projects:, includes a link to other related projects as well


The little code in this repo is licensed under the MIT License. See LICENSE file for details.