Phát Hiện Lộ API Key Trong Dự Án: Hướng Dẫn Bảo Mật Và Giới Thiệu TruffleHog Chrome Extension
Bài viết hướng dẫn cách phát hiện API key bị lộ trong dự án, phân tích nguyên nhân lộ API key, cách bảo mật đúng chuẩn và giới thiệu TruffleHog Chrome Extension giúp quét và cảnh báo secrets trên website.

1. Giới thiệu: Vì sao lộ API Key là rủi ro lớn trong lập trình?
Trong quá trình phát triển web, việc vô tình để lộ API key, token hoặc secrets là lỗi cực kỳ phổ biến, đặc biệt với các lập trình viên mới hoặc làm việc theo kiểu “vibe coder”. Chỉ cần một key bị public trên GitHub, trong file JavaScript hoặc bị nhúng vào frontend — dự án của bạn có thể gặp rủi ro nghiêm trọng:
Bị chiếm quyền truy cập dịch vụ
Bị tiêu hao tài nguyên (spam API, dùng hết quota)
Bị tấn công hoặc lấy dữ liệu trái phép
Làm mất uy tín hoặc mất an toàn thông tin dự án
Vì vậy, bảo mật API key là yêu cầu bắt buộc trong bất kỳ dự án nào.
2. Nguyên nhân phổ biến khiến API Key bị lộ
Nhiều dự án để lộ API key bởi các lý do quen thuộc:
2.1. Hard-code API key trực tiếp vào source code
Đặc biệt là file .js, .ts, .html, hoặc config frontend.
2.2. Commit nhầm file .env lên GitHub
Một sai lầm kinh điển của lập trình viên mới.
2.3. Không cấu hình .gitignore
Dẫn đến việc commit luôn file chứa secrets.
2.4. Sử dụng key thật để debug và quên xoá
Rất nhiều dev “test tạm” nhưng không reset lại key sau khi thử nghiệm.
2.5. Không dùng công cụ quét secrets trước khi deploy
Thiếu quy trình bảo mật và kiểm tra tự động.
3. Tại sao cần công cụ kiểm tra lộ API key?
Dù bạn có cẩn thận đến đâu, việc vô tình để key lọt vào file frontend, vào DevTools, vào log, hoặc bị push lên repo vẫn có thể xảy ra.
Các công cụ quét tự động như TruffleHog giúp bạn:
Phát hiện nhanh secrets bị rò rỉ
Cảnh báo ngay khi có API key trong web hoặc file JavaScript
Giảm thiểu rủi ro bị khai thác
Tăng tính bảo mật cho dự án cá nhân hoặc doanh nghiệp
4. Giới thiệu TruffleHog Chrome Extension
TruffleHog Chrome Extension là tiện ích mở rộng trình duyệt giúp quét và phát hiện API keys, tokens hay secrets bị lộ ngay trên các trang web bạn đang truy cập.
👉 Link GitHub (của bạn): https://github.com/ptn1411/Trufflehog-Chrome-Extension
4.1. Tính năng nổi bật
Quét mã nguồn trang web (HTML, JS, inline scripts)
Tự động nhận diện patterns của API key
Hiển thị cảnh báo trực tiếp trên trình duyệt
Hoạt động nhẹ, không ảnh hưởng tốc độ trình duyệt
Phù hợp cho frontend dev, pentester, bảo mật web
4.2. Những trường hợp nên dùng
Kiểm tra web của chính bạn trước khi deploy
Kiểm tra web của khách hàng để audit bảo mật
Quét thử API keys của các thư viện frontend
Tìm lộ secrets trên demo, staging, hoặc dev site
5. Hướng dẫn cài đặt TruffleHog Chrome Extension
Bước 1: Clone hoặc tải mã nguồn từ GitHub
git clone https://github.com/ptn1411/Trufflehog-Chrome-Extension
Bước 2: Mở Chrome → Extensions
Nhập vào thanh địa chỉ:
chrome://extensions/
Bước 3: Bật Developer Mode
Góc phải màn hình → gạt nút “Developer mode”.
Bước 4: Chọn Load unpacked
Sau đó chọn thư mục extension vừa clone.
Bước 5: Mở bất kỳ website nào
Extension sẽ tự quét và hiển thị cảnh báo nếu phát hiện API key bị lộ.
6. Cách bảo mật để tránh lộ API Key trong dự án
✔ Không bao giờ hard-code key vào frontend
API key tuyệt đối không nằm trong file JS.
✔ Luôn dùng biến môi trường (ENV)
Tách secret ra khỏi source code.
✔ Cấu hình .gitignore đúng chuẩn
Ẩn các file chứa thông tin nhạy cảm.
✔ Dùng key riêng cho môi trường dev
Không dùng chung key cho dev/test/production.
✔ Rotate (thay đổi) key ngay khi phát hiện lộ
Không bao giờ “để tạm để mai sửa”.
✔ Sử dụng tool scan (như TruffleHog)
Quét thủ công hoặc tự động khi commit/push.
7. Kết luận
Bảo mật API key là yếu tố sống còn đối với mọi dự án hiện nay. Chỉ một sai sót nhỏ cũng có thể khiến dữ liệu, tài khoản hoặc hệ thống của bạn gặp nguy hiểm. Việc sử dụng các công cụ hỗ trợ như TruffleHog Chrome Extension giúp phát hiện sớm và tránh rủi ro trước khi quá muộn.

