OSINT Techniques Updates
- Posted on December 16, 2025
- ** Posted in OSINT
We recently overhauled the entire OSINT VM build including the following.
Updated all steps within the install.sh script and linux.txt file for Debian 13. Only use Debian 13 for new VMs! Modified all pip3 commands to match pip. Transitioned many installations to pipx.
The big one:
Updated install.sh script and linux.txt file to remove all virtual environments and sudo pip usage.
Details:
This is due to changes within Debian 13 and the apps we use, allowing them to talk with each other appropriately and globally. In previous books, we just used pip to install Linux applic…
OSINT Techniques Updates
- Posted on December 16, 2025
- ** Posted in OSINT
We recently overhauled the entire OSINT VM build including the following.
Updated all steps within the install.sh script and linux.txt file for Debian 13. Only use Debian 13 for new VMs! Modified all pip3 commands to match pip. Transitioned many installations to pipx.
The big one:
Updated install.sh script and linux.txt file to remove all virtual environments and sudo pip usage.
Details:
This is due to changes within Debian 13 and the apps we use, allowing them to talk with each other appropriately and globally. In previous books, we just used pip to install Linux application dependencies. Security changes in Python blocked this behavior in 2024, so we had to pivot. We intended on switching to Python virtual environments (venv) which would properly isolate all of our pip installations, but that caused other problems. The various applications we installed did not work properly with fellow software which wanted them installed globally (not in venv). Since this is a VM, we made the choice to use venv to bypass Python trying to block our installations, but used sudo within venv to allow global installation. Basically, we cheated. If this were a host Linux system and you wanted to install software which might conflict with other applications, then I would not recommend this route. I would avoid using sudo within venv. For a VM which will only be used for online investigations, I had no issue with this. After the book was released, we were able to block almost all pip errors in Debian 13, so we eliminated all of the venv options from the online steps for simplicity, since they were not providing any real protection anyway.
Basically, either option works the same way, however, we always encourage readers to follow the online steps over the book. Much has been updated to reflect installation changes. If I were writing a new OSINT book today (I am not), and rebuilding the OSINT VM, I would find a way to make everything work appropriately within Python virtual environments, including a full re-write of every script. Since so many people rely on the scripts as they are, I elected to cheat with venv a bit to make things function at the time. You are correct to question this logic though.
Summary: If your OSINT VM is not working great, rebuild it from scratch with Debian 13 using the updated steps we have posted online. You can get these from the OSINT portal URL in your copy of OSINT Techniques, 11th edition, or the linux.txt file in the link present within the OSINT Techniques VM guide. Both are the same.