Go to file
Nemo 6cddc84846 Drop urls.txt 2023-04-12 20:06:53 +05:30
.github Create FUNDING.yml 2022-05-30 14:47:58 +05:30
.dockerignore Adds Dockerfile and LICENSE 2020-04-27 09:24:23 +05:30
.gitignore initial commit 💥 2020-02-01 02:50:30 +05:30
Dockerfile Drop urls.txt 2023-04-12 20:06:53 +05:30
LICENSE Adds Dockerfile and LICENSE 2020-04-27 09:24:23 +05:30
README.md Drop urls.txt 2023-04-12 20:06:53 +05:30
book.md Drop urls.txt 2023-04-12 20:06:53 +05:30
cover.pdf New chapter, and official cover PDF 2020-07-11 13:21:00 +05:30
generate.sh Drop urls.txt 2023-04-12 20:06:53 +05:30



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 book.md for the bookmark titles used by the script.

How to generate the book?

Run ./generate.sh. You will need pystitcher 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: https://captnemo.in/ebooks/, 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.