Quá nhiều cảnh báo Dependabot? Hãy lần theo đường gọi tới hàm có lỗ hổng

Dev
Lượt xem 2

Cùng tên gói chưa chắc cùng mức ưu tiên. Một dịch vụ gọi hàm có lỗ hổng khi xử lý yêu cầu, dịch vụ khác chỉ cài gói mà không dùng hàm đó. Bản xem trước công khai về phân tích khả năng tiếp cận của Dependabot ngày 28/10/2026 làm rõ khác biệt này.

Từ gói đã cài đến đường gọi

Dependabot nhận diện phiên bản phụ thuộc có lỗ hổng. Phân tích mới tìm đường từ mã kho tới hàm bị ảnh hưởng. Workflow Actions do GitHub quản lý dùng CodeQL dựng đồ thị gọi và đối chiếu dữ liệu advisory đã được tuyển chọn.

Mã giả định của chúng tôi nối API đơn hàng qua hàm trợ giúp tới package.parseUnsafe. Lối vào khác chỉ dùng package.formatLabel nên không tới đích trong đồ thị. Đây không phải lỗ hổng thật hay kết quả của bộ phân tích GitHub, mà giải thích vì sao danh sách gói chưa đủ.

Ví dụ JavaScript giả định tự tạo: đơn hàng tới parseUnsafe, nhãn kết thúc ở formatLabel. Không phải lỗ hổng thật hay màn hình chính thức.
Ví dụ JavaScript giả định tự tạo: đơn hàng tới parseUnsafe, nhãn kết thúc ở formatLabel. Không phải lỗ hổng thật hay màn hình chính thức.

Bốn kết luận khác nhau

Reachable nghĩa là tìm thấy ít nhất một đường, không chứng minh tấn công thành công. Đầu vào bên ngoài và việc chạy trong môi trường thật vẫn quan trọng. Tối đa năm đường mẫu không phải danh sách đầy đủ.

Potentially reachable chưa loại trừ được lời gọi và nên được ưu tiên cùng Reachable. Unreachable là phân tích hoàn tất nhưng không tìm thấy đường; Reachability unavailable là không đưa ra được kết luận. Hai trạng thái sau không giống nhau. Không trạng thái nào tự đóng hay bỏ qua cảnh báo.

Sửa mã không cập nhật kết luận ngay

Bật tính năng sẽ bắt đầu lượt quét đầu. Sau đó quét mỗi 24 giờ khi còn cảnh báo mở. Push không kích hoạt quét ngay và bản xem trước không có quét theo yêu cầu.

Xóa lời gọi hôm nay có thể vẫn thấy Reachable cũ đến lượt quét sau. Thêm lời gọi có thể tạm giữ Unreachable cũ. Hình thứ hai là đầu ra Python thực khi duyệt đồ thị giả định. Với sửa lỗi thật, hãy đối chiếu thời gian quét hoàn tất và mã được phân tích.

Đầu ra Python thực của đồ thị giả định: so sánh có và không tìm thấy đường. Không đo kết luận GitHub hay khả năng khai thác.
Đầu ra Python thực của đồ thị giả định: so sánh có và không tìm thấy đường. Không đo kết luận GitHub hay khả năng khai thác.

Kho nào được hỗ trợ

Bản xem trước có trên GitHub Enterprise Cloud, gồm lưu trú dữ liệu. Cần JavaScript hoặc TypeScript, lockfile npm, Yarn hay pnpm và Dependabot alerts được bật. Không cần giấy phép GitHub Code Security. Quét miễn phí, không dùng phút Actions bị tính phí; runner tự lưu trữ chưa được hỗ trợ.

Tính năng mặc định tắt. Bật trong Settings > Advanced Security hoặc cấu hình bảo mật tùy chỉnh. Một số monorepo lớn có thể chạm giới hạn ba giờ hay tài nguyên. Mức nghiêm trọng, EPSS và mức phơi lộ trong môi trường thật vẫn cần xem cùng. Lợi ích là có bằng chứng tốt hơn để xếp thứ tự cảnh báo đang mở.

Nguồn và đọc thêm

GitHub Changelog · 2026-10-28

GitHub Docs · Reachability analysis