Get a free audit

Field Notes / Breach Analysis

Meta lost code and staff data to one stolen GitHub login. Check what your repos hold.

Meta began notifying about 1,500 people on 13 October 2026 after an outside group used one employee’s stolen credentials to reach some of its GitHub repositories. 99% of what left was product code. The other 1% was personal data that sat in the repos by mistake, against Meta’s own policy. Here is what the Meta data breach tells you about your own GitHub organisation, and the six checks that find the same problem before an attacker does.

Author
Red Team Partners
Read
8 MIN READ
Filed
23 Oct 2026
An employee working late at a laptop, holding one login that opens more repositories than anyone has counted.

01 What happened at Meta

eta detected the intrusion a few weeks before it started sending notifications. Its security team shut the attackers out and brought in GitHub and law enforcement. A spokesperson told SecurityWeek that "Meta business data held in a GitHub repository was improperly accessed using an employee’s stolen credentials" Cybernews 2026 .

What Meta has saidWhat Meta has not said
Entry was an employee’s stolen credentialsHow the credentials were stolen, or whether multi-factor authentication was in place
About 99% business data, mainly product source codeWhich products, or how many repositories
About 1% personal data, about 1,500 people, mostly US employeesWhich types of personal information
Secrets found in the repos have been rotatedWhat those secrets gave access to
It does not believe the attackers targeted Meta specificallyWho the attackers are

Two lines in that table matter more than the headline. The first is the secrets. Meta’s spokesperson said: "We’ve since rotated secrets found in the repositories" TNW 2026 . So the repos held working credentials as well as code and staff data. The second is the motive. Meta and GitHub believe the group was not after Meta in particular. A crew holding a stolen login opened whatever it reached. That describes your organisation’s risk as well as Meta’s.

Meta’s response is the standard one, and it is a good list to copy. It rotated the exposed secrets, added controls to keep user data out of GitHub, worked with GitHub on further protections and is adding proactive scanning to catch personal data uploaded by mistake. Affected people get credit and dark web monitoring, and regulators have been notified SecurityWeek 2026 .

02 The 1% that should not have been there

Nobody decides to store employee records in GitHub. They arrive one shortcut at a time. A developer exports 200 rows from production to reproduce a bug and commits the CSV as a test fixture. Someone pastes a database dump into a migration script. A notebook saves its output, names included, next to the code that produced it. Each commit solves a problem that afternoon.

Git then makes the mistake permanent. Deleting the file in a later commit leaves it in the history. Every clone on every laptop, every fork and every CI cache keeps a copy. An attacker with read access runs one command over the full history and gets everything that was ever committed, including what the team thinks it removed in 2023.

Teams treat internal repositories as safe. The numbers say that is where the problem lives. GitGuardian’s State of Secrets Sprawl 2026 found internal repositories roughly 6 times more likely than public ones to contain a hardcoded secret. It counted 28.65 million new secrets in public GitHub commits in 2025 alone, up 34% on the year. Of the credentials it confirmed as valid in 2022, more than 64% still worked when retested in January 2026 GitGuardian 2026 . A secret committed three years ago is usually still a live key.

03 One login, how many repositories?

Ask your engineering lead a simple question. If one developer’s GitHub session were stolen tonight, how many repositories could the thief clone before breakfast? Few teams can answer. GitHub organisations grow by default settings, and the defaults are generous.

  • Base permissions. Many organisations give every member read access to every repository so onboarding is painless. One login then means the whole codebase.
  • Long-lived tokens. Classic personal access tokens with the repo scope reach every repository the owner can see, often with no expiry. They live in shell history, IDE settings and old CI jobs.
  • Leavers and contractors. Accounts that outlived the contract, and outside collaborators added to one repo three years ago and never removed.
  • Machine identities. Deploy keys, GitHub Apps and bot accounts with broad scope, owned by nobody who still works there.

Then the second hop. Repositories hold cloud keys, database passwords and API tokens. Meta had to rotate the ones it found. In most companies those secrets reach systems far more sensitive than the code. GhostAction showed the CI side of this problem, where a malicious workflow ships pipeline secrets out; we covered that in our GhostAction analysis. The Meta case is the simpler version. No malicious code at all, just a valid login reading what it was allowed to read.

04 Six checks for your GitHub organisation

An engineering lead with organisation owner rights can finish these in a week. Start with the first two. They tell you how big the problem is.

This week
  • Run a secrets scanner over the full git history of every repository, including archived, private and internal ones. Rotate every live credential it finds, then confirm the old one fails
  • Search the same history for personal data: CSV and SQL files, fixtures, notebook outputs and dumps. Add custom patterns for your own identifiers, such as customer IDs, national ID numbers and IBANs, and purge what you find from history
  • Turn on secret scanning and push protection for every repository. GitHub Secret Protection costs $19 per active committer per month and supports custom patterns, so the next commit is blocked before it lands
  • Set the organisation base permission to "No permission" and grant repository access by team. Then list who can read your three most sensitive repositories and remove anyone who has no reason to
  • Require single sign-on with phishing-resistant multi-factor authentication for the organisation. Replace classic personal access tokens with fine-grained tokens that expire, and revoke tokens and outside collaborators nobody can account for
  • Stream the GitHub audit log to your monitoring and alert on bulk clones, new tokens and access from unusual locations, so a stolen login shows up in hours and not weeks

Meta found its intrusion, cut it off and told people. The data was still gone, because the login was valid and the repos held what they held. Your exposure comes down to two numbers: how many repositories one account can read, and what sits in their history. We measure both in 14 days. You get every secret and every piece of personal data we can reach from a single developer identity, what each one opens, and the change that closes each path. Start with your Threat Map, from $5,000. Enterprise-grade. Not enterprise-priced.

References

Sources

  1. SecurityWeek (Eduard Kovacs). Meta Says Hackers Took Code, Personal Data of 1,500 in GitHub Breach. 13 October 2026. securityweek.com
  2. Cybernews (Paulina Okunytė). Personal data stolen from Meta’s GitHub: Why was it even there? 14 October 2026. cybernews.com
  3. The Next Web. Meta says hackers stole code and data on 1,500 people, SecurityWeek reports. October 2026. thenextweb.com
  4. GitGuardian. The State of Secrets Sprawl 2026: AI service leaks surge 81% and 29M secrets hit public GitHub. 2026. dev.to
  5. GitHub Changelog. Introducing GitHub Secret Protection and GitHub Code Security. March 2025. github.blog