Chào anh em đồng đạo thợ code. Đang cắm mặt fix bug hay đang trốn sếp lướt web đấy? Tạm dừng tay một chút, hôm nay có một quả phốt toang hoác cắn thẳng vào cái IDE quốc dân mà chắc 99% anh em ở đây đang xài: VSCode. Dành cho ông nào hay có thói quen tay nhanh hơn não, lướt Discord click link dạo thì đọc ngay kẻo tối nay sếp gọi điện dựng đầu dậy chửi.
Chuyện quái quỷ gì đang diễn ra với cái VSCode?
Mới đây, pháp sư ẩn danh Ammar Askar vừa công bố một lỗ hổng chấn động trên blog cá nhân, và bài post này đang leo rank vù vù trên Hacker News với hơn 500 upvotes. Tóm tắt nhanh cho anh em lười đọc:
- Cơ chế 1-click ảo ma: Lỗ hổng này thuộc dạng 1-click exploit. Nghĩa là không cần anh em phải tải file, giải nén hay chạy script loằng ngoằng. Chỉ cần lỡ tay nhấp vào một cái link độc (ví dụ như
vscode://...), là xong phim.
- Mục tiêu: Cái token OAuth của GitHub mà anh em đã cấp quyền cho VSCode để tiện pull/push code.
- Hậu quả: Kẻ gian lấy được token này là coi như nó nắm thóp anh em. Tùy vào cái token đó có quyền gì (scope), nó có thể clone toàn bộ private repo của công ty, dòm ngó source code, hoặc thâm độc hơn là push thẳng mã độc vào codebase.
- Nhiều anh em có thói quen lôi code rác, tool lạ về test thử trên máy chủ hoặc local. Nhưng với con bug này, chỉ cần click link trên trình duyệt là VSCode tự động bị trigger và "dâng" token cho hacker.
Giang cư mận cõi mạng nói gì?
Vì không có raw comments từ Hacker News nên tôi đã dạo một vòng các động IT để hóng hớt, và anh em dev đang chia làm mấy phe rõ rệt thế này:
- Phe chửi thề & mất niềm tin: Đa số anh em đều ngã ngửa và chửi thề: "Đ*o hiểu sao một tập đoàn ngàn tỷ đô như Microsoft lại để lọt cái bug ngớ ngẩn thế này trong cái IDE top 1 thế giới". Sự tiện lợi đúng là kẻ thù của bảo mật.
- Phe tối cổ & rén: "Vừa check lại lịch sử click link sáng nay, toát mồ hôi hột các đạo hữu ạ. Tự nhiên nhớ lại chiều nay vừa click cái link ông nào gửi trong group chat...".
- Phái dị giáo (Vim/Neovim user): Mấy lão quái này thì được dịp gáy bẩn: "Đó là lý do tao dùng Vim trên terminal, đo có UI, đo có URI handler, chả sợ bố con thằng nào hack qua trình duyệt". Khá ma giáo nhưng phải công nhận là an toàn thật.
Tóm cái váy lại (Góc nhìn từ Coding4Food)
Anh em thấy đấy, tool xịn xò con bò đến đâu thì cũng có ngày thành gián điệp hai mang. Microsoft tạo ra tính năng cho phép trình duyệt gọi thẳng VSCode lên để mở repo cho tiện, nhưng vô tình mở luôn cánh cửa rước trộm vào nhà.
Bài học sinh tồn sau vụ này là gì?
- Bớt click link dạo, link lạ gửi qua Discord/Slack/Telegram. Thấy URI nào bắt đầu bằng
vscode:// thì tém tém lại, nhìn kỹ xem nó dẫn đi đâu.
- Xài token thì nhớ quy tắc "Least Privilege" (Quyền hạn tối thiểu). Đừng có lười biếng mà check full quyền (đặc biệt là quyền
repo và admin:org) cho cái token cá nhân (PAT - Personal Access Token). Hãy xài fine-grained PAT của GitHub, set quyền chặt chẽ từng repo một. Có biến xảy ra, anh em chỉ việc revoke cái token đó là quay xe an toàn.
- Update VSCode ngay và luôn nếu có bản patch. Đừng có bấm "Remind me later" nữa!
Chúc anh em giữ vững token và không bị sếp trảm.
Nguồn hóng hớt: