🎮 The Twitch hack, explained

October 8, 2021

The Hustle

Tinder and Lyft are partnering on a feature that lets you buy a ride for your date, because apparently figuring out who should pay for the date wasn’t difficult enough already.

Today’s rundown:

  • Angry hacker: The cyberattack on Twitch, explained.
  • Chart: Flood insurance costs are skyrocketing.
  • Ask The Hustle: Our attempt to advise a 16-year-old on how to get an internship.

Let’s do it.

The Big Idea

You don’t want to make hackers angry — and Twitch just learned that the hard way

There are many reasons hackers hack, including:

  • Financial gain
  • Career advancement
  • The challenge of it

Much less common is hacking a platform out of spite — but that seems to be exactly what happened to Twitch, which suffered a massive data breach this week, per The Wall Street Journal.

The alleged hacker called out Twitch’s toxic culture…

… referring to the community as a “toxic cesspool” and wanting to “foster more disruption and competition in the online video streaming space.”

Twitch has struggled to fight “hate raids,” which is when a user programs bots to flood a streamer’s chat room with hateful messages.

The problem got so bad that some streamers boycotted the platform in September. While Twitch did end up suing 2 users they believe orchestrated hate raids, the buck doesn’t stop there.

Last year, Twitch employees accused the company of a tone-deaf, white-male dominated culture that fosters such toxicity.

This wasn’t your average leak

The alleged hacker announced the news on 4chan, an anonymous message board, and linked to a 125GB file containing a range of sensitive data, including:

  • Platform source code
  • Internal documents that include future product plans
  • Payout data for streamers on the platform

According to an anonymous Twitch engineer, the hack could make hate raids worse. The leaked data included the code for AutoMod — the company’s automated moderation tool that acts as a first line of defense against offensive messages in streamers’ chat rooms.

Notably, the 4chan poster referenced the hack as “Part One” — indicating there could be more to come.

PSA: At this time, Twitch doesn’t believe user credentials were exposed, but we’d recommend changing your password and enabling MFA just to be safe.

Share on Facebook Share on Twitter Send as email to a friend View on our website

Retail collab: Walmart’s same-day delivery service, GoLocal, got its 1st customer. Home Depot hired it to drop off small-sized purchases to customers. #ecommerce-retail

Road trip: Two men are biking across the US on solar-powered e-bikes to showcase how useful solar power can be. #clean-energy

VR party: Facebook launched a $10m creator fund for its still-in-beta VR social app, Horizon Worlds. #emerging-tech

Cryptocops: The US Dept. of Justice created the National Cryptocurrency Enforcement Team (NCET) this week to investigate and prosecute crypto crimes. #fintech-cryptocurrency

Twitter is testing a ‘Heads Up’ feature that warns you before you enter an “intense” conversation. It also reminds you to be polite. #big-tech

In the wake of the Epic vs. Apple trial, developers are creating ways to ditch the App Store’s 15%-30% commission fees. #big-tech


Visual: Singdhi Sokpo

Flood premiums are about to flood America

The National Flood Insurance Program — created in 1968 — provides flood insurance for 3.4m US homes, with a $739 average annual premium.

In 2019, FEMA said it would adjust subsidized rates based on a more realistic “Risk Rating 2.0.” Those changes start to take effect this month.

The goal: Nudge people toward less flood-prone areas to protect against the economic and human cost of flooding.

But new costs for insurance will be deep, especially in Florida, where 12.5k homes will see rates increase anywhere from $360 to $1.2k+.

Share on Facebook Share on Twitter Send as email to a friend View on our website
Free Resource

Why you should launch a business podcast

Over 100m Americans listen to podcasts every week.

Whether they are on the go or working remotely, people include podcasts in their daily routines. And if you want to run one to boost your business…

You’re not too late (really). And here’s a cheat code:

The business podcast blueprint, by Trint and HubSpot

This 20-page PDF will steer you well. It covers your feed, setup, content, production, marketing, and analytics.

You’ve waited long enough. Break in today.

(What prime podding looks like: Listen to the episode ‘From Hot Dogs to HubSpot’ of HubSpot’s The Shake Up, where our founder Sam Parr spills Hustle history.)

DIY podcasting →
Ask The Hustle

‘I’m 16 and really want to get a 2022 summer internship’

This week, we’re going back in time — to high school.

A lot of questions come from teenage readers, and we want to lend a hand — puberty is hard enough.

“I’m 16 and really want to get a 2022 summer internship. Any ideas on where to start? I really like business, and I would be willing to travel.” — Ella from San Diego

We’ve got you, Ella.

Let me get this straight: You’re 16 and looking for a summer internship?

When I was 16, I was working at a summer camp yelling at 10-year-olds to stop putting their boogers in the pool. TMI? Maybe.

I get it, the world’s a competitive place. And if your plan involves college, you gotta stand out.

Here’s what I’d recommend:

  • Consider your connections. Parents. Friends’ parents. Local businesses. People you follow. This is your network, and it can be powerful. But the answer will always be no if you never ask.
  • Consider your interests. But don’t feel like an internship needs to cover them all. Consider the nonprofit space — you may find it easier to get a role where you can wear a lot of hats.
  • Consider your skills. Take social media; you could offer to run social accounts for your neighborhood pizza joint. Once you’re in, recommend ways to optimize other parts of the business. How many interns can say they were a social manager and ops specialist? Not many.

At 16, the best thing you can do is remain curious. Worst case, if you don’t find an internship, you’re a San Diegonian — just go for a surf. Have fun.

Or, maybe teach kids to surf. $200/week. 10 kids. 4 weeks. That’s $8k right there. Now that would be an internship.

Sincerely, The Hustle

Btw, our DMs are open: keep asking The Hustle.

Share on Facebook Share on Twitter Send as email to a friend View on our website

👊  On this day: In 1992, “Mortal Kombat” debuted in arcades, compelling players to drop their quarters and “finish him.”
🐇  Useful: Ampie is a browser extension that will show you pages of note on the same domain, plus discussions and mentions of the page you’re on. It’s great for falling into rabbit holes.
🎨  Art: French street artist Scaf’s 3D works create the illusion of giant animals and other oddities bursting from walls and buildings.
😫  How to: Psychologist Marlene Valter offers 6 steps for dealing with burnout.
🙀  Wait, what: A woman said she found hidden steps beneath the patio of her 1908 home. And down those stairs was a really big secret basement.
🦴  Haha: A clever Amazon driver decided to put a homeowner’s Halloween decorations to good use during a delivery.


(A roundup of our best reads from the last couple weeks…)

💒  How Las Vegas became the world’s quickie wedding capital and spurred a $2B industry.

🍿  We spoke with the Jonas Brothers about their new popcorn brand.

💬  When WhatsApp goes down, people lose critical infrastructure.

🦑  The power of ‘Squid Game,’ Netflix’s surprise smash hit.

🧱  Lego is proving toys are still big business.

Ask the Hustle

Last week, we asked you all to help Gabriele name a fleet of mermaid-themed charter boats.

And you delivered 90+ amazing responses. Here are some favorites:

  • The Mer the Merrier — Susanne from Toronto
  • Illuminautical — Allaine from Sandy Springs, GA
  • OnlyFins — Matt from Columbus, OH

How did you like today’s email?

Join 1.5m+ professionals getting The Hustle daily news brief

Business and tech news in 5 minutes or less

100% free, no ads or spam, unsubscribe anytime


How'd Bezos build a billion dollar empire?

In 1994, Jeff Bezos discovered a shocking stat: Internet usage grew 2,300% per year.

Data shows where markets are headed.

And that’s why we built Trends — to show you up-and-coming market opportunities about to explode. Interested?

Join us, it's free.

Look, you came to this site because you saw something cool. But here’s the deal. This site is actually a daily email that covers the important news in business, tech, and culture.

So, if you like what you’re reading, give the email a try.

If you don’t like it, unsubscribe any time. Privacy policy.

[email-submission-form redirect-to-home="true" button-text="Join Free" include-trends-opt-in="true" id="main-signup-form" fail-url="" success-url="https://thehustle.co/signup" default-source="thehustleco" default-campaign="home"]
<script type="text/javascript"> var onloadCallback = function() { grecaptcha.render('verify-your-humanity', { 'sitekey' : '6LdddrcZAAAAALyttpvOqiwQGwq5BNhgDz4tMQGE' }); }; function getCookieValue(a) { var b = document.cookie.match('(^|[^;]+)\\s*' + a + '\\s*=\\s*([^;]+)'); return b ? atob(decodeURIComponent(b.pop())) : ''; } function setHiddenFieldValue(wrappingDiv, searchParams, className, utmName, cookieName, defaultValue) { var el = wrappingDiv.getElementsByClassName(className)[0]; var existingVal = el.getAttribute('value'); var newVal = searchParams.get(utmName) || getCookieValue(cookieName); if ((existingVal == null || existingVal == '' || existingVal == defaultValue) && (newVal != null && newVal != '')) { el.setAttribute('value', newVal); } } function setHiddenFieldValueFromUtm( wrappingDiv, searchParams, className, utmName, defaultValue ) { var el = wrappingDiv.getElementsByClassName(className)[0]; if (el != null) { var existingVal = el.getAttribute("value"); var newVal = searchParams.get(utmName); if (newVal != null && newVal != "") { el.setAttribute("value", newVal); } } } function initForm() { var wrappingDivs = document.getElementsByClassName('email-submission'); wrappingDivs.forEach(wrappingDiv => { var sp = new URLSearchParams(window.location.search); setHiddenFieldValue(wrappingDiv, sp, 'funnel-source', 'utm_source', 'funnel_source', 'thehustleco'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-campaign', 'utm_campaign', 'funnel_campaign', 'home'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-medium', 'utm_medium', 'funnel_medium', ''); setHiddenFieldValue(wrappingDiv, sp, 'funnel-referral', 'ref', 'funnel_referral', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-a', 'a', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-c', 'c', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-o', 'o', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-oc', 'oc', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-e', 'e', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-f', 'f', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-r', 'r', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-t', 't', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s1', 's1', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s2', 's2', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s3', 's3', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s4', 's4', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s5', 's5', ''); var error_message = getCookieValue('funnel_error_message'); if (error_message && error_message.trim() != '') { var error = wrappingDiv.getElementsByClassName('funnel-error')[0]; var prev_email = getCookieValue('funnel_email'); error_message = prev_email + " is not valid. Please try again"; error.innerHTML = error_message; error.style = ''; } }); if (false) { initCaptchaFormV2(); } } function initCaptchaFormV2() { var v3RecaptchaResponseEl = document.getElementById('recaptcha-response-v3'); v3RecaptchaResponseEl.parentNode.removeChild(v3RecaptchaResponseEl); var wrappingDiv = document.getElementById('main-signup-form'); var subForm = wrappingDiv.getElementsByClassName('email-submission')[0]; var captchaVersion = document.createElement('input'); captchaVersion.class = 'g-recaptcha hidden-input'; captchaVersion.type = 'hidden'; captchaVersion.name = 'g-recaptcha-response-v2'; captchaVersion.value = 'true'; subForm.appendChild(captchaVersion); var captchaEl = document.createElement('div'); captchaEl.id = 'verify-your-humanity'; subForm.appendChild(captchaEl); var captchaApiScriptEl = document.createElement('script'); captchaApiScriptEl.src = 'https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit'; captchaApiScriptEl.async = true; captchaApiScriptEl.defer = true; document.head.appendChild(captchaApiScriptEl); } function appendCheckboxes() { var optInDivs = document.querySelectorAll('.trends-opt-in'); optInDivs.forEach(el => { if (el.getElementsByClassName('trends-opt-in-checkbox').length < 1) { var checkbox = document.createElement('input'); checkbox.setAttribute('class', 'trends-opt-in-checkbox'); checkbox.setAttribute('type', 'checkbox'); checkbox.setAttribute('name', 'trends_opt_in'); var label = document.createElement('label'); label.setAttribute('class', 'trends-opt-in-text'); label.textContent = "Yes, I'd like to receive updates on market opportunities before they explode from Trends by The Hustle"; el.appendChild(checkbox); el.appendChild(label); checkbox.click(); } }) } window.addEventListener('DOMContentLoaded', (event) => { var funnel_email_cookie = getCookieValue('funnel_email'); if ( (true) && (funnel_email_cookie != null && funnel_email_cookie != '') ) { window.location.replace('/home'); } initForm(); if (true) { appendCheckboxes(); } }); </script> <div class="email-signup" id=main-signup-form> <div class="funnel-error" style="display:none;"></div> <form class="email-submission" action="https://cms.thehustle.co/api/v1/contacts/wordpress_create" method="post"> <input class="funnel-source hidden-input" type="hidden" name="source" value="thehustleco"> <input class="funnel-campaign hidden-input" type="hidden" name="campaign" value="home"> <input class="funnel-medium hidden-input" type="hidden" name="medium"> <input class="funnel-referral hidden-input" type="hidden" name="referral_code"> <input class="funnel-fail-url hidden-input" type="hidden" name="fail_url" value=""> <input class="funnel-a hidden-input" type="hidden" name="a" value=""> <input class="funnel-c hidden-input" type="hidden" name="c" value=""> <input class="funnel-o hidden-input" type="hidden" name="o" value=""> <input class="funnel-oc hidden-input" type="hidden" name="oc" value=""> <input class="funnel-e hidden-input" type="hidden" name="e" value=""> <input class="funnel-f hidden-input" type="hidden" name="f" value=""> <input class="funnel-r hidden-input" type="hidden" name="r" value=""> <input class="funnel-t hidden-input" type="hidden" name="t" value=""> <input class="funnel-s1 hidden-input" type="hidden" name="s1" value=""> <input class="funnel-s2 hidden-input" type="hidden" name="s2" value=""> <input class="funnel-s3 hidden-input" type="hidden" name="s3" value=""> <input class="funnel-s4 hidden-input" type="hidden" name="s4" value=""> <input class="funnel-s5 hidden-input" type="hidden" name="s5" value=""> <input class="funnel-success-url hidden-input" type="hidden" name="success_url" value="https://thehustle.co/signup"> <input id="recaptcha-response-v3" class="g-recaptcha hidden-input" type="hidden" name="g-recaptcha-response" value=""> <input class="signup-email" type="email" name="email" placeholder="Your email address" required> <input class="email-submit" type="submit" value="Join Free"> <div class="trends-opt-in"></div> <div submit-success> <template type="amp-mustache"> <p class="c-message c-message--success">Thank you for subscribing.</p> </template> </div> <div submit-error> <template type="amp-mustache"> <p class="c-message c-message--failed">Your submission failed. Please try again!</p> </template> </div> </form> </div>