Let me start by saying I'm a big fan of Docker, in fact, without Docker I sincerely doubt I'd have developed any of the Open Source projects I've created in the last 5 years. Having said that, I thought I'd put down a few words on what to beware of with Docker projects -- especially in the age of AI.
Trust
When it comes to choosing to install a Docker container, having at least a minimum of trust is critical. This means there are things to look out for, such as users that are new to this forum (or any other forum you frequent). But beyond that, unless the project has been created by a company with a provable track record, it's critical the project is open source. This means the source code can be inspected, and that users can build from that source if desired.
These open source projects should be available on one of the trusted platforms, with GitHub being the leader. Users with no other projects on GitHub and no history on GitHub or Docker Hub need additional scrutiny.
Privileges
If you're satisfied with the trust equation outlined above, the next consideration is whether or not this container deployment is requesting extra privileges. These privileges can include many things, but among them are network_mode: host
. If you have a comfortable level of trust with the project, then this is not unreasonable -- provided there's a legitimate reason to use it.
I recently did an experiment to illustrate this point, and in about 20 mins had a block of code that could be compiled, and then used to install anything I wanted in that container "on-the-fly". The container in question was built with no tools of concern, and had no other privileges beyond network_mode: host
.
This code could have been used to install just about anything new in the container, including but not limited to: LAN scans to reveal the MAC addresses of LAN devices with known vulnerabilities; port scans for brute force password attacks and on-LAN DoS attacks.
AI
Once upon a time, it was relatively easy to identify bad actors on the Internet, as these attacks tended to be crude. Often riddled with spelling and grammar mistakes. With AI in the mix, this is flipped on its head, and posts or e-mails that are very convincing -- often devoid of any spelling or grammar issues are the new "Nigerian Prince" messages.
Posts that come in rapid succession, with liberal use of formatting bullet points, font changes and other marketing flourishes need to be given an extra look.
Conclusion
Docker is an amazing way to be able to distribute software, especially for hobbyists/enthusiasts, but it's up to all of us to remain vigilant. A docker container on your LAN, with any level of extra privileges, isn't much different from letting a stranger into your house to connect their computer directly to your LAN. There are amazing projects out there to take advantage of, as long as there's a reasonable level of caution exercised.
To illustrate the point I'm making above, I fed this post into ChatGPT to show what a little AI flair/post-processing might look like. The AI version is in the next post.