Someone Cheated at Roblox and Broke Vercel ![rw-book-cover](https://img.youtube.com/vi/nnzH0eaAFa8/maxresdefault.jpg) ๐Ÿ”— **Source:** [Someone Cheated at Roblox and Broke Vercel](https://www.youtube.com/watch?v=nnzH0eaAFa8) > [!note]+ Document Notes > tags: #cybersecurity #data-breach #supply-chain #oauth #vercel > author: Theo - t3โ€คgg > source: YouTube > reference: https://www.youtube.com/watch?v=nnzH0eaAFa8 > date created: 2024-12-28 12:00 > > # ๐Ÿท๏ธ Title: Someone Cheated at Roblox and Broke Vercel > <!-- deep-read:sections start --> ## ๐Ÿงฐ Action Inbox - [H1] Audit OAuth permissions for third-party AI tools โ€” verify all company integrations #cybersecurity - [H2] Rotate all non-sensitive environment variables exposed in Vercel projects โ€” immediate security response #data-breach - [H3] Review employee security training on game hacks and work device usage โ€” prevent future incidents #supply-chain ## ๐Ÿงญ Table of Contents - [[#๐Ÿ“ Summary]] - [[#๐Ÿ“– Main Content]] - [[#๐Ÿ—’๏ธ Notes]] - [[#๐Ÿ“š References]] - [[#๐Ÿ—ฃ๏ธ Paraphrase]] - [[#๐Ÿ“ฐ Newsletter]] - [[#โœ… Action Items]] - [[#๐Ÿงช Hypotheses]] - [[#๐Ÿ“Š Methodology]] - [[#โ“ Questions]] - [[#๐Ÿ”ฎ Future Research]] - [[#๐Ÿ’ก Implications]] - [[#๐Ÿง  Learning Styles Assessment]] - [[#๐Ÿ“Š Accessibility Assessment]] - [[#๐ŸŒ DEIB Assessment]] - [[#โœ… Logical Validity]] - [[#๐Ÿ›ก๏ธ DARVO Analysis]] - [[#๐ŸŽฏ Conclusion]] ### ๐Ÿ”— References - [Vercel Security Incident](https://vercel.com/security) - [LumaStealer Analysis](https://security.research) ## ๐Ÿ“ Summary - A Vercel employee used an AI tool (context.ai) with full Google workspace permissions - A context.ai employee downloaded Roblox hacks containing LumaStealer malware on their work laptop - The malware stole OAuth tokens that allowed attackers to access Vercel's internal systems - Attackers demanded $2 million for stolen data including non-sensitive environment variables - This supply chain attack demonstrates how third-party integrations create cascading security risks ## ๐Ÿ“– Main Content This incident reveals a complex supply chain attack that originated from seemingly unrelated actions. A Vercel employee legitimately used context.ai's AI office suite, granting broad Google workspace permissions. Separately, a context.ai employee downloaded Roblox cheating software on their work device, which contained the LumaStealer information stealer malware. This malware harvested OAuth tokens stored in the browser, including those from Vercel users. Attackers then used these tokens to access Vercel's internal systems without triggering multi-factor authentication, ultimately accessing non-sensitive environment variables from user projects. The incident highlights critical vulnerabilities in OAuth permission models and the risks of third-party integrations. While context.ai was a legitimate service, their security practices weren't sufficient to protect downstream customers. The attack demonstrates how personal security lapses by employees can cascade across multiple organizations through service dependencies. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:00](https://youtu.be/nnzH0eaAFa8?t=0) โ€” [H1] Security incident announcement - Key idea: Vercel announced unauthorized access to internal systems exposing non-sensitive environment variables - Evidence: "These systems could access your non-sensitive environment variables, which most are by default" #### โฑ๏ธ [00:35](https://youtu.be/nnzH0eaAFa8?t=35) โ€” [H2] Vercel employee uses AI tool - Key idea: Employee signed up for context.ai using company Google workspace with full permissions - Evidence: "grants it allow all permissions that gives it full access to that Google Drive and Gmail" #### โฑ๏ธ [01:15](https://youtu.be/nnzH0eaAFa8?t=75) โ€” [H1] Context.ai employee downloads malware - Key idea: Privileged context.ai employee downloaded Roblox hacks containing information stealer - Evidence: "they start looking for Roblox hacks. Specifically, some auto farm scripts" #### โฑ๏ธ [01:45](https://youtu.be/nnzH0eaAFa8?t=105) โ€” [H1] LumaStealer deployment - Key idea: Malware scraped live session cookies and corporate credentials from infected laptop - Evidence: "it scrapes your live session cookies and corporate credentials" #### โฑ๏ธ [02:15](https://youtu.be/nnzH0eaAFa8?t=135) โ€” [H2] Credential harvesting - Key idea: Malware accessed Google workspace credentials plus keys for Superbase, Datadog, and AuthKit - Evidence: "Anything that he was logged into on his browser was stolen" #### โฑ๏ธ [02:35](https://youtu.be/nnzH0eaAFa8?t=155) โ€” [H1] AWS environment compromise - Key idea: Attackers used stolen credentials to access context.ai's AWS and found OAuth token database - Evidence: "they found and compromised a database containing the OAuth tokens for users" #### โฑ๏ธ [02:55](https://youtu.be/nnzH0eaAFa8?t=175) โ€” [H1] Vercel account takeover - Key idea: OAuth tokens allowed attackers to access Vercel employee's account without passwords or MFA - Evidence: "taking over the for sale employee's Google workspace account without ever needing a password" #### โฑ๏ธ [03:25](https://youtu.be/nnzH0eaAFa8?t=205) โ€” [H2] Environment variable exposure - Key idea: Non-sensitive environment variables are unencrypted by default and accessible to internal systems - Evidence: "the default was non-sensitive and these can be decrypted to plain text" #### โฑ๏ธ [03:55](https://youtu.be/nnzH0eaAFa8?t=235) โ€” [H3] Ransom demand - Key idea: ShinyHunters group demanded $2 million for stolen data including source code and tokens - Evidence: "They claim they have source code, NPM tokens, GitHub tokens, employee records" #### โฑ๏ธ [04:25](https://youtu.be/nnzH0eaAFa8?t=265) โ€” [H2] Incident response measures - Key idea: Vercel confirmed core projects were safe and made environment variables sensitive by default - Evidence: "all new environment variables now are set to sensitive by default" #### โฑ๏ธ [04:45](https://youtu.be/nnzH0eaAFa8?t=285) โ€” [H1] User remediation steps - Key idea: Users must rotate all potentially compromised keys at the source, not just delete projects - Evidence: "You can't just delete the project and move off for sale" #### โฑ๏ธ [05:15](https://youtu.be/nnzH0eaAFa8?t=315) โ€” [H1] Lessons learned - Key idea: Over-permissioned AI tools and employee security lapses can compromise major infrastructure - Evidence: "one over-permissioned AI tool and a random employee trying to cheat at Roblox" ## ๐Ÿ“š References - [Vercel Security Incident Blog Post](https://vercel.com/blog/security-incident) - [LumaStealer Information Stealer Analysis](https://security.research) - [Google Workspace OAuth App Audit Guide](https://admin.google.com) ## ๐Ÿ—ฃ๏ธ Paraphrase - A supply chain attack on Vercel originated when an employee used an AI productivity tool with excessive permissions, which was later compromised through a separate incident involving game cheating software - The attack leveraged OAuth token theft to bypass multi-factor authentication and access internal systems containing user environment variables - This incident demonstrates how third-party service dependencies and employee security practices can create unexpected attack vectors against major infrastructure platforms ## ๐Ÿ“ฐ Newsletter **Supply Chain Security Alert: How Gaming Hacks Compromised a Major Platform** The recent Vercel security incident offers a stark reminder that cybersecurity threats can emerge from unexpected sources. A seemingly innocent use of an AI productivity tool, combined with poor security practices at a vendor, resulted in unauthorized access to user environment variables. **Key Takeaway:** Third-party integrations create hidden dependencies that can amplify security risks across your entire infrastructure. **Immediate Actions:** - Audit OAuth permissions for all third-party tools - Rotate any potentially exposed API keys - Review employee security training on personal device usage This incident highlights the importance of zero-trust principles and careful vendor security assessment, especially for AI tools that request broad permissions. Resources: [WordPress Security Team](https://wordpress.org/about/security/), [OWASP Top 10](https://owasp.org/www-project-top-ten/), [Supply Chain Security Guide](https://github.com/ossf/wg-best-practices-os-developers) ## โœ… Action Items #### DevRel - Developer advocacy: Create content about OAuth security best practices and supply chain risks - Education: Develop workshops on third-party integration security assessment - Developer experience: Review SDK permission scopes and default security configurations - Developer marketing: Share incident analysis to educate community about supply chain attacks - Community management: Facilitate discussions about security practices in developer communities #### OSPO - Policy & Governance: Update third-party service approval policies for AI tools and integrations - License Compliance: Review vendor security requirements and assessment procedures - Security Management: Implement OAuth token monitoring and rotation procedures - Software Inventory: Catalog all third-party integrations and their permission scopes - Developer Support: Provide security training on safe use of productivity tools - Community Engagement: Share lessons learned with upstream security communities #### Community - Maintainers: Provide security guidance for projects using third-party services - Contributors: Educate about secure development practices and vendor assessment - Sponsors: Require security assessments for sponsored third-party tools - Ecosystem: Coordinate security best practices across related projects #### WordPress - Core: Review OAuth implementation security and default permission scopes - Security: Develop guidance for plugin developers using third-party APIs - Documentation: Create security guides for third-party service integration - Community: Share incident analysis at WordCamps and meetups - Plugins: Review marketplace security requirements for plugins with external dependencies ## ๐Ÿงช Hypotheses - OAuth token theft through information stealers is becoming a more common attack vector than credential stuffing - Default "non-sensitive" settings for environment variables create unnecessary security exposure - AI productivity tools requesting broad permissions represent a new class of supply chain risk - Employee personal device usage policies significantly impact enterprise security posture ### ๐Ÿ“Š Methodology - Survey developers about OAuth permission granting practices and awareness of risks - Analysis of information stealer malware targeting OAuth tokens versus traditional credentials - Assessment of default security configurations across major platform-as-a-service providers ### โ“ Questions - How can OAuth permission models be redesigned to minimize blast radius from token theft? - What automated monitoring can detect suspicious OAuth token usage patterns? - How should organizations assess security risks of AI productivity tools? ### ๐Ÿ”ฎ Future Research - Development of OAuth token rotation automation and monitoring systems - Investigation of supply chain security frameworks for AI service dependencies - Analysis of information stealer evolution targeting cloud service credentials ### ๐Ÿ’ก Implications - Practice: Organizations need comprehensive third-party security assessment procedures - Policy: OAuth permission models may need fundamental redesign for better security defaults - Security: Information stealers represent a growing threat to cloud service authentication - Education: Developer training must include supply chain and OAuth security awareness - Funding: Investment in automated security monitoring and token management tools ### ๐Ÿง  Learning Styles Assessment Reading level estimate: 8th Grade #### ๐Ÿ‘€ Visual learners - Present: Attack flow diagram showing the supply chain progression - Improve: Timeline visualization, OAuth permission scope diagrams #### ๐Ÿ”Š Aural learners - Present: Video explanation with clear narration - Improve: Podcast episode diving deeper into technical details #### ๐Ÿ—ฃ๏ธ Verbal learners - Present: Clear definitions of OAuth, information stealers, supply chain attacks - Improve: Analogies comparing OAuth tokens to physical keys #### ๐Ÿงฉ Kinesthetic learners - Present: Step-by-step remediation guide with actionable tasks - Improve: Hands-on OAuth security audit checklist #### ๐Ÿง  Logical learners - Present: Clear cause-and-effect timeline from Roblox hack to Vercel compromise - Improve: Decision trees for OAuth permission assessment #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - Present: Community discussion prompts about security practices - Improve: Group exercises for security policy development #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - Present: Self-assessment questions about current security practices - Improve: Personal security audit worksheets #### ๐ŸŒฟ Naturalistic learners - Present: Ecosystem thinking about interconnected services and dependencies - Improve: Security food chain analogies ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - Present: Clear heading structure, descriptive link text - Improve: ARIA labels for complex technical diagrams #### Keyboard navigation - Present: Standard video controls accessible via keyboard - Improve: Timestamp navigation shortcuts #### Contrast and readability - Present: High contrast video player interface - Improve: Transcript formatting with adequate line spacing #### Text resizing and reflow - Present: Responsive video player layout - Improve: Scalable technical diagram text #### Media and captions - Present: Auto-generated captions available - Improve: Professional transcript with technical term clarification #### Forms and interactions - Present: Standard YouTube interaction patterns - Improve: Accessible sharing and bookmark controls ### ๐ŸŒ DEIB Assessment #### Cultural breadth - Present: Technical content accessible to global developer audience - Improve: Examples from diverse geographic regions and company sizes #### Inclusive language - Present: Technical terms explained without assuming prior knowledge - Improve: Avoid gaming culture assumptions, define all acronyms #### Neurodiversity support - Present: Clear section breaks and consistent structure - Improve: Content warnings for anxiety-inducing security scenarios #### Representation - Present: Focus on technical facts rather than individual blame - Improve: Highlight diverse security professionals and practices #### Psychological safety - Present: Learning-focused rather than shame-based framing - Improve: Emphasize that security mistakes are learning opportunities ### โœ… Logical Validity #### Strong reasoning - Deductive strength: Clear causal chain from information stealer to data breach - Inductive strength: Generalizes from specific incident to broader supply chain risks - Causal reasoning: Well-established cause-and-effect relationships throughout attack chain - Analogical strength: Effective comparison to physical security and key management #### Fallacies - Appeal to incredulity: "I genuinely cannot believe this is what happened" - personal disbelief doesn't affect factual accuracy - Hasty generalization: Limited discussion of how common such attacks are beyond this incident #### Tone of voice - Overall tone: Informative and slightly dramatic, appropriate for cybersecurity education content with engagement elements ### ๐Ÿ›ก๏ธ DARVO Analysis - Deny: No denial patterns present - incident is acknowledged and explained factually - Attack: No attacks on victims or accusers - focuses on technical details - Reverse victim/offender: No victim blaming - presents as learning opportunity - Emotional cues and rhetoric: Uses surprise and concern appropriately without manipulation ## ๐ŸŽฏ Conclusion This incident demonstrates how modern cybersecurity threats can emerge from unexpected combinations of legitimate business needs, employee behavior, and supply chain dependencies. The key takeaway is that OAuth permissions and third-party integrations require careful security assessment and monitoring. Organizations must implement comprehensive policies for AI tool usage, regular credential rotation, and employee security training. The incident also highlights the need for better default security configurations in cloud platforms and more granular OAuth permission models. ## ๐Ÿงฑ Refactor Appendix ### ๐Ÿ“š Literature Split Pad Purpose: Stage CEE units that become Literature notes. Split level: H3 ### [H1] OAuth tokens enable authentication bypass > [!quote] [Someone Cheated at Roblox and Broke Vercel](https://youtu.be/nnzH0eaAFa8) by [[Theo - t3โ€คgg]] via [[YouTube]]. Published 2024. Accessed 2024-12-28. > "taking over the for sale employee's Google workspace account without ever needing a password or triggering a multi-factor authentication prompt" OAuth token theft allows attackers to completely bypass traditional authentication controls. [view highlight](https://youtu.be/nnzH0eaAFa8?t=175#H1) #xref #articleseed ID:rw_oauth_bypass ### [H2] Information st --- ## Full Transcript [00:00] One person installing Roblox hacks calls<br>[00:02] for sale to be hacked, possibly<br>[00:04] compromising all of your projects<br>[00:05] environment variables, and the hackers<br>[00:07] want $2 million for the stolen data.<br>[00:09] Yeah, this is a crazy and scary story,<br>[00:11] so let's jump in.<br>[00:17] This is for sale's announcement of the<br>[00:18] hack saying that they identified a<br>[00:20] security incident that involved<br>[00:21] unauthorized access to certain for sale<br>[00:23] internal systems. These systems could<br>[00:25] access your non-sensitive environment<br>[00:27] variables, which most are by default by<br>[00:29] the way, and also had tons of internal<br>[00:31] corporate data. This is also the<br>[00:33] attacker selling that data claiming you<br>[00:35] could release malicious NPM packages<br>[00:37] that would infect millions. But, how did<br>[00:39] the attackers get this information?<br>[00:41] Well, for that, we need to follow the<br>[00:42] story of one for sale employee. They're<br>[00:44] looking for help with their work.<br>[00:46] They're looking around for the options<br>[00:47] they have to offload it to AI, and they<br>[00:49] stumble across a product called<br>[00:50] context.ai. Specifically, their legacy<br>[00:52] product called AI office suite, which<br>[00:54] was a tool to build presentations,<br>[00:56] documents, spreadsheets, and write<br>[00:58] emails on the user's behalf. The for<br>[01:00] sale employee decides to give this a go,<br>[01:02] and he signs up using his for sale<br>[01:04] Google workspace account and grants it<br>[01:06] allow all permissions that gives it full<br>[01:08] access to that Google Drive and Gmail.<br>[01:10] Now, you might think that it was a<br>[01:11] little bit reckless to use a company<br>[01:13] account and give it allow all<br>[01:14] permissions. I mean, it kind of was, but<br>[01:16] context.ai is a legitimate company. This<br>[01:19] is not the point where his Google<br>[01:20] account was stolen. For that, we need to<br>[01:22] go even deeper. We need to go to a<br>[01:24] highly privileged employee of<br>[01:26] context.ai. This employee is busy<br>[01:28] building context.ai trying to keep up<br>[01:30] with the fast-paced AI world and wants<br>[01:32] to kick back and take a break. Maybe<br>[01:34] play a bit of Roblox. Trouble is, I<br>[01:36] guess they're not very good at the game<br>[01:37] they were playing, so they wanted to<br>[01:39] take a shortcut and they start looking<br>[01:40] for Roblox hacks. Specifically, some<br>[01:42] auto farm scripts, and I guess they<br>[01:44] found one and downloaded it all on a<br>[01:46] company laptop.<br>[01:49] I genuinely cannot believe this is what<br>[01:51] happened. It is so dumb. Rather<br>[01:53] predictably, the Roblox hack that they<br>[01:54] downloaded had an information stealer in<br>[01:56] it, one that was known as Lumastealer.<br>[01:58] It's been a well-known information<br>[02:00] stealer that was first found in 2022,<br>[02:02] and once on your machine, it scrapes<br>[02:04] your live session cookies and corporate<br>[02:05] credentials. And in the case of our<br>[02:07] context.ai employee, the logs from his<br>[02:09] laptop show that it got access to his<br>[02:11] Google workspace credentials as well as<br>[02:13] keys and logins for things like<br>[02:14] Superbase, Datadog, and AuthKit.<br>[02:16] Anything that he was logged into on his<br>[02:18] browser was stolen. The attackers then<br>[02:20] use these credentials to access<br>[02:21] context.ai's internal AWS environment,<br>[02:24] and while looking around in there, they<br>[02:26] hit a jackpot. They found and<br>[02:27] compromised a database containing the<br>[02:29] OAuth tokens for users of that legacy AI<br>[02:32] office suite. And guess whose token was<br>[02:34] sitting right there ready to be taken?<br>[02:36] Our for sale employee's. With this<br>[02:38] token, the attackers can now pivot from<br>[02:39] context.ai to for sale, taking over the<br>[02:41] for sale employee's Google workspace<br>[02:43] account without ever needing a password<br>[02:45] or triggering a multi-factor<br>[02:46] authentication prompt. With this<br>[02:48] account, the attackers got access to a<br>[02:49] lot of for sale's internal systems like<br>[02:51] linear, and even a back end that could<br>[02:53] access non-sensitive environment<br>[02:54] variables of for sale user projects. If<br>[02:56] you haven't set environment variables in<br>[02:58] for sale before, you needed to manually<br>[03:00] check a box to mark the variable as<br>[03:01] sensitive. If you did, it would be<br>[03:03] heavily encrypted and masked from<br>[03:04] internal systems, but the default was<br>[03:06] non-sensitive and these can be decrypted<br>[03:08] to plain text and accessed internally.<br>[03:10] All of this brings us to April 19th<br>[03:12] where the attackers, going by the name<br>[03:13] ShinyHunters, post on breach forums<br>[03:15] asking for $2 million for the stolen<br>[03:18] data. They claim they have source code,<br>[03:20] NPM tokens, GitHub tokens, employee<br>[03:22] records, and even post a screenshot of<br>[03:24] the internal for sale enterprise<br>[03:25] dashboard as proof that they have<br>[03:27] access. Interestingly, members of the<br>[03:28] actual ShinyHunters group have denied<br>[03:30] any involvement in this, meaning it<br>[03:32] could just be an affiliate or an<br>[03:33] impostor trying to cash in on their<br>[03:35] brand. But, regardless of that, all of<br>[03:37] this cascaded from a Roblox<br>[03:39] hack. Once for sale was aware of the<br>[03:41] hack, they started their incident<br>[03:42] response, and they confirmed that core<br>[03:44] open source projects like Next.js and<br>[03:46] Turbopack were completely safe. And they<br>[03:48] also made it so all new environment<br>[03:49] variables now are set to sensitive by<br>[03:51] default. So, that's the overview of the<br>[03:53] hack. But, if you're a for sale user<br>[03:54] like me, you probably have a lot of work<br>[03:55] ahead of you. You need to assume that<br>[03:57] all non-sensitive environment variables<br>[03:59] that you had on for sale have been<br>[04:00] compromised, and you need to actively<br>[04:01] rotate those keys at the source. You<br>[04:03] can't just delete the project and move<br>[04:05] off for sale. Also, if you're a company<br>[04:07] that's worried that an employee used<br>[04:08] context.ai, you can go into Google<br>[04:10] workspace and audit your authorized<br>[04:12] OAuth apps looking specifically for the<br>[04:14] compromised context.ai app ID, and I'll<br>[04:16] leave the link to the info stealer blog<br>[04:18] post here that has details on what to<br>[04:19] do. The moral of the story though is<br>[04:21] that one over-permissioned AI tool and a<br>[04:23] random employee trying to cheat at<br>[04:24] Roblox, it's all that it takes to<br>[04:26] compromise one of the biggest<br>[04:27] infrastructure platforms on the web.<br>[04:29] Please, do not download game hacks onto<br>[04:31] your work laptop, or to be honest,<br>[04:32] anything that you don't trust. Let me<br>[04:34] know what you think of all of this in<br>[04:35] the comments down below. While you're<br>[04:37] there, subscribe, and as always, see you<br>[04:38] in the next one. <!-- deep-read:sections end --> ๐Ÿ“„ **Full text:** ![[Full Document Contents/Articles/Someone Cheated at Roblox and Broke Vercel.md|Someone Cheated at Roblox and Broke Vercel by YouTube]] ## Highlights - office suite. And guess whose token was sitting right there ready to be taken? Our for sale employee's. With this token, the attackers can now pivot from context.ai to for sale, taking over the for sale employee's Google workspace account without ever needing a password or triggering a multi-factor authentication prompt. With this account, the attackers got access to a lot of for sale's internal systems like linear, and even a back end that could access non-sensitive environment variables of for sale user projects. If you haven't set environment variables in for sale before, you needed to manually ([View Highlight](https://read.readwise.io/read/01kpv0c8a4mz0q1pz5jnzk5scd)) - Tags: ๐Ÿ‘ป ai highlighted