3D printing virus for STL file type

Shapeways was over the past week hit by what we assume is the first virus to affect 3D printing. This virus infected a plug in of a popular 3D modeling package and corrupted files that were exported to STL with that plug in.

A few important things first:

  • the maker of the 3D modeling software and the company that developed the plug in have been notified.
  • the offending plug in has been disabled and a new version is being developed
  • we suffered no major delays as a result of the virus
  • on Shapeways the six community members that were affected by the virus have been notified
  • two orders were impacted by this and did suffer a slight delay but the community members in question have also been notified
  • this virus was basically harmless and more a proof of concept virus than a malicious one
  • we know that some 3D printing companies did have some issues with the virus also but they have informed us that they have contacted all affected customers

As you may or may not know the STL file type is the default file type in 3D printing. STL files turn your design into a lot of triangles. STL files then describe all these triangles and how they are oriented. There are two different types of STLs: binary and ASCII. This virus only affected ASCII STLs. In an ASCII STL each file begins with the text SOLID followed by the file name and ends with the text ENDSOLID followed by the file name. As the offending plug in converted the files into STL the virus simply inserted text into the header of the file. The virus operated much like the Macro Virus’ that used to be the bane of Word and Excel documents.We can not currently disclose how the virus spreads because some standards people are looking into that first (along with some bemused anti-virus guys).

So lets say your file used to be called “joris” and the header of the file would therefore start with SOLID joris. The virus would simply insert “SOLID RotherJ” & all its triangles before your text. Once your file was uploaded the 3D printer the printer would read the file and start with SOLID RotherJ and read that “shape” instead of yours. At the end of the virus’ triangles there would be the words ENDSOLID. This would tell the printer that it was done reading the file. So what it did, amazingly!, was replace your model with another. If you sent the file for printing to the machine it would print the virus’ object and not yours.

One of our community members meant to upload a nice model of a small action hero. Once they looked at the rendering of the file that person noticed that the rendering and 3D view showed a rectangular object. We were very confused originally and looked at the problem in depth. After some days we noticed that the text in the file had been replaced. We were amazed to discover that the replaced file was a crude credit card.

Clearly the offending 3D print was far to crude to fool anyone into
thinking it was a real credit card. The file and the 3D print were, we
think, only meant as a proof of concept for the writer of the virus. That person simply wanted bragging rights of having created the first virus for 3D printing.

The 3D print on the right lets you see the detail. The card was completely to scale.

The virus itself does point to some worrying signs for the future though. What if your home 3D printer was used to print counterfeit things without you knowing about it? What if you spent a lot of time making something and something awful came out? What could criminals & counterfeiters do with this kind of malicious technology?

The second virus print we tested did however indicate just how far we are from such a scary future. Whilst the Credit Card was crude, this is positively laughable. A 3D printed “watch” that says Jolex. Clearly the technology is years away from properly duplicating a watch.

Here you can see an open image of the watch.

Despite the somewhat underwhelming nature of the 3D prints, this was a huge wake up call however and we are going to work with the industry on virus scanners for objects to counter these threats before they emerge once again.

Please keep us informed should you find any other news about 3D printers experiencing these issues. And please do spread the word just in case there is someone out there that has this problem.

UPDATE: More news about the RotherJ 3D printing virus can be found on the BBC website.