Phân hệ PM Study
  • Tình huốngTình huống thực chiến
  • Kịch bảnRa quyết định tình huống
  • Biểu mẫuKho biểu mẫu tải về
  • Thẻ ghi nhớHọc thuật ngữ PMP
  • Công cụMáy tính EVM, PERT, dự phòng
  • Hỏi đápHỏi đáp & thảo luận
  • Thử tháchMỗi ngày một câu hỏi PMP
  • Lý thuyếtBài học PMBOK 8 & ECO 2026
  • Luyện thiThi thử & ôn tập PMP
  • Bài viếtThư viện bài viết PMP
PM Study
Trang chủLý thuyếtTình huốngLuyện thiBiểu mẫuHỏi đáp
6 chuyên mụcXem tất cả bài viết →
  • Quản lý các bên liên quanTình huống về kỳ vọng, giao tiếp và gắn kết stakeholder.
  • Lãnh đạo & đội nhómXây dựng, dẫn dắt và giải quyết xung đột trong đội dự án.
  • Kế hoạch & tiến độLập kế hoạch, ước lượng, nén tiến độ và kiểm soát baseline.
  • Rủi ro & thay đổiNhận diện, ứng phó rủi ro và kiểm soát thay đổi phạm vi.
  • Agile & HybridLựa chọn và vận hành cách tiếp cận Agile, Predictive, Hybrid.
  • Luyện thi PMPChiến lược ôn tập và mẹo xử lý câu hỏi tình huống PMP.
Công cụBài viết
Trang chủLý thuyếtTình huốngLuyện thiBiểu mẫuHỏi đápChuyên mụcCông cụBài viết
/
PM Study

Học quản lý dự án và ôn thi PMP bằng tiếng Việt: lý thuyết PMBOK® Guide 8, tình huống thực tế và đề luyện thi theo ECO 2026.

Chuyên mục

  • Quản lý các bên liên quan
  • Lãnh đạo & đội nhóm
  • Kế hoạch & tiến độ
  • Rủi ro & thay đổi
  • Agile & Hybrid
  • Luyện thi PMP

Tài nguyên

  • Project Management Institute (PMI)
  • PMP Exam Content Outline
  • The Scrum Guide
  • PMI Vietnam Chapter

PM Study

  • Tất cả bài viết
  • Bài viết nổi bật
© 2026 PM StudyPMP® và PMBOK® là nhãn hiệu đã đăng ký của Project Management Institute.109 người đã truy cậpPhiên bản 1.15.0
  1. /Tình huống
  2. /Quản lý Rủi ro
  3. /Codecov (01–04/2021): script tải lên bị sửa tron…
Số 455Quản lý Rủi ro

Codecov (01–04/2021): script tải lên bị sửa trong hơn hai tháng và bí mật trong pipeline CI của khách hàng bị đe doạ

Một lỗi trong quy trình tạo Docker image của Codecov làm lộ khoá cho phép sửa Bash Uploader — script mà hàng nghìn dự án chạy trong pipeline CI. Từ 31/1/2021, script bị sửa để gửi biến môi trường của CI ra máy chủ bên ngoài, tới 1/4 mới được phát hiện nhờ một khách hàng thấy mã băm không khớp. Bài học về rủi ro khi pipeline tải và chạy mã từ bên ngoài mà không kiểm tra.

HP
Nguyễn Thu Hà, PMP
01/09/2026
3 phút đọc 0 lượt xem
Bình luận0

Bối cảnh thực tế

Codecov là dịch vụ đo độ phủ kiểm thử. Để gửi kết quả, nhiều dự án chạy một lệnh tải Bash Uploader từ máy chủ của Codecov rồi thực thi ngay trong pipeline CI — nơi thường có sẵn token, khoá truy cập đám mây và mật khẩu cơ sở dữ liệu.

Theo thông báo an ninh của Codecov:

  • Một lỗi trong quy trình tạo Docker image cho phép kẻ tấn công lấy được khoá cần thiết để sửa Bash Uploader.
  • Từ ngày 31/1/2021, script bị sửa để gửi thông tin kho mã và biến môi trường của CI tới một máy chủ bên ngoài.
  • Ngày 1/4/2021, một khách hàng phát hiện mã băm SHA của script tải về không khớp với giá trị được công bố và báo cho Codecov; script được khắc phục cùng ngày.
  • Ảnh hưởng gồm Bash Uploader và các tích hợp dùng nó (GitHub Action, CircleCI Orb, Bitrise Step).
  • Codecov khuyến nghị khách hàng thay mới mọi thông tin xác thực trong biến môi trường CI và rà soát việc sử dụng chúng; người đã kiểm tra mã băm trước khi chạy có thể không bị ảnh hưởng.

Phân tích nguyên nhân theo chuẩn PMP

  • Pipeline CI chạy mã chưa xác minh với quyền cao

    Mẫu "tải script từ Internet rồi chạy ngay" tiện lợi nhưng đặt toàn bộ bí mật của dự án vào tay bất kỳ ai sửa được script đó. Rủi ro này hiếm khi xuất hiện trong sổ đăng ký rủi ro của dự án phát triển.

  • Bí mật trong CI không được giới hạn phạm vi

    Khi mọi bước của pipeline đều đọc được mọi biến môi trường, một công cụ đo độ phủ cũng có thể lấy khoá triển khai lên môi trường thật. Nguyên tắc quyền tối thiểu áp dụng cho cả pipeline.

  • Kiểm soát đơn giản đã có nhưng ít người dùng

    Codecov công bố mã băm, và chính việc kiểm tra mã băm đã phát hiện sự cố. Kiểm soát chỉ có giá trị khi được đưa vào quy trình chuẩn, không phải tuỳ chọn.

  • Phát hiện chậm hơn hai tháng

Thời gian từ xâm nhập tới phát hiện quyết định phạm vi thiệt hại. Không có giám sát tính toàn vẹn của tài sản phân phối thì nhà cung cấp phụ thuộc vào may mắn.

Lẽ ra PM nên làm gì

  1. 1

    Bước 1: Phía nhà cung cấp: giám sát tính toàn vẹn của script phát hành

    Tự động so sánh nội dung đang phân phối với bản đã ký, báo động khi khác biệt; tách khoá phát hành khỏi quy trình build image.

  2. 2

    Bước 2: Phía khách hàng: ghim phiên bản và kiểm tra mã băm

    Không chạy script tải trực tiếp; dùng bản đã ghim phiên bản, kiểm tra chữ ký hoặc mã băm trước khi thực thi.

  3. 3

    Bước 3: Phân hạng bí mật trong pipeline

    Áp dụng nguyên tắc: bước nào cần gì thì chỉ nhận đúng thứ đó.

    • Bước kiểm thử

      Không có bí mật triển khai; chỉ token ít quyền, hết hạn nhanh.

    • Bước công cụ bên ngoài

      Chạy trong môi trường tách biệt, không thấy biến môi trường của các bước khác.

    • Bước triển khai

      Chỉ chạy trên nhánh được bảo vệ, có phê duyệt, khoá ngắn hạn.

PM Takeaway (Bài học rút ra)

Pipeline CI/CD là một phần của chuỗi cung ứng phần mềm và là nơi tập trung bí mật nhiều nhất. Mỗi công cụ bên ngoài chạy trong pipeline là một nhà cung cấp có quyền truy cập — hãy xác minh mã trước khi chạy và giới hạn những gì nó nhìn thấy.

Nguồn tham khảo

  • Codecov — Bash Uploader Security Update
#Quản lý rủi ro#Phát triển phần mềm#Chuỗi cung ứng phần mềm#CI/CD#Quản lý bí mật#an-ninh-mang

Nguồn: Codecov — Bash Uploader Security Update (04/2021) ↗ (mở trong thẻ mới)

Trắc nghiệm tình huống PMP

Câu 1/1
Kiểm tra pipeline CI, bạn thấy nhiều dự án tải và chạy trực tiếp script của một công cụ bên ngoài, trong khi pipeline có sẵn khoá triển khai lên môi trường thật. Đội phát triển nói "nhà cung cấp này rất uy tín". Cách xử lý phù hợp nhất là gì?

Bạn chọn phương án nào?

Sau khi Codecov thông báo, bạn là PM của một dự án dùng Bash Uploader. Bạn ưu tiên việc nào trước?

Tình huống này hữu ích với bạn?

Bình luận0

Bình luận (0)

Đăng nhập để tham gia thảo luận.

Tình huống tương tự

Số 474Quản lý Rủi ro

Cầu Morandi (Genova, 2018): rủi ro ăn mòn cáp đã biết hàng chục năm, gói gia cố 20 triệu euro mời thầu ba tháng trước khi cầu sập

Ngày 14/8/2018, một nhịp của cầu cạn Morandi ở Genova (Ý) đổ sập trong mưa giông, làm 43 người chết. Cây cầu khánh thành năm 1967 có lịch sử ăn mòn cáp văng được ghi nhận từ thập niên 1990; tháng 2/2018, một cuộc họp của cơ quan bộ đã nêu tiết diện cáp giảm trung bình 10–20% nhưng không áp biện pháp phòng ngừa. Gói gia cố khoảng 20 triệu euro chỉ được mời thầu tháng 5/2018. Bài học về rủi ro đã biết, ngưỡng hành động và cái giá của sự trì hoãn.

0 lượt thích 0 lượt đánh giá hữu ích 0 bình luận29/10/2026
Quản lý Rủi ro

Khủng hoảng Rò rỉ Dữ liệu & Quy trình Ứng phó Sự cố An ninh mạng

Dự án xây dựng nền tảng hồ sơ sức khỏe và bảo hiểm số đang ở tuần thứ 36 trên tổng tiến độ 40 tuần, chuẩn bị bước vào giai đoạn nghiệm thu kỹ thuật và diễn tập Golive. Hệ thống chứa cơ sở dữ liệu định danh cá nhân (PII) và lịch sử khám chữa bệnh nhạy cảm của hơn 150.000 người dùng thử nghiệm.

0 lượt thích 0 lượt đánh giá hữu ích 0 bình luận23/10/2026
Số 382Quản lý Rủi ro

Toyota (29/08/2023): bảo trì cơ sở dữ liệu làm hết dung lượng đĩa, hệ thống dự phòng cùng lỗi và 14 nhà máy tại Nhật ngừng một ngày

Sau đợt bảo trì định kỳ dọn dẹp dữ liệu tích luỹ, máy chủ xử lý đơn đặt linh kiện của Toyota dừng vì không đủ dung lượng đĩa. Máy dự phòng chạy cùng hệ thống nên gặp lỗi tương tự, không chuyển sang được. Toàn bộ 14 nhà máy lắp ráp tại Nhật ngừng một ngày. Bài học về rủi ro trong bảo trì và giả định "đã có dự phòng".

0 lượt thích 0 lượt đánh giá hữu ích 0 bình luận21/10/2026

Nội dung

Bối cảnh thực tếPhân tích nguyên nhân theo chuẩn PMPLẽ ra PM nên làm gìPM Takeaway (Bài học rút ra)Nguồn tham khảoTrắc nghiệmBình chọn
Quảng cáoBộ đề thi thử PMP (mẫu)