Fabio Manganiello<p>If you run a <a class="hashtag" href="https://manganiello.social/tag/drone" rel="nofollow noopener noreferrer" target="_blank">#Drone</a> CI server, set <code>DRONE_REGISTRATION_CLOSED=true</code> (and manually create users only when you really really trust someone).</p><p>The CPU on my CI/CD server suddenly spiked to 100% today.</p><p>A closer look found some users who had registered on <a href="http://git.platypush.tech" rel="nofollow noopener noreferrer" target="_blank">git.platypush.tech</a> and on the CI/CD server and created a repo with a .drone.yml, a .gitlab-ci.yml and some scripts with base64-encoded commands.</p><p>The repo also contains a <code>deepCC.ipynb</code> Jupyter notebook that downloads some training data from S3 and uses Tensorflow to train a model, and then uses the <code>deepCC</code> binary to do something with that model.</p><p>The repository also has a configure script with base64-encoded commands that seem to configure a miner (the wallet ID is R9WpFbvkb6dep6bfLdbpcyz3LpMeikUL6W and the coin is VRSC, if anyone is interested in investigating further).</p><p>The <code>deepCC</code> binary is itself quite big (~50 MB), and a look at the <code>setup</code> script reveals that it’s actually a .tar.gz archive with a larger binary inside.</p><p>A quick run of <code>strings</code> on the binary confirms that it’s actually a miner - it connects to <code>eu1-etc.ethermine.org</code> and it also has a bunch of CUDA bindings to run on GPUs.</p><p>I still don’t get what’s the point of the Jupyter notebook that trains a model and passes it to this miner, but if you feared the day of the arrival of the zombie Docker containers that exhaust system resources by mining cryptocrap AND training AI models, well, I’m afraid to inform you that that day has come.</p><p>If you are a <a class="hashtag" href="https://manganiello.social/tag/gitea" rel="nofollow noopener noreferrer" target="_blank">#Gitea</a> / <a class="hashtag" href="https://manganiello.social/tag/forgejo" rel="nofollow noopener noreferrer" target="_blank">#Forgejo</a> admin, take a look at the users and repos created in the past couple of weeks. Check in particular if any recently registered users have created a repo named <code>deepcc-v</code>.</p><p>The most likely authors are users named <code>farzanfarid16</code> and <code>zurizoey0</code>.</p><p>A quick search confirms that both these users are registered on <a class="hashtag" href="https://manganiello.social/tag/gitea" rel="nofollow noopener noreferrer" target="_blank">#Gitea</a> too and have already created the incriminated repo:</p><ul><li><a href="https://gitea.com/farzanfarid16/deepcc-v" rel="nofollow noopener noreferrer" target="_blank">https://gitea.com/farzanfarid16/deepcc-v</a></li><li><a href="https://gitea.com/zurizoey0/deepcc-v" rel="nofollow noopener noreferrer" target="_blank">https://gitea.com/zurizoey0/deepcc-v</a></li></ul><p>And if you are a Drone CI or <a class="hashtag" href="https://manganiello.social/tag/gitlab" rel="nofollow noopener noreferrer" target="_blank">#Gitlab</a> admin, check if any of these users have also started CI/CD pipelines connected to that repo.</p><p>For now, disabling the execution of CI/CD pipelines unless a user has been explicitly authorized is the best idea that comes to my mind.</p>