Handler on Duty: Xavier Mertens
Threat Level: green
Podcast Detail
SANS Stormcast Wednesday, September 17th, 2025: Phishing Resistants; More npm Attacks; ChatGPT MCP abuse
If you are not able to play the podcast using the player below: Use this direct link to the audio file: https://traffic.libsyn.com/securitypodcast/9616.mp3
My Next Class
Application Security: Securing Web Apps, APIs, and Microservices | Las Vegas | Sep 22nd - Sep 27th 2025 |
Application Security: Securing Web Apps, APIs, and Microservices | Denver | Oct 4th - Oct 9th 2025 |
Why You Need Phishing-Resistant Authentication NOW.
The recent compromise of a number of high-profile npmjs.com accounts has yet again shown how dangerous a “simple” phishing email can be.
https://isc.sans.edu/diary/Why%20You%20Need%20Phishing%20Resistant%20Authentication%20NOW./32290
S1ngularity/nx Attackers Strike Again
A second wave of attacks has hit over a hundred npm-related GitHub repositories. The updated payload implements a worm that propagates itself to other repositories.
https://www.aikido.dev/blog/s1ngularity-nx-attackers-strike-again
ChatGPT’s Calendar Integration Can Be Exploited to Steal Emails
ChatGPT’s new MCP integration can be used, via prompt injection, to affect software connected to ChatGPT via MCP.
https://www.linkedin.com/posts/eito-miyamura-157305121_we-got-chatgpt-to-leak-your-private-email-activity-7372306174253256704-xoX1/
Application Security: Securing Web Apps, APIs, and Microservices | Las Vegas | Sep 22nd - Sep 27th 2025 |
Application Security: Securing Web Apps, APIs, and Microservices | Denver | Oct 4th - Oct 9th 2025 |
Application Security: Securing Web Apps, APIs, and Microservices | Dallas | Dec 1st - Dec 6th 2025 |
Application Security: Securing Web Apps, APIs, and Microservices | Orlando | Mar 29th - Apr 3rd 2026 |
Network Monitoring and Threat Detection In-Depth | Amsterdam | Apr 20th - Apr 25th 2026 |
Application Security: Securing Web Apps, APIs, and Microservices | San Diego | May 11th - May 16th 2026 |
Podcast Transcript
Hello and welcome to the Wednesday, September 17th, 2025 edition of the SANS Internet Storm Center's Stormcast. My name is Johannes Ullrich, recording today from Jacksonville, Florida. And this episode is brought to you by the SANS.edu Graduate Certificate Program in Cybersecurity Engineering. Well, we have today a little bit of different diary, not of our usual deep technical diary, but something a little bit lighter from a technical point of view, but still very, very important. And that's the idea of phishing resistant authentication. A lot of the phishing advice given these days doesn't really sort of consider that really well. And authentication is very focused on multi-factor authentication, which is a good thing, but it does often not protect against phishing. So the idea of phishing resistant authentication is that the user is no longer in charge what credentials to provide to a particular website. Whenever you have any scheme where the user decides what credentials to provide, the user could be fooled into providing those credentials to the wrong websites. And then you have tools like evilginx and such that allow these machine in the middle attacks that will take those credentials, retrieve a session ID from the application the user is attempting to connect to. And with that, the attacker is authenticated. So that has to be avoided. You must remove the ability from the user to provide the credentials to the wrong website. An initial start, and that's probably the simplest way to get started, but far from perfect, is a password manager. Password managers tend to be pretty good in setting up the right credentials for the right websites. There have been vulnerabilities in the past, the password managers, but for the most part, they get that right. They get it better, typically, than a user would. The ultimate fix is really something like certificates, like pass keys, FIDO 2 authentication, where you have technical means that basically prevent you from sending the wrong credentials to the wrong website, because the user doesn't really know what the credentials are. And the device, like your authenticator, your password manager, again, if the pass key is stored with the password manager, decides what credentials to send. And with that, you are avoiding a lot of these phishing issues, or really all phishing issues. So look into phishing-resistant authentication. NIST, in a recent update to some of their standards, has also emphasized this. And just, you know, let's get another argument for phishing-resistant authentication, how difficult it can be to recognize phishing. I looked at some of the recently registered domains for npm.js. That's basically what happened here in the latest attack against npm. So normally, it's npm.js .com. Well, in the recent attack, npm.js.help was used. But there's also an npm.js.cam that was recently registered. And that looks very much like .com. So very easy to overlook that you're actually on the wrong domain here. Actually, I'm a little bit surprised that attackers haven't used the .cam top-level domain more for phishing. And I looked at some of the recent domains, not just npm, but other banks and such. There are a couple, but seems to be a little bit less than I would expect. So not to give any attackers here any tips. Then talking about these npm attacks, well, it turns out the Singularity/nx attackers are back. These were the attackers, or the attacker, who originally caused the compromise of about 40 packages. The new wave of compromises is similar, but different to the prior attacks. Now, the prior attacks were very much focused on cryptocurrency secrets. And then it was a little bit, they were dismissed as being not very successful in actually achieving their goal. And not really stealing a lot of cryptocurrency. This new attack uses a little bit more of a worm-like payload as they're compromising vulnerable repositories. And just sort of a quick overview here from aikido.dev, what this particular worm does. It first basically harvests secrets. And they focus on a lot of these sort of continuous integration environments and secrets there, like process.env is particularly mentioned here. Cloud metadata, that's potentially accessible. Then they're creating a GitHub repo. That's now named differently. That's being used to exfiltrate those secrets. And they're also creating GitHub actions in order to then, again, get access to secrets. The propagate part here is the real important one. But they are now trying to find additional repositories that they may have access to as any valid npm tokens. And with that, basically, they try to infect additional libraries, additional accounts that the user may have access to. All of the repositories are also then made public. This may be sort of a little bit of a tricky way of just exfiltrating data. Instead of exfiltrating the data, they make it public. And now it may get a little bit more difficult to figure out who's actually receiving the data. Because, of course, once these repositories are public, anybody can access them. And there will be a lot more noise kind of covering up the actual attacker. So, really interesting development here. It's not clear if this second wave is also started with phishing. It's likely that it did. But I haven't seen any confirmation about that yet. The malware is substantially different. Which, of course, could indicate a new wave. And maybe a little bit different initial entrance vector. Maybe still using some of the repositories that were initially compromised by the first wave. And some people also noted that this new wave did affect some CrowdStrike repositories. Now, these do not affect the actual product. They're Falcon sensor. But if people are building software using CrowdStrike, they may have used some of these packages. However, again, they were only vulnerable for a relatively short amount of time. And if you use them during that amount of time, well, you may end up with the backdoor version. Then in vulnerabilities, we have an interesting post to LinkedIn by Ito Miyamura about how the recently added agentic capabilities, where basically added the model context protocol to OpenAI, can be abused. One obvious use of these protocols is to automate workflows. For example, if you're receiving emails, if you are receiving calendar invites or such to automatically respond to them or handle them. Well, the problem with all of these large language model interactions is there is no clear distinction between user data and code. So any calendar invite that you may receive may actually include a prompt that will then basically trick OpenAI or chat GPT here to act on the attacker's behalf. And then use the same MCP interconnect to then, for example, connect to your email client or whatever you exposed to this protocol. Interesting warning here. Nothing fundamentally new. We have seen this with pretty much any implementation of these type of systems. So be very careful what you are exposing. Well, and this is it for today. So thanks again for listening and thanks for liking and subscribing to this podcast. And thanks also for any tips or such about any content that I should cover or not cover. So with that, thanks and talk to you again tomorrow. Bye.