보안 업체 TruffleHog가 AI 오픈 데이터 허브인 허깅페이스(Hugging Face)의 공개 학습 데이터 7.6PB를 대규모로 스캔했습니다. 그 결과 6,000여 개의 데이터셋에서 22만 개 이상의 유효한 API 키와 인증 정보가 노출되어 있는 것을 확인했습니다. 이는 코드를 악의적으로 수정할 수 있는 권한의 깃허브(GitHub) 토큰부터 대규모 클라우드 인프라 접근 권한까지 포함되어 있어, AI 공급망 보안의 심각성을 보여줍니다.
번역된 본문
AI 에이전트는 여러분이 수정하는 것보다 더 빠르게 비밀정보를 유출합니다. - 2026년 블랙햇(Black Hat) 부스 5727에서 저희와 데모를 예약하세요.
트러플호그(TruffleHog) 고객 | 회사 | 리소스 | 로그인 | 문의하기
AI 에이전트는 여러분이 수정하는 것보다 더 빠르게 비밀정보를 유출합니다. - 2026년 블랙햇 부스 5727에서 저희와 데모를 예약하세요.
Dylan Ayrey | The Dig | 2026년 6월 1일
허깅페이스 학습 데이터 7.6 페타바이트에서 비밀정보 스캔하기
Dylan Ayrey | 2026년 6월 1일
요약 (tl;dr)
저희는 대부분의 오픈 AI 학습 데이터가 보관되어 있는 허깅페이스(Hugging Face)의 모든 공개 데이터셋을 스캔했습니다. 이는 1억 8,700만 개의 파일에 달하는 7.6 페타바이트(PB)의 데이터로, 우리가 아는 한 가장 큰 규모의 AI 학습 데이터 비밀정보 스캔입니다. 저희는 6,003개의 데이터셋에서 221,303개의 살아있는(사용 가능한) 고유 인증 정보를 발견했습니다. 저희가 발견한 가장 영향력이 큰 비밀정보 중 하나는 전 세계 인구의 약 3.7%를 커버하는 393GB의 개인식별정보(PII)에 접근할 수 있었습니다. 이에 대한 자세한 내용은 별도의 후속 게시물에서 다룰 예정입니다. 스캔의 나머지 결과는 이 문제가 얼마나 광범위한지를 보여줍니다. 클라우드 스토리지 버킷, 호스팅된 데이터베이스, 클라우드 관리자 키, 그리고 많은 사람들이 설치하는 소프트웨어에 코드를 푸시할 수 있는 토큰들이 포함되어 있습니다. 저희는 게시 전에 이러한 발견을 허깅페이스와 공유했습니다. 회사는 저희와 긴밀히 협력했으며, 최고기술책임자(CTO)인 Julien Chaumond는 TruffleHog에 네이티브 스토리지 버킷 스캔 지원 기능을 기여했습니다. 여러분은 아마도 OpenAI 및 허깅페이스 관련 뉴스를 보셨을 것입니다. 이 스캔은 그 뉴스가 터지기 전에 시작되었지만, 해당 공격 체인의 일부에 도난당한 API 키가 포함되어 있었다는 점을 지적할 가치가 있습니다. 노출된 키를 폐기(revoke)하기 위해 공급업체들과 협력해야 한다는 명분이 그 어느 때보다 강력해진 적이 없었습니다 (저희가 아직 협력하지 않는 업체라면 저희에게 연락해 주시기 바랍니다).
여러분이 설치하는 소프트웨어에 코드를 푸시할 수 있는 토큰
때로 저희가 대량의 키를 발견했다는 조사 결과를 발표하면, 사람들은 그 키 중 실질적으로 중요한 것이 얼마나 되는지 묻습니다. 다음은 공급망 리스크를 안고 있는 이번 스캔에서 발견된 것들입니다. 여기서 가장 무서운 인증 정보는 다른 사람들이 실행하는 소프트웨어를 변경할 수 있게 해주는 것들입니다. 학습 데이터 내부에서 저희는 349개의 살아있는 GitHub 개인 액세스 토큰(PAT)을 발견했습니다. 223개는 전체 저장소 쓰기 권한이 있고, 130개는 CI 워크플로우를 다시 작성할 수 있으며, 112개는 조직 관리자(admin:org) 권한, 110개는 패키지를 게시할 수 있는 권한을 가지고 있었습니다. 그 위에 이미지를 푸시할 수 있는 Docker Hub 토큰도 318개가 있었습니다. 저희는 npm과 PyPI를 구체적으로 확인했지만 살아있는 키가 없었으므로 이 부분은 주장하지 않습니다. 단일 저장소 또는 조직 관리자 토큰은 소유자가 푸시할 수 있는 모든 저장소를 재작성하며, 그 변경 사항은 결과물을 설치하는 모든 사람에게 전달됩니다. 이러한 토큰 중 일부는 수백만 명이 사용하는 소프트웨어에 연결된 계정에 있습니다. 다른 토큰들은 소프트웨어 공급망의 깊은 곳에 위치한 계정에 속해 있었습니다.
실제 검증된 활성 토큰 (막대 그래프)
Docker Hub: 이미지 푸시 318
Hugging Face: 쓰기 권한 237
GitHub: 전체 저장소 쓰기 권한 223
GitHub: CI 재작성(workflow) 130
GitHub: 조직 관리자(admin:org) 112
GitHub: 패키지 게시 110
Hugging Face: 조직 관리자(org-admin) 70
공개 학습 데이터에서 발견된, 실제로 권한을 부여하는 기능별 사용 가능한 쓰기 인증 정보 개수.
발견된 살아있는 저장소 범위 토큰 중 하나는 널리 사용되는 MCP(Model Context Protocol) 레지스트리 창립자의 것이었으며, 그의 계정은 공식 MCP 조직에 연결되어 있었습니다. 해당 조직의 저장소에는 주요 AI 코딩 도구에서 사용하는 서버와 SDK가 포함되어 있으며, 총 178,000개 이상의 GitHub 스타를 보유하고 있습니다. 다른 예로는 대형 기술 회사의 엔지니어, 은행의 개발자, AI 연구소의 연구원이 보유한 고도의 권한을 가진 토큰이 있었습니다. 저희는 관련된 사람과 조직의 이름은 공개하지 않으며, 책임감 있게 취약점을 제보했습니다. Julien이 스토리지 버킷 스캔 기능을 기여한 후, 저희는 이미 방대한 양의 새로운 키를 스캔하여 찾았으며 이에 대해 후속 게시물을 올릴 예정입니다.
실제 피해 규모를 가진 키들
이 스캔에서는 실제 인프라를 여는 살아있는 키도 나타났습니다. 클라우드 계정, 호스팅된 데이터베이스, 스토리지 버킷 및 메시징 플랫폼 등입니다. 저희는 데이터베이스 크기 통계나 Redis 메모리 카운터 등 메타데이터에만 영향을 미치는지 확인하고 검증하는 용도로만 이러한 인증 정보를 사용했습니다.
AI agents leak secrets faster than you can fix them - schedule a demo with us at Black Hat 2026, Booth 5727 TRUFFLEHOG CUSTOMERS COMPANY RESOURCES LOG IN Contact Us AI agents leak secrets faster than you can fix them - schedule a demo with us at Black Hat 2026, Booth 5727 Dylan Ayrey The Dig June 1, 2026 Scanning 7.6 Petabytes of HuggingFace Training Data for Secrets Scanning 7.6 Petabytes of HuggingFace Training Data for Secrets Dylan Ayrey June 1, 2026 tl;dr We scanned every public dataset on Hugging Face, which is where most open AI training data lives. That came to 7.6 petabytes across 187 million files , the largest secret scan of AI training data we know of. We found 221,303 live, unique credentials sitting in 6,003 datasets. One of the highest-impact secrets we found had access to 393 GB of PII covering what we estimate to be roughly 3.7% of the global population . More on this will come in a dedicated follow-up. The rest of the scan shows how broad the problem is: cloud storage buckets, hosted databases, cloud-admin keys, and tokens that can push code into software a lot of people install. We shared the findings with Hugging Face before publication; the company partnered closely with us, and CTO Julien Chaumond contributed native storage-bucket scanning support to TruffleHog. You’ve probably seen the OpenAI and Hugging Face news. This scan began before that broke, but it’s worth pointing out that part of that kill chain involved stolen API keys. There has never been a stronger imperative for us to work with vendors to get their exposed keys revoked (please reach out to us if we’re not already working with you). Tokens that can push code into things you install Sometimes when we publish our findings of large quantities of keys, people ask how many of them actually materially matter. Here’s a bunch we found in this scan that have supply chain risk. The scariest credentials here let you change software that other people run. Inside the training data we found 349 live GitHub personal access tokens : 223 with full repo write, 130 that can rewrite CI workflows, 112 with admin:org , and 110 that can publish packages. On top of that, 318 Docker Hub tokens that can push images. We checked npm and PyPI specifically and found zero live, so we’re not claiming those. A single repo or admin:org token rewrites every repository its owner can push to, and that change ships to everyone who installs the result. Some of these tokens sit on accounts wired into software that millions of people run. Others belonged to accounts positioned deep in the software supply chain. GitHub PAT Docker Hugging Face Docker Hub: push images 318 Hugging Face: write 237 GitHub: full repo write 223 GitHub: rewrite CI (workflow) 130 GitHub: admin:org 112 GitHub: publish packages 110 Hugging Face: org-admin 70 Live, verified tokens — hover a bar Live, verified write-capable credentials found in public training data, counted by what they actually authorize. One live repo -scoped token belonged to the founder of a widely used Model Context Protocol registry whose account was connected to the official MCP organization. That organization’s repositories hold servers and SDKs used by major AI coding tools and have more than 178,000 GitHub stars between them. Other examples included a highly privileged token held by an engineer at a large technology company, a developer at a bank, and a researcher at an AI lab. We are withholding the names of the people and organizations involved, and have responsibly disclosed our findings. Following Julien’s contribution to scan storage buckets, we’ve already scanned and found a vast quantity of new keys we’ll do a follow-up post about. Keys with real blast radius The scan also turned up live keys that open real infrastructure: cloud accounts, hosted databases, storage buckets, and messaging platforms. We used these credentials only for verification and metadata-only impact checks, meaning database size stats, Redis memory counters, and CloudWatch S3 bucket-size metrics. We did not read database rows, list object keys, download files, or modify anything. Here is what they unlock. Cloud takeover 8,557 GCP service-account keys Across 3,811 projects Private storage 51.7 TB in non-public S3 buckets Confirmed from bucket metadata Live databases 8,594 working database logins 3.5 TB measured by metadata Impersonation 5,885 Slack and Mailgun keys Many tied to named workspaces or domains Chatbot spread 18× copies of one pasted AWS key Captured once, then mirrored Cloud takeover · GCP — 8,557 live Google service-account keys, across 3,811 projects A service-account key is a non-interactive credential for a cloud project. Of the verified examples, 1,926 were Firebase admin keys with database access, one carried the explicit Owner role, and one was a Kubernetes cluster-admin . Project metadata indicated that some were associated with healthcare and payment applications. We are withholding project names and account identifiers. Cloud storage · AWS S3 — 51.7 TB in buckets with public access blocked The full S3 StandardStorage lower bound was 185 TB, but raw byte count is not enough: S3 can hold public assets, logs, backups, or almost anything. So we checked only bucket-level metadata for the largest accounts. Bucket policy and public-access-block settings confirmed 51.7 TB in buckets configured to block public access. Bucket-name tokens pointed at prod , backup , cloudtrail , invoice , customer , billing , rds , mongo , and terraform . We did not list object keys or read object contents. AWS keys passing STS identity checks — 3,343 Keys able to list S3 buckets — 907 Bucket count visible through metadata — 8,676 Buckets with all public-access-block flags enabled — 51.7 TB; largest measured account — 66.9 TB S3 lower bound (all buckets) 185 TB Confirmed non-public S3 51.7 TB Live databases 3.5 TB Storage reachable by leaked keys — TB, from size metadata only Live databases — 8,594 verified-live database logins, 3.5 TB by metadata Connection strings that still authenticate to hosted databases. The target names lean heavily toward tutorials and side projects ( test , myfirstdatabase , todo apps), and the median MongoDB cluster was only 2.8 MB. But the tail is real: 89 MongoDB clusters and 5 Postgres databases exceeded 1 GB, and the largest MongoDB cluster exposed 617.7 GB by database-size metadata alone. 6,121 of 6,802 MongoDB credentials still connected; the tail included a SQL Server tied to a US defense contractor and Postgres sets tied to a Brazilian federal agency . 617.7 GB Largest single exposed database, by size metadata 6,121 / 6,802 MongoDB logins that still authenticate 94 MongoDB & Postgres clusters over 1 GB Impersonation · Comms — 5,885 live Slack tokens and Mailgun keys We found 231 Slack tokens, 99.6% of which identified the associated workspace, plus 5,654 Mailgun keys with 2,470 tied to a custom sending domain. The examples included a Fortune 500 technology workspace and sending domains associated with or resembling major technology and consumer brands. We are withholding the workspace and domain names. A new leak path · Chatbots — 18× mirrors from one key pasted into a chatbot A live AWS key tied to a Brazilian lending fintech reached the training data because someone pasted their boto3 code into a chatbot. The conversation was captured by LMSYS-Chat-1M and mirrored about 18 times. We are withholding the company name. What an attacker walks away with Live, verified credentials grouped by what they control. Each credential type sits in one bucket, counted once. Email & messaging 14.5k Cloud infrastructure 13.1k AI provider accounts 10.7k Hosted databases 8.6k Live, verified credentials — hover a bar for detail The risk, quantified: at least $920,000 a year in stolen AI inference The training data is full of keys to the AI providers themselves: 11,496 live across 1,210 datasets, covering OpenAI, Azure OpenAI, Anthropic, Gemini, Groq, and more. We never us