HomeVideos

Github’s Wildest Hack Yet

Now Playing

Github’s Wildest Hack Yet

Transcript

299 segments

0:00

People, GitHub has been hacked and you

0:03

will never believe how they WERE HACKED.

0:06

OH.

0:08

>> [laughter]

0:09

>> OH MY GOSH. ALSO, I CAN'T believe that

0:13

the hackers were able to, you know, hack

0:15

GitHub. I can't believe GitHub was up

0:17

long enough for them to even be able to

0:18

accomplish that. Like that's kind of

0:19

crazy. All right, everybody. This is

0:21

just a developing situation, so this

0:24

video will have some level of incomplete

0:27

information, but nonetheless this hack

0:28

is nuts. What's going on is actually

0:31

nuts. I did

0:32

I don't think I've ever laughed so hard

0:35

in my entire lifetime than actually

0:37

going through this thing. So, we're

0:38

going to walk through We're going to

0:40

walk through the timeline. We're going

0:42

to learn all the details and what

0:44

actually caused the hack. And trust me,

0:46

it is cinema. Absolute cinema. But of

0:50

course, before we begin the bag. Here at

0:53

Terminal, we love PlanetScale. We've

0:56

been using PlanetScale since day one of

0:59

terminal. shop and had an amazing

1:01

experience. So, if you want a database

1:03

you don't have to worry about, choose

1:05

PlanetScale. Now,

1:07

back to the video.

1:09

Okay, so let's go over the timeline,

1:11

what has happened, and

1:13

what led to this disaster and really

1:16

what is the disaster. So, first off,

1:17

this tweet was sent on May 19th, 2026.

1:21

We are investigating unauthorized access

1:23

to GitHub's internal repositories. While

1:26

we currently have no evidence of impact

1:28

to customer information stored out side

1:30

of GitHub's internal repositories, such

1:32

as our customers enterprise organization

1:34

or repositories, we are closely

1:36

monitoring our infrastructure for

1:38

follow-up activity. So, this tweet was

1:40

sent out. Obviously, nobody has any idea

1:42

what the actual impact is. They're

1:44

saying, "Hey, we've been hacked, but

1:46

don't worry, you haven't been hacked."

1:48

Honestly, feels pretty unbelievable.

1:50

Personally, I'm going to be going

1:52

through and probably rolling a lot of my

1:53

credentials because Shai Hulud has been

1:56

getting everybody, but this is not Shai

1:57

Hulud. Then, about 24 hours later, not

2:00

even, we see this beautiful little post

2:03

right here from Team PCP. Please, PCP,

2:06

please don't Please don't hack me. I'm

2:07

just Please, I'm not worth it. Just

2:09

trust me. So, PCP writes the following:

2:11

"Hello again, breached. Hope everyone is

2:13

doing well. We are" By the way, crazy

2:16

way to start off a message. Just like,

2:18

"Hey, everybody. How are you guys doing?

2:21

You know, honestly, weather can you

2:23

complain about today? No, you can't."

2:25

"Also, hacked the universe. Exciting,

2:28

no?" Just so good. All right. "We are

2:31

here today to advertise GitHub source

2:33

code and internal orgs for sale." Like,

2:36

they're out there selling this stuff.

2:37

"No lowball offers will be accepted.

2:40

Everything for the main platform is

2:41

there, and I am very happy to send

2:43

samples to interested buyers to verify

2:46

the absolute authenticity. There's

2:48

around 4,000 repos of private code

2:50

here." Then, gives out some sort of list

2:52

of repos. "Please, read these carefully

2:54

to understand what the breach entails.

2:55

As always, this is not a ransom. We do

2:58

not care about extorting GitHub. One

3:00

buyer, and we shred the data on our end.

3:02

It looks like our retirement is soon, so

3:05

if no buyer is found, we will leak it

3:07

for free." So, this is the not ransom

3:10

letter. They're just out there like,

3:11

"Hey, sell it. Someone buy it if you

3:13

want to be the ones that own GitHub's

3:15

internal code so you can do whatever

3:16

hacking you want to do, or we'll just

3:18

release it for everybody to look at."

3:20

Which, by the way, this would be

3:21

extremely damaging. It's one thing to

3:23

attempt to hack a server, you have to

3:25

kind of discover and go through things.

3:27

Being able to have the complete source

3:28

code obviously opens up the entire

3:30

ecosystem to significantly more surface

3:33

area for attacking. Quite the adventure

3:35

that could be going on for GitHub here

3:37

in the coming days, coming months.

3:39

GitHub has been just absolutely

3:41

struggling on all fronts. It is crazy to

3:43

watch this company in real time. Like,

3:45

we can all sit down and agree that for

3:48

the last, like, 8 months, no one's been

3:51

happy about GitHub. Their uptime is

3:54

absolutely [clears throat]

3:55

abysmal. I know this status bar is

3:57

technically incorrect because it takes

3:59

every form of downtime as actual

4:01

downtime, but if you do put them all

4:04

together, it is currently at 86.68%,

4:07

which again, that doesn't mean you're

4:09

experiencing that, but that is just

4:10

nuts. 81 incidences in 90 days.

4:14

I mean, it's a just a daily diary at

4:16

this point. Okay, but then 2019 later

4:20

on, they come out and they give all the

4:22

details. 6.8 million views. That is just

4:26

those are crazy numbers. One, we are

4:29

sharing additional details regarding our

4:31

investigation into unauthorized access

4:33

to GitHub's internal repository.

4:35

Yesterday, we detected and contained a

4:37

compromise of an employee device

4:39

involving a poisoned VS Code extension.

4:45

That's cinema. Oh my goodness, I can't

4:49

even believe this. By the way, in this

4:51

day and age, I am shook. I am shook. I

4:54

cannot even remotely fathom the case why

4:57

anybody would use VS Code at this point.

5:00

I know that's crazy coming from me.

5:01

Obviously, A, I you can see right here.

5:04

I'm kind of a Neovim boy. Okay, like a

5:06

little bit of try code come from me. But

5:08

nonetheless, this whole idea of using VS

5:10

Code just feels crazy, and there's

5:12

several reasons for this. One of the

5:14

most insane parts of VS Code is that you

5:16

get all these extensions. All these

5:18

extensions use NPM. They all bundle all

5:20

these things together. NPM has been a

5:23

non-stop

5:25

continuous vector for like the last year

5:28

of just breach after breach. You

5:31

installing NPM just greatly increases

5:33

your chances of getting owned. You

5:35

running anything from NPM greatly

5:38

increases the chances of you getting

5:40

owned. And so, you have an editor. Now,

5:42

here's the the craziest part about VS

5:43

Code. When you use VS Code,

5:45

>> [laughter]

5:46

>> you open up every project that

5:49

effectively contains a dot env file

5:51

either for your company or for you

5:53

personally. So, not only are you opening

5:56

up exactly where all the sensitive

5:58

information is, you are actually

6:01

updating and running potentially

6:03

insecure code continuously on those

6:06

projects. And the things that make it

6:07

even more wild is VS code a lot of a lot

6:09

of these large projects, a lot of these

6:10

large extensions, they all come with

6:12

auto updating. Auto updating is how you

6:15

get owned. Like that is precisely the

6:18

big problem right now is people keep

6:21

auto updating npm and just just getting

6:23

owned immediately. Like this has

6:25

happened repetitively over and over

6:27

again. Hundreds if not thousands of

6:29

packages and you have a thing on your

6:32

computer in which is just automating

6:35

that whole process. VS code, it's not

6:37

like extensions are somehow Microsoft

6:39

endorsed pieces of code. Anybody can

6:42

make an extension. It's a marketplace.

6:44

You don't even have any way to audit

6:46

what's actually happening in that

6:48

marketplace without actually going to

6:50

where it is and reviewing the code

6:52

yourself. And then even worse, the

6:54

release doesn't have to match what's in

6:56

the code base. I know it's not 2023

6:59

anymore. Editor wars don't exist

7:00

anymore, okay? So, I'm kind of like

7:02

Brothers, this is like my civil war. I'm

7:04

reliving it, okay? I miss the days of

7:07

arguing over editors and languages

7:09

instead of today where we're always

7:10

arguing over models. Like that's like

7:12

90% of developer discourse is like,

7:14

"Actually, this agent harnesses the

7:16

best. My shaman is the actually the best

7:18

way to do that. I have the secret most

7:19

secret unknown way to use agents and

7:22

what I do is the most magical and I can

7:24

sell you a course." Whereas back in my

7:26

day, we used to argue By the way, back

7:28

in my day was just 2 years ago. We used

7:29

to just argue about languages and

7:31

editors. And if you didn't use Neovim,

7:33

you're a chump. Like, "Oh man, those are

7:35

good days. I miss them." And so, this is

7:37

me reliving it right now. Oh, oh I I

7:40

believe I get to do this just just one

7:41

more time. This is my last time, okay?

7:43

This is my swan song. This is my last

7:45

one. I love it. We removed the malicious

7:46

extension and version. By the way,

7:48

version, notice version. That means

7:50

again, this was a supply chain attack.

7:52

Isolated the endpoint and began the

7:54

incident response immediately. Our

7:56

current assessment is that the activity

7:57

involved exfiltration of GitHub's

7:59

internal repositories only. The

8:00

attackers current claims of 3,800

8:03

repositories are directionally

8:04

consistent with our investigation so

8:06

far. Meaning,

8:08

this is likely legitimate. What you're

8:10

seeing here, this could actually just be

8:12

happening right now. They're just They

8:13

literally stole it. They might make some

8:15

extra money, but they're just in it for

8:17

the love of the game at this point.

8:19

They're just going to release it for

8:20

free. Completely

8:22

incredible behavior. Now, this is kind

8:24

of like my own personal take here.

8:26

Uh if all the internal stuff is is

8:29

actually taken, I would be uh

8:31

personally, I am more wary than ever

8:34

using GitHub as a means to store

8:35

anything private cuz I'm not going to

8:36

lie to you. I have a couple private

8:38

repositories that contain some

8:39

environment secrets to make it easy to

8:41

share. I also store I've used GitHub

8:43

secrets. Like, I don't know if GitHub

8:45

secrets can also be compromised. Like, I

8:47

have no idea. This whole thing

8:49

really makes me lose a lot of confidence

8:51

in GitHub. Like, I was already not very

8:53

happy just to begin with, but this whole

8:55

my goodness. I am not stoked, shall we

8:57

say? So, now let's actually get to what

9:00

caused the hack itself, the poisoned VS

9:03

Code extension. Savant chat, you're a

9:05

hero in my book. Poisoned VS Code

9:06

extension is a polite way of saying a

9:08

senior dev installed a random syntax

9:10

highlighter with 14 downloads because it

9:12

looked aesthetic. To be fair, it

9:13

actually wasn't a random syntax

9:15

highlighter or rainbow squirlies or some

9:18

sort of nine cat agent waiting till it's

9:20

finished meowing experience. No, no, no,

9:22

no, no, no, no. It actually was this

9:24

right here. NX console. Uh turns out

9:28

supply chain attack. This happened about

9:30

3 days ago. There's an article right now

9:32

going over saying, "Yes, due to auto

9:35

update on by default, VS Code, all the

9:38

VS Code flavors, they're all susceptible

9:41

to this problem and this is what

9:42

actually had GitHub, and including the

9:45

CEO of NX DevTools right here, saying,

9:47

"Hey, guess what? Yep, this did happen.

9:50

This was us.

9:51

We got supply chain attacked and this

9:53

led to GitHub effectively being had. So,

9:56

obviously a couple big takeaways. Number

9:58

one, again, I would worry, you know, I

10:00

would be I would find a way to turn off

10:02

auto auto updates. I would be a bit more

10:04

wary of the extensions you use. So,

10:06

what's the big takeaway? Well, I mean,

10:07

it's pretty obvious what the big

10:09

takeaway is. It's you should have used

10:12

Come on. AM I THAT PREDICTABLE? THIS WAS

10:14

SAID OH MY GOSH, THIS WAS SAID BEFORE

10:16

I'M EVEN recording this. This person

10:18

already knew. Tego, you already knew I

10:21

was going to say this. The real answer

10:23

here should have used Vim. Okay, hey,

10:25

the real ones. It does It does actually

10:27

hurt a little bit to be this

10:28

predictable. Like

10:29

I can't I just cannot believe I am that

10:33

predictable that someone could see

10:35

around corners and send off a tweet and

10:37

it's like word for word what I said. The

10:40

name

10:41

is the Primagen.

Interactive Summary

The video discusses a significant security breach at GitHub, where internal repositories were compromised through a supply chain attack involving a poisoned VS Code extension. The presenter details the timeline of the event, starting with GitHub's initial disclosure and the subsequent offer of the stolen data for sale by the attackers. The breach is attributed to a compromised VS Code extension, highlighting the inherent risks of auto-updating extensions and third-party code in developer environments. The presenter strongly criticizes the security posture of VS Code and uses the incident to advocate for using alternatives like Neovim.

Suggested questions

3 ready-made prompts