Cremit
/incidentsfield log
탐지캠페인유출지패턴LLM사고 사례방법론
↺rss↗cremit.io

incidents.cremit.io

실제 발생한 비인간 식별자(NHI) 크리덴셜 유출 사고를 정리한 인덱스. 운영: Cremit

둘러보기

  • 전체 사고
  • npm 공급망
  • CI/CD 침해
  • 방법론

구독

  • RSS 피드
  • @cremit_io
  • GitHub
// 상태
모니터 가동중
// 빌드
2026-05-20
// 출처
cremit · 서울, 대한민국
// 라이선스
CC BY 4.0

© 2026 Cremit. 출처 표시 시 자유롭게 재사용 가능.

홈/사고/circleci-session-token-breach-2023
CRITICAL8.6·confirmed·공개 Jan 4, 2023·3분 분량

CircleCI Session Token Breach (2023)

Malware on a CircleCI engineer's laptop stole a 2FA-backed session token, giving the attacker production access to customer environment variables and any secrets stored in CircleCI.

Summary

On January 4, 2023, CircleCI disclosed that an unauthorized third party had stolen a CircleCI engineer's authenticated session token via malware on the engineer's laptop. The token bypassed 2FA because it represented an already-authenticated session. With it, the attacker accessed and exfiltrated data including customer environment variables, tokens, and keys. CircleCI advised every customer to rotate every secret stored in the platform.

Timeline

  • 2022-12-16 — Malware deployed on a CircleCI engineer's laptop; the system's antivirus did not detect it. The malware harvested an authenticated SSO session token.
  • 2022-12-19 → 2023-01-04 — Attacker uses the stolen session to access internal CircleCI systems and exfiltrate a subset of customer data.
  • 2023-01-04 — CircleCI publicly discloses the incident and instructs all customers to rotate every secret stored in CircleCI.
  • 2023-01-13 — CircleCI publishes its full incident report.

Attack Vector

Three properties of the attack are worth calling out:

  1. The initial vector was endpoint malware, not an exploit against CircleCI's own infrastructure. The compromised engineer's laptop ran an antivirus product that did not detect the malware.
  2. 2FA was bypassed via session token theft, not by phishing the second factor. The session token represented an SSO-authenticated session and granted the attacker the engineer's existing access to internal production systems.
  3. The blast radius was every secret stored on the platform, because CircleCI engineers with production access can reach customer data — by design, for support and reliability use cases.

Tokens & Credentials Exposed

CircleCI's guidance instructed customers to rotate, at minimum:

  • Every project environment variable
  • Every context variable
  • Every Project API token issued before January 4, 2023
  • All Personal API tokens
  • All third-party tokens stored as environment variables (AWS, GitHub, npm, etc.)

Because CircleCI environments commonly hold AWS deploy keys, GitHub PATs with private-repo access, npm publish tokens, and OAuth tokens to deployment platforms (Vercel, Netlify, Heroku), the practical exposure surface is identical to the Codecov 2021 incident in shape — the entire credential graph that downstream pipelines depend on.

Confirmed Impact

  • Encryption key theft: CircleCI's incident report confirmed the attacker accessed an encryption key from a running process, allowing decryption of some customer data at rest.
  • Targeted exfiltration: A subset of customers' encrypted secrets were exfiltrated.
  • Downstream rotation events: Every CircleCI customer that took the guidance seriously had to rotate cloud, source control, and third-party credentials platform-wide.

CircleCI did not publicly enumerate which specific customers had data exfiltrated, instead instructing all customers to rotate as a precaution.

Mitigation & Lessons

The structural lessons:

  • Session token theft trumps 2FA. A stolen session token is post-authentication credential material. Treat session lifetime and binding (IP, device fingerprint, hardware key) as a primary control, not an afterthought.
  • CI/CD platform credentials are platform-equivalent. Whatever you store in your CI/CD platform's environment variable store has the same blast radius as if you posted it to that platform's main login page.
  • Rotation needs to be a regular drill, not a fire drill. Customers without an inventory of their CircleCI-resident credentials spent days reconstructing it after January 4. The cost of "rotate everything" is bounded only by how well you know what "everything" is.

Cremit Analysis

Like Codecov 2021, this is a textbook unattributed-key incident. The technical compromise was almost trivial — endpoint malware, session token theft — but the response cost across thousands of customer organizations was enormous because nobody had an authoritative list of which credentials lived in CircleCI, what they reached, and which to rotate first.

The NHI Severity Index score of 8.6 reflects ecosystem-wide blast radius (any CircleCI customer), production reachability, and variable privilege depending on the customer's setup.

The generalizable lesson — and the one that links Codecov 2021, CircleCI 2023, and the 2026 supply chain wave — is that CI/CD platforms are NHI concentrators. They aggregate credentials from across the customer's entire cloud and SaaS footprint. A compromise of the platform is, by definition, a compromise of every secret the platform holds.


참고 자료

  1. [1]
    CircleCI security alert — Take action to rotate secrets
    primary·2023-01-04·circleci.com
  2. [2]
    CircleCI incident report for January 4, 2023 security incident
    primary·2023-01-13·circleci.com
  3. [3]
    CircleCI confirms hackers stole encryption key, customer data
    reporting·2023-01-14·bleepingcomputer.com

관련 사고

2021-04-15·CRITICAL
Codecov Bash Uploader Compromise (2021)
2026-04-22·CRITICAL
Bitwarden CLI Supply Chain Compromise (2026)
2021-10-22·CRITICAL
ua-parser-js npm Account Compromise (2021)
2026-04-19·HIGH
Vercel Context.ai Incident: Environment Variables Accessed via Compromised AI Tool (2026)
최종 검토 / 2026-05-01검토자 / ben라이선스 / CC BY 4.0
// 사고 메타데이터
심각도
CRITICAL8.6
상태
confirmed
공개
2023-01-04
발생
2022-12-16 → 2023-01-04
벡터
CI/CD compromise
플랫폼
CircleCIGitHubAWS
토큰
API Key (generic)Environment VariableGitHub PATAWS Access KeyOAuth Token (generic)
nhi severity index
점수8.6 / 10blast radiusecosystem-widereachabilityproduction권한variable
nhi kill chain
Unattributed Key↗
지표
노출 기간19일