The Risk
When installing open-source tools from package managers (pip, npm, GitHub releases), verify the spelling of the package name carefully. Attackers regularly upload malicious packages with names that are slight misspellings of popular tools — a technique called typosquatting.
How This Applies to Controls Engineers
We routinely install Python libraries for PLC communication (pycomm3, pymodbus), data analysis, or custom scripting tools from GitHub. A single typo in a pip install command can pull down a package that contains malware — keyloggers, credential stealers, or backdoors.
Examples of What Can Go Wrong
pip install pymodbussinstead ofpip install pymodbus— the extra “s” could be a malicious package.- Cloning a GitHub repo with a similar name to the legitimate project — same code with added malware.
- Downloading a release binary from a forked repo instead of the official one.
Verification Steps
- Double-check the package name against the official documentation or project page before running install commands.
- Verify the publisher — on PyPI, check the maintainer. On GitHub, check the organization and star count.
- Check download counts — a legitimate popular package will have thousands or millions of downloads. A typosquat will have very few.
- Review the source code briefly — especially for lesser-known packages. Look at the
setup.pyor__init__.pyfor any suspicious imports or network calls.
For Engineering Laptops
Engineering laptops that connect to PLC networks are high-value targets. A compromised laptop on an industrial network is a serious incident. Treat package installation with the same caution as any other software installation on production-adjacent machines.