Chào các anh em dev 👋 Tôi là Zaim – một kỹ sư backend kiêm sinh viên, hiện đang "đào sâu" vào mảng bảo mật LLM (mô hình ngôn ngữ lớn). Vài tuần trước, tôi chỉ định "nghịch" mấy cái mẹo tìm kiếm trên GitHub (hay còn gọi là GitHub dorks) thôi. Mấy kiểu như: tìm file `.env`, hay tìm từ khóa "sk-" trong các file được push lên tuần trước. Đại loại là mấy trò "săn" thông tin công khai ấy mà. Nhưng có một điều tôi không hề lường trước được, đó là số lượng "chìa khóa API" (API keys) đang còn sống nhăn răng mà tôi tìm thấy! Kinh khủng khiếp luôn: nào là key của OpenAI (thậm chí có cái còn đang hoạt động ngon 💀), key của Claude / Anthropic, token API của Google Cloud, và cả những key test nội bộ của các tổ chức "bí mật" nào đó mà không hiểu sao lại "đi lạc" vào các kho code công khai. Có những cái key nằm chình ình ở đó cả tuần, cả tháng trời. Không bị thu hồi. Không có cảnh báo gì sất. Cứ thế mà... lộ thiên! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/shocked_dev.png' alt='Developer sốc khi phát hiện API key bị lộ'> Thế là tôi tự tay "chế" ra một công cụ. Vừa vì tò mò, vừa vì... quá hãi hùng, tôi đã viết một con crawler (bộ thu thập dữ liệu) và scanner (bộ quét). Giờ đây, nó liên tục theo dõi GitHub công khai theo thời gian thực, tự động gắn cờ những "chìa khóa" bị rò rỉ từ OpenAI, Claude / Anthropic, Gemini / Google và nhiều dịch vụ khác nữa. Dự án này tôi đặt tên là API Radar. API Radar là một bảng điều khiển công khai, hiển thị đủ thứ "hay ho": ✅ Các chìa khóa API bị rò rỉ theo thời gian thực (như phim hành động vậy đó!) ✅ Chế độ xem đã che (redacted) và cả "nguyên bản" (raw) để bạn tiện kiểm tra ✅ Bảng xếp hạng "bảo mật" (à, cái này là để xem ai làm lộ nhiều key nhất 😂, đùa thôi, nó là một dạng "leaderboard" về mức độ bảo mật) ✅ Bộ lọc theo nhà cung cấp dịch vụ ✅ Dòng thời gian "lộ hàng" (timeline of exposure) <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/api_radar_dashboard.png' alt='Giao diện API Radar'> Những gì tôi đã "mắt thấy tai nghe" cho đến nay: 📦 Hơn 9.200 kho code công khai đã được quét 🔑 Hơn 250 chìa khóa API bị lộ đã được tìm thấy (con số đáng báo động!) ⏱️ Chỉ 5 phút sau khi "lên sóng", cái leak đầu tiên đã bị phát hiện 🌍 Các key đến từ các dự án trên khắp Pakistan, Mỹ, EU và nhiều nơi khác trên thế giới. <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/world_map_leaks.png' alt='Bản đồ các khu vực có API key bị rò rỉ'> Có những trường hợp "trời ơi đất hỡi" hơn, khi mà người ta cứ thế đẩy nguyên file `.env` (chứa toàn key "sống") lên GitHub và để đó hàng ngày trời. Một số khác thì cố gắng "giấu" chúng vào mấy cái thư mục config ngẫu nhiên, nhưng bạn biết đấy, tính năng tìm kiếm của GitHub... thì "khó mà thoát được" lắm nha! <img src='https://truyentranh.letranglan.top/api/v1/proxy?url=https://i.imgur.com/github_search_hidden_files.png' alt='Minh họa file .env bị lộ trên GitHub'> **Tại sao điều này lại quan trọng?** Nếu bạn đang làm về bảo mật, LLM, hay các dự án mã nguồn mở, thì vấn đề này cực kỳ đáng quan tâm đó. Còn nếu bạn là sinh viên, một "thợ săn bug" (bug bounty hunter) hay đơn giản là người tò mò, thì đây chính là một "mỏ vàng" ít được chú ý để bạn học hỏi về "thói quen vệ sinh code" tệ hại ngoài đời thực nó trông như thế nào. Cá nhân tôi, điều này làm tôi phải suy nghĩ lại về việc bảo mật API key nó dễ bị "làm bẩn" đến mức nào – ngay cả với những đội ngũ lớn. Tôi không có ý định bán buôn gì ở đây đâu nhé. Tôi chỉ muốn hỏi các bạn một câu: Liệu công cụ này có hữu ích cho bạn trong các cuộc thi CTF, khi săn bug, hay trong các hoạt động red teaming không? Tôi nên theo dõi hoặc trực quan hóa thêm những gì nữa? Liệu tôi có nên mở scanner này thành một API công khai luôn không? Hãy cho tôi biết ý kiến của cộng đồng nhé 🙌