Hướng dẫn Thực tiễn

JetBrains Cadence bị xâm nhập: Khóa cloud và mã nguồn đều phải coi là lộ

|Tác giả: Ban biên tập QUASA|7 phút đọc| 8
JetBrains Cadence bị xâm nhập: Khóa cloud và mã nguồn đều phải coi là lộ

Ngày 28/8/2026, JetBrains xác nhận máy chủ Cadence đã bị khai thác qua CVE-2026-63077, dẫn đến truy cập trái phép và lộ dữ liệu khách hàng. Thông báo sự cố của JetBrains xác định hoạt động ảnh hưởng diễn ra từ ngày 8 đến 24/8, được phát hiện ngày 23/8 và khiến api.cadence.jetbrains.com bị đưa ngoại tuyến ngày 24/8.

Người từng dùng Cadence cần thu hồi hoặc xoay vòng mọi bí mật có thể đã được lưu, đồng bộ hoặc đưa vào phiên thực thi; đồng thời rà các tài khoản cloud, repository, registry và hệ thống triển khai liên quan. Mã nguồn, tệp dự án, artifact, đầu vào và đầu ra từng đi qua Cadence trong giai đoạn ảnh hưởng phải được coi là có khả năng bị xâm phạm cho đến khi được đối chiếu với nguồn sạch.

Phạm vi lộ dữ liệu không dừng ở tài khoản JetBrains

Dữ liệu Cadence gồm cấu hình cloud, bản sao lưu năm 2024 và tệp dự án PyCharm được cô lập sau truy cập trái phép

Cadence là dịch vụ do JetBrains lưu trữ, tích hợp với PyCharm qua plugin tùy chọn và dùng TeamCity để điều phối công việc trên tài nguyên cloud. Kẻ tấn công đã lấy dữ liệu cá nhân gồm tên người dùng, tên thật, email, thời điểm đăng nhập gần nhất và địa chỉ IP được truy cập gần nhất; một bản sao lưu đầy đủ của máy chủ từ năm 2024 cũng bị xâm phạm.

Bản sao lưu có thể chứa credential, cấu hình, artifact, log và dữ liệu khác. Nhiều AWS IAM user cùng bí mật liên quan đã bị xâm phạm, trong đó có tài khoản của nhân viên JetBrains; các tệp trong S3 bucket thuộc tài khoản AWS của JetBrains dùng cho Cadence cũng đã bị truy cập. Phạm vi dữ liệu trong những bucket này và khả năng bucket của khách hàng bị truy cập vẫn chưa được xác định đầy đủ.

JetBrains chỉ nói kẻ tấn công có thể đã tiếp cận mã nguồn được đồng bộ từ dự án PyCharm. Vì thế, “coi là lộ” là ngưỡng ứng phó cần thiết đối với repository và bí mật nằm trong tệp dự án, không phải khẳng định rằng mọi kho mã của mọi người dùng đều đã bị tải xuống.

Thu hồi bí mật trước, điều tra mức sử dụng sau

Thông tin xác thực từng dùng trong Cadence được thu hồi và thay mới trên cloud, kho mã, registry và hạ tầng ký

Ưu tiên đầu tiên là chặn mọi credential còn hiệu lực. Trước khi thu hồi, đội ứng phó nên ghi lại ID khóa, chủ sở hữu, quyền hiện tại và thời điểm thay đổi; không sao chép giá trị bí mật vào phiếu xử lý hoặc tài liệu điều tra.

  1. AWS: vô hiệu hóa rồi thay access key của IAM user hoặc service account từng xuất hiện trong Cadence; rà CloudTrail, AssumeRole, thay đổi IAM, truy cập S3 và hoạt động ECR.
  2. Azure và Google Cloud: thay client secret, service-account key và credential liên kết workload liên quan; kiểm tra sign-in log, audit log, thay đổi role, lần tạo khóa mới và truy cập Storage hoặc Cloud Storage.
  3. GitHub, GitLab và Bitbucket: thu hồi personal access token, deploy key, SSH key và token ứng dụng; rà clone, download, commit, webhook, collaborator, quyền repository và thay đổi secret.
  4. Package và container registry: thay token của npm, PyPI, Maven, NuGet, Docker Hub, ECR, GCR hoặc ACR; đối chiếu lịch sử publish, tag, digest và release với pipeline hợp lệ.
  5. Khóa ký và tích hợp: thay hoặc thu hồi chứng thư, khóa ký artifact, SSH/deployment key, Slack token, webhook và API token. Nếu khóa ký có thể đã bị đọc, cần khoanh vùng artifact được ký trong thời kỳ rủi ro và thiết lập lại chuỗi tin cậy.

Bí mật mới phải được cập nhật tại nơi thực sự sử dụng, còn khóa cũ phải bị vô hiệu hóa tại hệ thống phát hành. Chỉ sửa biến trong cấu hình Cadence hoặc pipeline cũ không ngăn bản sao credential đã bị lấy tiếp tục hoạt động.

Rà nhật ký từ ngày 8/8 theo IoC và hành vi

JetBrains công bố sáu địa chỉ IP gắn với hoạt động đã quan sát: 150.109.230.104, 43.153.227.206, 62.210.127.48, 210.247.242.190, 15.235.225.205 và 152.233.30.18. Có thể dùng danh sách này để lọc địa chỉ nguồn trong SIEM và log cloud từ ngày 8/8/2026, sau đó mở rộng truy vấn sang mọi lần sử dụng credential từng có trong Cadence.

Không tìm thấy sáu IP trên không chứng minh hệ thống an toàn vì danh sách IoC không đầy đủ. Cần tìm thêm đăng nhập từ vị trí bất thường, API call hiếm gặp, service account mới, thay đổi IAM, truy cập bucket ngoài thông lệ, repository bị clone hoặc tải xuống bất thường, token mới và package được phát hành ngoài quy trình.

Phân tích độc lập của Rapid7 cho thấy CVE-2026-63077 nằm trong cơ chế agent polling của TeamCity và cho phép thực thi lệnh mà không cần credential qua quá trình giải tuần tự hóa không an toàn. Tuy nhiên, phân tích kỹ thuật của Rapid7 cung cấp dấu vết ở phía máy chủ TeamCity, không thay thế việc rà audit log trong các tài khoản cloud và dịch vụ bên ngoài của từng người dùng Cadence.

Xác minh lại repository và dữ liệu thực thi

Repository và artifact từng đi qua Cadence được đối chiếu với commit tốt trước khi triển khai lại

Repository từng đồng bộ với Cadence cần được đối chiếu với commit hoặc bản phát hành tốt đã biết. Phạm vi kiểm tra gồm commit trái phép, branch và tag mới, workflow CI/CD, dependency, script cài đặt, tệp cấu hình, lịch sử chứa secret, webhook và quyền của bot hoặc collaborator.

Artifact, log, đầu vào và đầu ra của các phiên chạy trong giai đoạn ảnh hưởng cũng không nên được dùng làm bằng chứng tin cậy nếu chưa xác minh. Với artifact đã được đẩy đến registry hoặc môi trường triển khai, đội vận hành cần đối chiếu hash và provenance; nếu không chứng minh được chuỗi tạo dựng, nên build lại từ repository sạch sau khi thay khóa.

Tường thuật của The New Stack nhấn mạnh rằng chính máy chủ Cadence đã không được vá trong quá trình ứng phó lỗ hổng như dự kiến. Điều này giải thích vì sao việc xử lý không thể dừng ở token kết nối plugin: quyền truy cập của mọi credential từng hiện diện trên máy chủ đều phải được đánh giá lại.

Máy chủ đã bị cô lập nhưng điều tra chưa kết thúc

JetBrains đã đưa máy chủ bị khai thác ra ngoại tuyến và vô hiệu hóa toàn bộ access token mà plugin Cadence trong PyCharm dùng để kết nối dịch vụ. Phạm vi được xác nhận hiện giới hạn ở dữ liệu gắn với máy chủ api.cadence.jetbrains.com, nhưng giới hạn này không loại trừ tác động tiếp theo tại những hệ thống bên ngoài mà credential bị lộ có thể truy cập.

Đến bản cập nhật ngày 28/8, chưa có kết luận đầy đủ về dữ liệu bị truy cập trong các S3 bucket hoặc về bucket của khách hàng. Người dùng có thể đề nghị JetBrains cung cấp bản kiểm kê credential gắn với việc sử dụng Cadence, song hãng cảnh báo danh sách này không đầy đủ. Trạng thái hiện tại là máy chủ đã được cô lập còn cuộc điều tra vẫn tiếp diễn; việc xoay bí mật, rà log và xác minh lại chuỗi repository–artifact không nên chờ thông báo tiếp theo.

Đọc thêm:

Chia sẻ:

Đăng ký bản tin

Nhận tin Web3, AI và tiền mã hóa mới nhất ngay trong hộp thư.

0