YouTube2Text

Even The NSA Got Involved — Transcript

by Theo - t3․gg · 6,040 words · 876 segments · language en · Watch on YouTube

Full transcript

  1. 0:00PHP? Pwned. Node JS? Pwned. Light LLM?
  2. 0:03Pwned. GitLab? You guessed it, pwned.
  3. 0:06Open code? More like open pwned. And
  4. 0:08even Railway got railed. It seems like
  5. 0:10pretty much everything just got hacked.
  6. 0:13And the reason is cuz it did. This is
  7. 0:15horrible. This is one of the most
  8. 0:16unprecedented days in the history of
  9. 0:19software in terms of how many things
  10. 0:21just got destroyed. I've been trying to
  11. 0:23raise the alarm bells about this for a
  12. 0:25while now. It is not surprising to me
  13. 0:28that LLMs are now at the point where all
  14. 0:29of these types of things will happen.
  15. 0:31All that said, I actually feel a little
  16. 0:33bit bad about how I'm starting this
  17. 0:34video because it's almost misleading in
  18. 0:36a way. The reality is that two different
  19. 0:38things are happening at once right now.
  20. 0:40On one side, we have the CVEs like with
  21. 0:43Node, GitLab, PHP, Quick, Light LLM, and
  22. 0:46more. These are all real open-source
  23. 0:48things that people rely on every day
  24. 0:49they build their own software with, the
  25. 0:51dependencies in our stack, that have
  26. 0:53been discovered to have security issues
  27. 0:55that could be exploited in really scary,
  28. 0:57dangerous ways. Especially the PHP side,
  29. 1:00which I promise we'll talk a lot about
  30. 1:01the impact of. The rest, however, are
  31. 1:03different. They're attacks. Railway and
  32. 1:06Open Code are not at all like the hacks
  33. 1:09on the left side here because these are
  34. 1:11actual attacks. These are incident
  35. 1:13reports of bugs that exist in software
  36. 1:16that could be exploited. Both of these
  37. 1:18are bad, but they're bad for very
  38. 1:20different reasons, and I actually think
  39. 1:22the right side here is what we should be
  40. 1:24way, way more scared of, even though
  41. 1:27everyone seems really focused on the
  42. 1:28left side here. I'm particularly
  43. 1:30concerned about how I've seen people
  44. 1:31covering the Railway and Open Code hacks
  45. 1:33because there are important details as
  46. 1:35to the whys and hows here that I just
  47. 1:38don't see being covered at all right
  48. 1:40now. I initially planned to make this
  49. 1:41two separate videos with a clear line
  50. 1:44drawn between the CVEs and the attacks,
  51. 1:47but I've realized that if I do split
  52. 1:48these videos up, people are going to
  53. 1:50watch one and not the other and then say
  54. 1:51really stupid [ __ ] which is why this
  55. 1:54video is likely a lot longer than I want
  56. 1:56it to be. Okay, technically Light LLM
  57. 1:57was an attack. Well, we'll clear that up
  58. 1:59in a bit. I want to do everything in my
  59. 2:00power to make sure you guys understand
  60. 2:02what's actually going on here and what
  61. 2:03we should be scared about. As I imagine
  62. 2:06the comment section for this video, I
  63. 2:08feel my sanity draining from my body.
  64. 2:10So, we're going to have to take a quick
  65. 2:11break so my sponsors can cover my
  66. 2:13therapy. The insane capabilities of the
  67. 2:15models from labs like Anthropic and
  68. 2:16OpenAI have put us in a weird
  69. 2:17contradictory place. On one hand, has it
  70. 2:19ever been easier to build big complex
  71. 2:21software, but on the other hand, the
  72. 2:23same tools that made it possible to
  73. 2:24build this software are not making it
  74. 2:26possible to find the thing that matters,
  75. 2:28security issues. It's never been easier
  76. 2:30to put yourself in a position where you
  77. 2:31have these types of issues, but the
  78. 2:33models we use to actually try and fix
  79. 2:34things will refuse as soon as you try.
  80. 2:36That's why I'm so thankful for Code
  81. 2:38Rabbit. You might be confused cuz aren't
  82. 2:39they using the same models that we are?
  83. 2:41Wouldn't they hit the refusals, too? The
  84. 2:43Code Rabbit security platform has this
  85. 2:45all figured out. They use the best
  86. 2:46models they can for the things that
  87. 2:48they're approved for, and all the other
  88. 2:49models they need in order to do all of
  89. 2:51the rest. And the result is that you can
  90. 2:52get the security feedback that you need
  91. 2:54to make sure that you're shipping safe
  92. 2:56software. It all starts with the
  93. 2:57security dashboard, which keeps track of
  94. 2:59where security issues are appearing and
  95. 3:00how many exist over time. As you would
  96. 3:02expect, the Code Rabbit code review
  97. 3:03includes the security review for every
  98. 3:05PR as it's filed, but if your code base
  99. 3:07has been around for a bit or has
  100. 3:09anything in it that isn't being PR'd
  101. 3:10right now, it might miss things. And
  102. 3:12that's why their deep scan feature's
  103. 3:14even cooler. You throw it at a repo,
  104. 3:16wait half an hour to an hour or so, and
  105. 3:18then you get back a detailed report of
  106. 3:20all the potential security issues, many
  107. 3:22of which map to real known
  108. 3:23vulnerabilities from existing patterns,
  109. 3:25libraries, etc. Not only do they give
  110. 3:27you these detailed breakdowns, they also
  111. 3:29give you this one-click fix button,
  112. 3:30which doesn't seem that important cuz
  113. 3:31like you can screenshot this report and
  114. 3:33throw it at your agent until your agent
  115. 3:35refuses to fix it because Opus, Fable,
  116. 3:37Inso, and Astra just refuse to do so
  117. 3:39much modern security work. Keep shipping
  118. 3:41fast without compromising your security
  119. 3:43at swaito.link/coderabbit.
  120. 3:44Literally, as I am filming, Oracle got
  121. 3:47hit. This one's a CVE, does not appear
  122. 3:49to be an attack, so I'll put that in
  123. 3:51this column. I also think Light LLM does
  124. 3:54not quite fit here because it wasn't a
  125. 3:56bug or something wrong with the Light
  126. 3:58LLM in code base, it was a hijacking of
  127. 4:01GitHub actions that allowed for a
  128. 4:03sketchy malware version to be published
  129. 4:05on top of the existing Light LLM.
  130. 4:08Honestly, it doesn't really fit in what
  131. 4:09I'm talking about today, so I'm going to
  132. 4:11make the controversial choice to delete
  133. 4:13it because otherwise we will be doing
  134. 4:14this for far, far, far too long. As I
  135. 4:17mentioned earlier, the attack side is
  136. 4:19where things are most interesting and I
  137. 4:21would argue most important, but I have
  138. 4:23retention numbers to hit, so we're going
  139. 4:24to get there in a bit and start with all
  140. 4:26of the CVEs that were discovered today.
  141. 4:28All right, at the very least were
  142. 4:29published today. For those who don't
  143. 4:31know, CVEs are common vulnerabilities.
  144. 4:34This is a government-funded program that
  145. 4:36tracks all of the different
  146. 4:38vulnerabilities that are discovered and
  147. 4:39disclosed in various pieces of software
  148. 4:41so that the severity of the incidents
  149. 4:43can be identified, discovered, and
  150. 4:45addressed, and there is a shared
  151. 4:46database effectively for tracking these
  152. 4:48things across various different
  153. 4:50companies, products, etc. The October
  154. 4:5221st security release from Node is a
  155. 4:54good example of how this all works. This
  156. 4:57updates for 20, 26, 24, and 22 based
  157. 4:59versions of Node.js. Security release
  158. 5:01includes the following dependency
  159. 5:02updates to address public
  160. 5:04vulnerabilities. There are
  161. 5:05vulnerabilities found specifically on
  162. 5:06OpenSSL as it worked in Node 24 and 22.
  163. 5:10CR is which I'm not familiar with. The
  164. 5:13CR is DNS library that's used in Node
  165. 5:17had a CVE that has now been fixed on
  166. 5:19these three versions. SQLite and DC CA
  167. 5:22cert. This one's from the e merda
  168. 5:24compromise. e merda is one of the
  169. 5:26companies that had the ability to issue
  170. 5:28SSL certs. They had their private key
  171. 5:31set as the number four, literally. While
  172. 5:34four is a really good random number,
  173. 5:36it's not necessarily the best password,
  174. 5:38so not great that this key existed, much
  175. 5:40less is being abused the way it is. So,
  176. 5:42everything that honors their certs is
  177. 5:45screwed and you need to make sure you're
  178. 5:46on the latest version of your browser
  179. 5:48and that all you murder search are not
  180. 5:50considered valid anymore. You'll see
  181. 5:51here that all of the things they
  182. 5:52addressed have these CVE tags. These
  183. 5:55link to that shared database we were
  184. 5:57just on that show how severe the
  185. 6:00incidents are and how they have been
  186. 6:02fixed and addressed. This allows for
  187. 6:04companies to privately talk about these
  188. 6:06things before they go public. So a lot
  189. 6:08of these reports probably were filed
  190. 6:10quite a bit ago and only are now being
  191. 6:13shared publicly because the biggest
  192. 6:15issue with a lot of this stuff is that
  193. 6:17when you fix the problem, there is a
  194. 6:19window from when the code that fixes it
  195. 6:22ships and everyone can see the code now
  196. 6:25knowing that there might have been a bug
  197. 6:27or something that they could use for
  198. 6:29hacks and then the time from when that
  199. 6:31merge happens on the GitHub repo or
  200. 6:33wherever the code is to when people
  201. 6:35actually have the safe version, that
  202. 6:37window is dangerous. Historically, it
  203. 6:40hasn't been that dangerous because it
  204. 6:42would take enough effort to first off
  205. 6:44find the things that were patched.
  206. 6:45Second off, figure what exactly they
  207. 6:47were actually patching. Third off, find
  208. 6:49a way to exploit the things that were
  209. 6:50patched. And then fourth and most
  210. 6:52importantly, distribute those exploits
  211. 6:54before most people have updated their
  212. 6:56software. The vast majority of exploits
  213. 6:58that happen are happening on known
  214. 7:00vulnerabilities that have been fixed,
  215. 7:02but the software you're running doesn't
  216. 7:04have the fix applied yet. This is why
  217. 7:06it's so important to stay on the latest
  218. 7:07version of your operating system, the
  219. 7:09apps you use, your browser, your
  220. 7:10dependencies and all these other things.
  221. 7:12For this all to make sense, I'm going to
  222. 7:13talk about it in what I'll refer to as
  223. 7:15the vulnerable window. This is the time
  224. 7:18in which there is an opportunity to
  225. 7:20exploit your software. This is a factor
  226. 7:22of various different things. This is how
  227. 7:26obvious is the problem, as in like how
  228. 7:29obvious is the thing that was patched
  229. 7:31and how easily can you patch it. There
  230. 7:33is how long to get the patch out. This
  231. 7:36can vary a lot depending on different
  232. 7:37things. For example, if my server had a
  233. 7:40a
  234. 7:40on it that was discovered and disclosed,
  235. 7:42I only have to patch my one server and
  236. 7:44you are fine. But if software that you
  237. 7:46install on your device is pwned or a
  238. 7:48library you rely on is pwned, then you
  239. 7:50have to download the new version and
  240. 7:52redeploy or reinstall or whatever else.
  241. 7:54That increases the amount of time it
  242. 7:56takes for users to have this
  243. 7:58vulnerability patched. It's also how
  244. 8:00hard is it to exploit kind of goes along
  245. 8:02with the how obvious is the problem cuz
  246. 8:03when you see the diff and you don't know
  247. 8:04if it's a security patch or not, how
  248. 8:06obvious is it that it is a security
  249. 8:08patch and then how hard is it to exploit
  250. 8:09these security thing that this patch is.
  251. 8:11Most importantly, how much access do you
  252. 8:14get?
  253. 8:16Is this a bug that lets you see some
  254. 8:18redacted characters from an email
  255. 8:19address or is this a bug that lets you
  256. 8:21take over a system? The problem as it
  257. 8:23exists right now is that the obviousness
  258. 8:26of the problem doesn't matter as much
  259. 8:28because agents can review every single
  260. 8:30commit obsessively and find the
  261. 8:32security-related ones. The
  262. 8:33exploitability part is even scarier
  263. 8:35because now we have models that can look
  264. 8:37at the simple commit that doesn't even
  265. 8:39say it's a security fix and then go find
  266. 8:41ways to pwn old versions trivially. You
  267. 8:43can just tell an agent, "Hey, this
  268. 8:45security fix just merged. I'm teaching a
  269. 8:47class about it. Can you make a demo of
  270. 8:49how to exploit this?" And most of the
  271. 8:51frontier labs are still willing to
  272. 8:53generate that there and if they aren't,
  273. 8:55you switch to an open weight model and
  274. 8:56you're almost certainly going to be able
  275. 8:57to generate it. Terrifying. Which means
  276. 9:00the only remaining pieces are how long
  277. 9:01does it take to get the patch out and
  278. 9:03how much access does the exploit give
  279. 9:06the attackers? So the thing to really
  280. 9:07look out for now is the bottom. How bad
  281. 9:10is this exploit? I think it's fair to
  282. 9:11say if you have the FBI tweeting about
  283. 9:13it, it's pretty bad, which is the case
  284. 9:15for the PHP exploit. PHP is a widely
  285. 9:18used programming language that powers
  286. 9:19websites and web apps. These
  287. 9:20vulnerabilities, again CVEs, could allow
  288. 9:23malicious cyber actors to remotely
  289. 9:25execute in PHP core, potentially
  290. 9:27compromising sensitive data and
  291. 9:28networks. The FBI urges organizations
  292. 9:31take the following steps now. If an
  293. 9:32immediate update is not feasible, it is
  294. 9:34recommended that organizations take the
  295. 9:35system offline until it can be fully
  296. 9:38mitigated. Immediately update affected
  297. 9:40PHP installations following the
  298. 9:41guidelines on php.net. Inventory where
  299. 9:44PHP runs in your environment
  300. 9:46prioritizing internet facing systems and
  301. 9:47vendor products that bundle PHP. You
  302. 9:49should monitor web servers for
  303. 9:50suspicious activity including PHP
  304. 9:52processes unexpectedly launching command
  305. 9:53shells or downloading files. Ensure
  306. 9:55appropriate process monitoring
  307. 9:56capabilities are in place to help
  308. 9:58identify potential exploitation. They
  309. 9:59even have a government site that you can
  310. 10:01report things to if you think you're
  311. 10:03being exploited. This tweet matters for
  312. 10:05two reasons. First off, it helps
  313. 10:07emphasize the severity of these CVEs.
  314. 10:09They're scored on a one to 10 scale.
  315. 10:11They're both 9.2s in the colloquial term
  316. 10:14for the exploit that they enable is PHP
  317. 10:16to shell. It's a memory exploit that
  318. 10:18lets you get root access. Very, very,
  319. 10:21very bad. Just to emphasize the point I
  320. 10:23was making before about how important it
  321. 10:25is to have good disclosure pipelines to
  322. 10:27make sure that knowledge of these
  323. 10:28exploits doesn't go public too early.
  324. 10:31One of the reasons this PHP exploit is
  325. 10:32so bad is because something in their
  326. 10:34chain broke security embargo ahead of
  327. 10:37these patches going out. PHP Foundation
  328. 10:39says Chainguard broke a coordinated
  329. 10:40security embargo by releasing patched
  330. 10:42PHP container images hours ahead of the
  331. 10:44a planned schedule making the fix
  332. 10:45available for attackers to study while
  333. 10:47other distributors were still preparing
  334. 10:48updates. Again, as soon as there is any
  335. 10:51evidence of one of these exploits
  336. 10:53existing agents can take advantage of it
  337. 10:55so fast. So, it is really, really
  338. 10:57important that by the time the info is
  339. 10:59known that we have a path to getting
  340. 11:01everything updated as quick as possible.
  341. 11:03The knowledge getting out early means
  342. 11:05everything is pretty bad. Lots of other
  343. 11:07things were pwned like GitLab, Quick,
  344. 11:08and Oracle, but I have one last thing I
  345. 11:10want to talk about with the PHP piece
  346. 11:13before we go further because I've seen
  347. 11:15some really bad takes about this. To be
  348. 11:19fair, this happens pretty much every
  349. 11:21single time PHP comes up. Do any of you
  350. 11:23guys have one of those
  351. 11:25PHP is 70% of the web everything is
  352. 11:27pwned tweets that people were making
  353. 11:29today cuz I'd really like one of those
  354. 11:30if someone has one easy access. Okay,
  355. 11:33like there's actually two more things I
  356. 11:34need to complain about with the PHP
  357. 11:37thing. One of this is the call out that
  358. 11:39PHP is used to run an estimated 70% of
  359. 11:42websites. I'll complain about that in a
  360. 11:43minute cuz there's a much funnier thing
  361. 11:44I want to mention in here. The PHP
  362. 11:46exploits weren't found with modern
  363. 11:48models. They were found with GPT 5.6
  364. 11:51Soul. This shows both how long it takes
  365. 11:54for these things to become public
  366. 11:56because again they have to try and
  367. 11:58protect these incidents and not make it
  368. 12:00as well known, but also that a model as
  369. 12:02bad as 5.6 Soul is able to find these
  370. 12:04exploits. There are multiple open weight
  371. 12:06models that are nearly as capable as 5.6
  372. 12:08Soul at this point. We are very screwed.
  373. 12:11Apparently, another group Wiz also
  374. 12:13independently discovered and reported
  375. 12:15these vulnerabilities. This is the other
  376. 12:17scary thing is if only one party is
  377. 12:19aware of these security issues, cool,
  378. 12:22awesome, get it fixed before it's
  379. 12:23public. But if two can find it
  380. 12:25independently, that's a lot scarier.
  381. 12:28Similar to how we just had four
  382. 12:30independent groups rewrite all of
  383. 12:32TypeScript in Rust in roughly the same
  384. 12:34time window. If any one group is able to
  385. 12:36get modern models to discover an
  386. 12:38exploit, there are probably lots of
  387. 12:40others that are figuring it out around
  388. 12:41the same time. This also helps destroy
  389. 12:43this idea of private disclosures in
  390. 12:46order to prevent public software from
  391. 12:47being exploited as badly. Everything is
  392. 12:49falling apart is what I'm trying to say.
  393. 12:51Very slight silver lining is on the 70%
  394. 12:54of websites thing. I've been trying all
  395. 12:56day to come up with a good analogy for
  396. 12:58why this is really stupid. Okay, I have
  397. 13:00one.
  398. 13:02Did you know that the average person
  399. 13:04spends less than 1 hour a year on a
  400. 13:06screen? I know it seems insane cuz all
  401. 13:08of us have crazy screen time, but the
  402. 13:10average screen time for a human is under
  403. 13:12an hour a year. It's probably even less
  404. 13:14than that because I didn't specify
  405. 13:16living humans. If you include every
  406. 13:19human who ever lived and you average out
  407. 13:22all humans,
  408. 13:23the number goes down a bunch. It's
  409. 13:25similarly, if you measure websites by
  410. 13:28the number of URLs served by PHP, you're
  411. 13:30doing a thing that's really [ __ ]
  412. 13:31stupid. Because the vast majority of
  413. 13:34websites on the internet are dead. I
  414. 13:36would bet if I check my open tabs in
  415. 13:38Chrome right now, almost zero of them
  416. 13:41are PHP websites. We got Railway,
  417. 13:43definitely not PHP. We got YouTube chat,
  418. 13:46which is slow as it is, also crazy
  419. 13:48enough isn't PHP. Twitter isn't PHP.
  420. 13:51Twitch,
  421. 13:52been through it, definitely not PHP.
  422. 13:54More Railway, not PHP. GitHub, not PHP.
  423. 13:58YouTube, not PHP. All of my other
  424. 14:00services here, things I built mostly,
  425. 14:02none of that is PHP. The point I'm
  426. 14:04trying to make here is, yeah, sure, 70%
  427. 14:06of websites are PHP, but that's a
  428. 14:08useless number because none of these are
  429. 14:10getting any traffic at all. I don't care
  430. 14:12if your old unmaintained WordPress blog
  431. 14:15from 2014 is pwned. I really don't. So,
  432. 14:19yeah. Is this going to be bad for the
  433. 14:21preservation of the web? Yeah, but
  434. 14:23WordPress is already bad for the
  435. 14:24preservation of the web. The If I
  436. 14:25recall, the majority of websites, like
  437. 14:27over 50%, are WordPress. And WordPress
  438. 14:30is even more fragile than PHP by itself
  439. 14:34and has had a lot of incidents that I
  440. 14:36have personally been affected by, like
  441. 14:37when I built my uncle a website for his
  442. 14:40like small fishing charter when I was in
  443. 14:42high school and then forgot about it and
  444. 14:44didn't maintain it, it got pwned to hell
  445. 14:47because I wasn't maintaining it. And
  446. 14:49that's the problem here. It's not just
  447. 14:50dead websites, it's dead people not
  448. 14:52maintaining their websites or people who
  449. 14:54left their job not updating their
  450. 14:55websites or random government stuff.
  451. 14:57Like things like that are [ __ ] That
  452. 14:59is a really big deal. The vast majority
  453. 15:00of websites getting actual traffic today
  454. 15:02are not using PHP. So, don't get too
  455. 15:06scared of these 70% numbers. I really
  456. 15:08wish we would stop talking this way
  457. 15:10because nobody thinks this way. Okay. I
  458. 15:13have said everything I really want to
  459. 15:16about the CVE side of things today.
  460. 15:19Believe it or not, that was the less
  461. 15:21interesting and also less scary side.
  462. 15:24Cuz now we have to talk about the
  463. 15:26attacks. I'm going to start with the
  464. 15:28Open Code attack. For those who aren't
  465. 15:30familiar, Open Code got pwned a few days
  466. 15:32ago. This isn't like they got access to
  467. 15:35all of your data cuz like it's running
  468. 15:36on your own devices. Usually, they're
  469. 15:38not even collecting that much data. The
  470. 15:40thing that was affected by the Open Code
  471. 15:41hack was API keys. Not the Open Code
  472. 15:44ones, they rolled all those obviously.
  473. 15:46The issue is if you brought your own API
  474. 15:48keys to Open Code in their dashboard and
  475. 15:51on their server side. So, if you set up
  476. 15:53Open Code with your account to have an
  477. 15:55API key for Anthropic, OpenAI, Gemini,
  478. 15:57or whatever else, those keys all could
  479. 15:59have and often did get found and
  480. 16:02exploited. Many devs were reporting that
  481. 16:04their OpenAI and Anthropic API keys got
  482. 16:06consumed and their OpenAI accounts were
  483. 16:08suspended. Did Signal just get
  484. 16:10exploited?
  485. 16:14I saw people reporting abuse numbers
  486. 16:15from their leaked keys as low as 400
  487. 16:17bucks and as high as 3 grand all in
  488. 16:19minutes from when the accounts and keys
  489. 16:22got found and exploited. Kind of crazy.
  490. 16:24Lots of people were banned, lots of
  491. 16:25people got a lot of money spent.
  492. 16:27Thankfully, Open Code has been working
  493. 16:28closely with the labs to get people
  494. 16:30refunded, to get their accounts
  495. 16:31reinstated, to deal with all of this,
  496. 16:33and also to automatically roll all of
  497. 16:34the keys. So, why would somebody hack
  498. 16:37Open Code just to get a bunch of API
  499. 16:39keys that all get revoked a few minutes
  500. 16:41later? Well, guess what? They did the
  501. 16:43same thing to Railway.
  502. 16:45Earlier this morning, Railway detected
  503. 16:46anomalous activity involving systems
  504. 16:48that store customer environment
  505. 16:49variables. After further investigation,
  506. 16:51our investigation to date indicates that
  507. 16:53an unauthorized third party may have
  508. 16:55accessed encrypted environment variables
  509. 16:57and for some of them obtained the
  510. 16:58decrypted contents. Environment
  511. 17:00variables may contain secrets such as
  512. 17:01API keys or database and registry
  513. 17:03credentials. This one really pissed me
  514. 17:06off because I have a bunch of [ __ ]
  515. 17:07deployed on Railway, all of which is
  516. 17:09down currently because not only are the
  517. 17:12environment variables compromised, they
  518. 17:15also took down deployments. So, I've
  519. 17:18been unable to redeploy with the new
  520. 17:20environment variables after rolling
  521. 17:22them. So, Railway had their environment
  522. 17:24variables stolen and their deployments
  523. 17:26taken off entirely. Open code just had
  524. 17:28the environment variables stolen. What
  525. 17:30is going on here? Well, I'm going to do
  526. 17:32another one of these split in half
  527. 17:34things because the Railway thing is two
  528. 17:36separate pieces. You have the API keys
  529. 17:40that I mentioned before and Open Code
  530. 17:42also had those get stolen and Railway
  531. 17:44separately has a full deployment outage.
  532. 17:49The reason I'm separating these is I
  533. 17:51feel obligated to call out my sponsors
  534. 17:52when they're up to some [ __ ] The API
  535. 17:54key thing sucks, but this happens. This
  536. 17:57is like things get exploited if you have
  537. 18:00sensitive data, people will target it.
  538. 18:02We'll talk more about what's going on
  539. 18:03there in a sec because I need to crash
  540. 18:06out a little about this side. I'm
  541. 18:07currently filming this video at 5:30
  542. 18:10p.m. Deployments have been down on
  543. 18:12Railway since 1:00 a.m. It has been 16
  544. 18:17hours since I could deploy to Railway.
  545. 18:20This is unrelated. This is not because
  546. 18:24Railway got hacked. The hack might have
  547. 18:26resulted in them doing things that
  548. 18:28caused this, but the inability to deploy
  549. 18:30and roll keys and fix your stuff on
  550. 18:32Railway is because Railway is
  551. 18:34incompetent. I would love for them to
  552. 18:36prove me wrong here, but I've been
  553. 18:37burned many a time and I am frustrated
  554. 18:40and I am annoyed and I will be
  555. 18:41reconsidering hosting important software
  556. 18:43on Railway in the future because side
  557. 18:44note, this is not the first time that
  558. 18:46their weird incompetence around how they
  559. 18:48manage their platform has burned me.
  560. 18:50These comments are going to cost me tens
  561. 18:52of thousands of dollars because I have
  562. 18:54two pending ads with them, one of which
  563. 18:56I just recorded that I was actually
  564. 18:58quite excited about because I do love
  565. 19:00using the Railway platform. It is
  566. 19:01absurdly good value. It is very well
  567. 19:03priced. The file storage S3 stuff that
  568. 19:05they do is incredible, one of the best
  569. 19:07blob stores there is. My agents love
  570. 19:09using it, too. This is inexcusable. If
  571. 19:11this was the first time it happened,
  572. 19:13that'd be one thing, but Railway is
  573. 19:14consistently one of the most unstable
  574. 19:16parts of my infrastructure ecosystem.
  575. 19:19It's getting up there with GitHub at
  576. 19:20this point. And to those mentioning
  577. 19:21fly.io, they were one of the few brands
  578. 19:23I cut off from sponsorships because
  579. 19:25their platform was so inconsistent I
  580. 19:26couldn't even film ads without it
  581. 19:28crashing. So, I do not recommend fly at
  582. 19:30all. I don't know what I recommend yet.
  583. 19:31I'll come back to y'all soon. You get
  584. 19:33the idea though, the full deployment
  585. 19:35outage has very little to do with the
  586. 19:36hack and very much to do with Railway
  587. 19:38itself, which means the only remaining
  588. 19:40thing we have to talk about is the thing
  589. 19:41that actually matters here, the API
  590. 19:43keys. Why do people want these?
  591. 19:46Especially if they can't keep using
  592. 19:47them. Like, if I had two options
  593. 19:50personally, I could have an API key that
  594. 19:52worked for a day with unlimited usage,
  595. 19:54or had an API key that worked for a year
  596. 19:57with $100 of usage a day, I'd pick the
  597. 19:59one for a year without question, even
  598. 20:00for a month. Cuz I don't know what I
  599. 20:02personally would do with millions of
  600. 20:04dollars of inference in a given day.
  601. 20:06Like, I actually cannot fathom what I
  602. 20:09would do with that. And obviously, once
  603. 20:11these keys start getting exploited, they
  604. 20:13are going to get rolled, they are going
  605. 20:15to stop working. The amount of time you
  606. 20:17get with one of these keys is relatively
  607. 20:20low. So, who in the world would want
  608. 20:23unlimited inference
  609. 20:25for a few hours? Let's think about this.
  610. 20:28Who are the groups, the parties, the
  611. 20:30companies, the individuals who would
  612. 20:32want to get an Anthropic API key and an
  613. 20:35OpenAI API key knowing that like they
  614. 20:38can only use it for so much time. I see
  615. 20:41people speculating that this is being
  616. 20:42used for scammers in order to do like
  617. 20:45generated responses to things. You can
  618. 20:46do that on cheap open weight models, it
  619. 20:47costs almost nothing. Not worth burning
  620. 20:49hacks like this. I see people saying
  621. 20:51hackers that want to use it to hack
  622. 20:52other things. I see people mentioning
  623. 20:54crypto for some reason, which is
  624. 20:55nonsense. There's only one reason you
  625. 20:58would want this. Say it with me, chat.
  626. 21:01Distillation.
  627. 21:03What the hell do I mean?
  628. 21:04Okay, hear me out. Let's say you're an
  629. 21:07AI lab that's trying to make a new,
  630. 21:09really capable model. Let's come up with
  631. 21:12something entirely random. Let's say
  632. 21:15Seep Deek. You run this company called
  633. 21:17Seep Deek and you're trying to make the
  634. 21:20world's greatest models.
  635. 21:22As a researcher at Seep Deek, you want
  636. 21:24to use the best tools available to you.
  637. 21:26So, you go and register for We'll go
  638. 21:29with Denise. Okay, it's easier to just
  639. 21:31say Claude. I'm just saying Claude, [ __ ]
  640. 21:32it. So, you want to use the best in
  641. 21:34class models to help you with your work,
  642. 21:37to get data, to do all the things that
  643. 21:39you want to do because your goal
  644. 21:40ultimately is to make a model similar in
  645. 21:42capability to what Anthropic puts out
  646. 21:44with Claude. Anthropic knows this. They
  647. 21:47know that the data that you can get from
  648. 21:49Claude is useful, not just for helping
  649. 21:51you write code to make your own models,
  650. 21:53but for generating the data that you can
  651. 21:54use to train the model. If you have
  652. 21:56enough examples of how Claude solves
  653. 21:58problems, you can do crazy things.
  654. 22:00Because the harsh reality is that the
  655. 22:02data that we trained models on is both
  656. 22:05hard to get now because the internet has
  657. 22:06been locked down, and it's also not as
  658. 22:08valuable for things like coding with
  659. 22:10agents because there just aren't that
  660. 22:12many examples online or anywhere in the
  661. 22:14world of how an agent would solve a task
  662. 22:17when it starts to differ more from how
  663. 22:18humans do, in particular when you start
  664. 22:20doing it inside of a bash terminal.
  665. 22:22Because of this, data that shows how
  666. 22:24LLMs handle complex tasks that they can
  667. 22:27do with the tools they have is
  668. 22:29incredibly useful data. But, that data
  669. 22:31is not just stuff you can download from
  670. 22:33the internet. It's data that kind of
  671. 22:35needs to be manufactured. And this is
  672. 22:37why so many companies wants to collect
  673. 22:40all of your history with Claude and with
  674. 22:41OpenAI models because they can use that
  675. 22:43to refine and train new models with
  676. 22:45similar capabilities. This allows for
  677. 22:47companies that aren't Anthropic and
  678. 22:48OpenAI to start to catch up faster to
  679. 22:52where Anthropic and OpenAI are because
  680. 22:54they can use all of this data to train
  681. 22:56the model more effectively without
  682. 22:57having to build all the systems and
  683. 22:58environments that were used to make the
  684. 23:00data exist in the first place. Okay.
  685. 23:02With all of that said, why would they
  686. 23:04not just buy the tokens then? That's cuz
  687. 23:06when this goes the other way, they get
  688. 23:08banned, not allowed. Anthropic has went
  689. 23:11out of their way to ban all attempts
  690. 23:14from Chinese labs to try and collect
  691. 23:16enough data to distill. They've even
  692. 23:18banned companies in the US. Like they
  693. 23:20banned Wind Surf temporarily cuz they
  694. 23:21thought Open AI was going to buy them.
  695. 23:23Because they don't want other companies
  696. 23:24getting access to their data to train a
  697. 23:26model with similar capabilities, they
  698. 23:28say because those capabilities won't
  699. 23:30have the same level of safety. I say
  700. 23:32it's a combination of that and also
  701. 23:34they're protecting their monopoly here.
  702. 23:36What this means is there's a lot of
  703. 23:37demand from companies like a
  704. 23:39hypothetical Seep Deek here that wants
  705. 23:42to use a lot of money to generate lots
  706. 23:44of Claude tokens to get data they can
  707. 23:47use to train their models, but Claude is
  708. 23:50not willing to sell to them. Claude is
  709. 23:52not just unwilling to sell to Seep Deek
  710. 23:54here, they're also more than willing to
  711. 23:56ban other companies that seem totally
  712. 23:58legit because they might be reselling
  713. 24:00the same data and tokens to Seep Deek.
  714. 24:03This includes a bunch of companies in
  715. 24:04South Korea that were paying Anthropic a
  716. 24:06ton of money, some of which were even
  717. 24:07investors, that Anthropic has chosen to
  718. 24:10cut off because they had reasons to
  719. 24:12believe that other Chinese labs were
  720. 24:14using those API keys to get the data
  721. 24:17they need for distillation. In order to
  722. 24:19prevent all of this, Anthropic has put a
  723. 24:21bunch of measures in place. Obviously,
  724. 24:23they try to detect distillation looking
  725. 24:25for certain archetypes and shapes of
  726. 24:26requests that are similar to when people
  727. 24:28are trying to distill. They also do some
  728. 24:30know your customer stuff to in certain
  729. 24:32cases try to get you to verify your
  730. 24:34identity with an ID card or your
  731. 24:36license, passport, something like that
  732. 24:38to make it less likely that you're a
  733. 24:39foreign national trying to steal data.
  734. 24:41They also have thresholds on how much
  735. 24:43API usage you can do until certain like
  736. 24:45levels of usage and age of account are
  737. 24:48hit. And there's a lot of things that
  738. 24:49can only be done on old accounts that
  739. 24:51can't be done on new accounts. And of
  740. 24:52course, they have hard bans on certain
  741. 24:54IPs and regions to make it harder for
  742. 24:55people in certain places like China to
  743. 24:58register for and use Anthropic's
  744. 25:00inference over Anthropic's APIs. What
  745. 25:02I'm trying to say here is seep deek
  746. 25:05can't just go register for a Claude
  747. 25:06account and expect to have a whole lot
  748. 25:08of luck with it. But this is an
  749. 25:09opportunity for people in between. If
  750. 25:11you're a hacker, a dishonest person, or
  751. 25:14otherwise just want to get a bunch of
  752. 25:16money out of one of these labs, all you
  753. 25:19need is a bunch of Claude API keys. You
  754. 25:21don't even need credit cards. You don't
  755. 25:23even need to forge identities. All you
  756. 25:25need is these API keys people have made
  757. 25:27on Claude and forgotten about because
  758. 25:30once you have those, you now have
  759. 25:31everything you need to generate a bunch
  760. 25:33of tokens. It will get banned,
  761. 25:35obviously, but you can get a lot in
  762. 25:37before that happens and you don't have
  763. 25:39to pay a cent cuz it's somebody else's
  764. 25:41billing, somebody else's account. As
  765. 25:42such, there is a ton of demand for
  766. 25:46Claude API keys, for OpenAI API keys,
  767. 25:48things that people have on accounts that
  768. 25:50they are not monitoring very well. And
  769. 25:52I'll be real, I don't monitor our OpenAI
  770. 25:54spend particularly well. I was very
  771. 25:56nervous today when Railway got pwned,
  772. 25:58looking to make sure none of my accounts
  773. 25:59were getting hit because I just haven't
  774. 26:01had to check in a while. This is because
  775. 26:03the Chinese labs and other parties that
  776. 26:05wants to make smarter models, but are
  777. 26:07banned from Anthropic and OpenAI, need
  778. 26:09ways to get the tokens in order to
  779. 26:11distill their models. And I'm going to
  780. 26:12stop pretending that this isn't
  781. 26:13happening. It very obviously is. All of
  782. 26:16the Chinese labs are trying incredibly
  783. 26:17hard to get all the possible data they
  784. 26:19can to make their models act similar to
  785. 26:21Claude. This is one of those attempts.
  786. 26:23Since Anthropic is not willing to sell
  787. 26:26inference to these companies that want
  788. 26:28these tokens for a reason that we can
  789. 26:30argue the validity and all we want,
  790. 26:32Anthropic's desire to not let them get
  791. 26:35those tokens and not let them have that
  792. 26:36inference is causing a weird downstream
  793. 26:39effect where users, customers, builders
  794. 26:42like Railway, OpenCode, and more are now
  795. 26:44targets in ways they've never been
  796. 26:45before. Pwning Railway honestly doesn't
  797. 26:48get you a whole lot, especially if it
  798. 26:51happened before the AI era. Everybody
  799. 26:53was hosting these keys on their railway
  800. 26:55deployments. Because generally, if you
  801. 26:57get into everyone's databases, by the
  802. 26:59time you've dumped enough data to even
  803. 27:01vaguely be useful, you've been locked
  804. 27:02out. Then how useful is that data? Good
  805. 27:05luck figuring out. But if you get a
  806. 27:06bunch of passwords that can be used to
  807. 27:08generate between a hundred and a few
  808. 27:09thousand dollars of value before they're
  809. 27:11killed, and then you resell those for
  810. 27:12cheap to companies that want to do
  811. 27:14sketchy things with it, that is a huge
  812. 27:16opportunity. What I'm trying to say is
  813. 27:18every platform that hosts API keys is a
  814. 27:21target now because there is so much
  815. 27:23demand in these sketchy black markets
  816. 27:26for Anthropic and OpenAI API keys. I
  817. 27:29would say Gemini, but I'll be real, I
  818. 27:31don't think anyone's trying to distill
  819. 27:32Gemini right now, even Google. You get
  820. 27:35the idea though.
  821. 27:36Everything's kind of [ __ ]
  822. 27:39I have a bad feeling it's going to get a
  823. 27:41lot worse before it gets better. It's
  824. 27:43weird to frame it as Anthropic's
  825. 27:44unwillingness to sell to these companies
  826. 27:47is getting other companies poned in the
  827. 27:49middle. But that's what's happening. A
  828. 27:51lot of us are going to get caught in the
  829. 27:52crossfire here. Whether or not Anthropic
  830. 27:54is doing the right thing is up for
  831. 27:56debate. I think it is their right as a
  832. 27:57company to choose who they do and don't
  833. 27:59want to sell to. It is just a very
  834. 28:01painful, strange, and arguably hellish
  835. 28:04side effect that we are now getting
  836. 28:05poned in the ways we are because of the
  837. 28:07demand for those keys. And on top of all
  838. 28:10of this, we can't use the bottles from
  839. 28:12OpenAI and Anthropic to figure out
  840. 28:14what's wrong and fix it because they'll
  841. 28:15start refusing cuz they think we might
  842. 28:17be the hackers. So, once again, OpenAI
  843. 28:19and Anthropic have put us in this
  844. 28:20position and aren't really here to help
  845. 28:22us. It's going to be bad. And it's not
  846. 28:24going to get better. It's going to get a
  847. 28:26lot worse first. I said six months ago
  848. 28:29in a podcast that we have three to nine
  849. 28:30months.
  850. 28:31Weird how spot-on I was.
  851. 28:35Okay. Actual last thing cuz I already
  852. 28:37foresee the comments and I probably
  853. 28:38should have mentioned this earlier
  854. 28:40because the type of people who leave
  855. 28:41these comments don't watch the whole
  856. 28:42video. If you think the PHP hack and the
  857. 28:46Railway or open code hacks are related.
  858. 28:49I hope that you aren't too tied to this
  859. 28:52software dev thing because you're going
  860. 28:54to be replaced by Claude very, very
  861. 28:56soon. It is so very obvious. These
  862. 28:59things have nothing to do with each
  863. 29:00other and I've nothing else to say about
  864. 29:02it. It does feel like the start of the
  865. 29:04end. So, I guess there's no better time
  866. 29:06to end the video, right? Seriously,
  867. 29:07protect your [ __ ] keep everything up to
  868. 29:09date, keep an eye online to see where
  869. 29:10things are happening and make sure your
  870. 29:12API keys are very well protected, very
  871. 29:14well separated, and easy to revoke
  872. 29:16because this is going to get a hell of a
  873. 29:17lot worse before it gets better. I think
  874. 29:19that's all I have to say. So, until next
  875. 29:20time.
  876. 29:21Peace, nerds.

About this transcript

This page contains the full transcript of Even The NSA Got Involved by Theo - t3․gg, generated from the public captions YouTube serves with the video. The transcript has 6,040 words across 876 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.