Malicious VSCode extensions with millions of installs discovered
Malicious VSCode extensions with millions of installs discovered

Malicious VSCode extensions with millions of installs discovered

Malicious VSCode extensions with millions of installs discovered
Malicious VSCode extensions with millions of installs discovered
Fake news headline. There is no virus installed on millions of computer.
An extension typosquatting an extension with million of install managed to be installed a few hundred of times.
I believe they're referring to lower down in the article, where the researchers analyzed existing extensions on the marketplace:
After the successful experiment, the researchers decided to dive into the threat landscape of the VSCode Marketplace, using a custom tool they developed named 'ExtensionTotal' to find high-risk extensions, unpack them, and scrutinize suspicious code snippets.
Through this process, they have found the following:
- 1,283 with known malicious code (229 million installs).
- 8,161 communicating with hardcoded IP addresses.
- 1,452 running unknown executables.
- 2,304 that are using another publisher's Github repo, indicating they are a copycat.
I wouldn't be so quick to write it off.
It's a proof of concept showing the weaknesses in Microsoft's vetting process for extensions published on the store. They then used the process to get pseudo-malicious code inside hundreds of organisations (not hundred of installs) some of which are high profile.
Microsoft doesn't have a vetting process for publishing extensions in the store. Maybe the failure is that people assume they do?
inside hundreds of organisations (not hundred of installs)
At the time of the article, the extension listed around 300 hundred installation on the VS marketplace. There is a lot of bots downloading packages, one extension i contribute to, and nobody use it except 3 peoples, have been indicated to be downloaded 238 times.
If you look at the number of extensions available on the vscode marketplace, and the false positive they listed as "malicious code" (read the code attentively), I'm sure my own extension will show up in their "malicious code" (it isn't)
Did you really have to use that stupid "fake news headline" phrase? Gross.
Thanks you too
All malicious extensions detected by the researchers were responsibly reported to Microsoft for removal. However, as of writing this, the vast majority remains available for download via the VSCode Marketplace.
Ah, the Microsoft tradition of always having the wrong priorities.
They didn't put "AI" in the subject line of the emails, so Microsoft doesn't care...
Ah, the Microsoft tradition of always having the wrong priorities.
I wouldn't be too hard on Microsoft. The requirement to curate public package repositories only emerged somewhat recently, as demonstrated by the likes of npm, and putting in place a process to audit and pull out offending packages might not be straight-forward.
I think the main take on this is to learn the lesson that it is not safe to install random software you come across online. Is this lesson new, though?
I think the main take on this is to learn the lesson that it is not safe to install random software you come across online. Is this lesson new, though?
I think people often have a vaguely formed assumption that plugins are somehow sandboxed and less dangerous. But that all depends on the software hosting the plugin. There was a recent issue with a KDE theme wiping a user's files which brought this to light. We can't assume plugins or themes are any less dangerous than random executables.
Remembering ActiveX Controls, the Web's Biggest Mistake: https://www.howtogeek.com/717016/remembering-activex-controls-the-webs-biggest-mistake/
I remember seeing a lot about activeX controls as a kid but not understanding them much. As an adult reading this I was like "were they a way to run arbitrary code on a user's computer?"
Yes, they were a way to run arbitrary code on a user's computer.
Remembering ActiveX Controls, the Web’s Biggest Mistake:
Running JavaScript everywhere is looming as one of the biggest screwups in InfoSec. What do userscript extensions like Grease monkey teach us?
Is there a list of the malicious extensions? What should be done if we ha e malicious ones installed?
It sounds like it’s mostly typosquatting. So just check to be sure you didn’t install something like Pretier instead of Prettier
The researchers are releasing the scanning tool they created for people to be able to run against their own installs.
As far as I know, there is no such list (yet).
What should be done:
Escalate it to the people responsible for IT administration & security in your company or institution. They'll deal with it.
But the default step if you suspect of being infected is not to use the device at all until you got a green light for it from the security/admin folks. Power down, disconnect from any networks, either via physical cables or wireless, unplug external storage devices and wait for further info.
Thanks for sharing!
You can't trust extensions these days.
Or anything that downloads code from an untrusted source…
Gone are my student days where I downloaded whichever cool vim plugins
What makes this even more sneaky is that JetBrains has a theme called "Darcula".
So, with a wider generic theme called Dracula and themes that duplicate JetBrains Darcula theme, it is no surprise that "Darcula Official" is being installed.
It's more than just a typosquat
Edit:
But why can a theme make web requests?!
Because we live in a broken world and nothing matters.
On a more serious note, it's a pretty horrifying misfeature. What's even more worrying is that by all appearances Microsoft doesn't give a shit, if they apparently didn't even bother removing the malicious extensions that were reported. Not that I'm surprised, but still.
Why can a Word or Excel file execute shell code? Why does M$ SQL Server have xp_cmdshell?
Because devs chose to live in this part of the world, dictated by M$ and other large companies, who just don't care.
It's not a theme here, it's an extension.
I think that's how themes are distributed for VSCode, right?
With VSCode, everything is an extension.
But the vscode marketplace seems to have filters for themes, so there must be some way to differentiate them.
I think extensions need a permissions system