

Giới thiệu
JS Snitch là một extension mã nguồn mở giúp bạn theo dõi toàn bộ request được sinh ra bởi JavaScript trên trình duyệt – bao gồm fetch, XMLHttpRequest, và thậm chí cả WebSocket. Đây là công cụ nhỏ gọn nhưng cực kỳ mạnh khi bạn muốn kiểm tra rò rỉ dữ liệu, hành vi bất thường của web app, hoặc phân tích request cho mục đích pentest.
JS Snitch dùng để làm gì?
Công cụ này sinh ra để giải quyết một vấn đề quen thuộc: DevTools đôi khi không hiển thị đầy đủ request hoặc không bắt được các API bị override. JS Snitch bám thẳng vào các hàm JavaScript ở tầng mã nguồn, giúp:
- Quan sát request ở mức client-side thật sự.
- Xem từng payload được gửi đi.
- Phân tách request theo từng tab để dễ phân tích.
- Ghi log để kiểm tra lại hoặc lưu phục vụ pentest.
Cách thức hoạt động
JS Snitch hoạt động rất đơn giản nhưng hiệu quả:
- Inject content script vào trang để hook các API như
fetchvàXMLHttpRequest. - Mọi request bị intercept sẽ được chuyển về background script.
- Background script xử lý và gửi thông tin cho giao diện popup.
- Bạn mở popup để xem log theo thời gian thực.
Thành phần chính của dự án
- extension/ – phần chính của extension gồm code UI, background, content script.
- docs/ – chứa ảnh minh họa, hướng dẫn.
- manifest.json – file mô tả extension cho trình duyệt.
Cài đặt JS Snitch
Yêu cầu
- Chrome hoặc Firefox
- Bật chế độ Developer / Temporary Add-on
Cách cài nhanh
Chrome:
- Clone repo:
git clone https://github.com/vavkamil/js-snitch - Mở Chrome → Extensions → bật Developer Mode
- Load unpacked → chọn thư mục
extension/
Sau khi load xong, biểu tượng Snitch xuất hiện và bạn chỉ cần mở trang web cần phân tích rồi bật popup để xem request.
Tính năng nổi bật
1. Theo dõi request JavaScript chi tiết
- Ghi lại timestamp, URL, method, status code
- Xem payload gửi đi (body)
- Hữu ích để tìm API ẩn, endpoint bí mật
2. Hỗ trợ WebSocket
Xem từng frame được gửi/nhận – điều mà DevTools nhiều khi không hiển thị rõ.
3. Xuất log phục vụ phân tích
Bạn có thể export toàn bộ log ra JSON để phân tích ngoại tuyến hoặc đưa vào tool khác.
4. Nhẹ, đơn giản, không phụ thuộc hệ thống
Không cần build phức tạp, không yêu cầu backend.
Ưu và nhược điểm
Ưu điểm
- Theo dõi chính xác request client-side
- Nhẹ và dễ dùng
- Không chiếm nhiều tài nguyên
- Mã nguồn mở, dễ tùy chỉnh
Nhược điểm
- Không hook được request từ service worker
- Không giám sát được traffic cấp thấp
- Phụ thuộc sandbox của trình duyệt
Lưu ý bảo mật khi sử dụng
- Cẩn thận khi xuất log vì có thể chứa token hoặc dữ liệu nhạy cảm.
- Không nên bật khi đăng nhập các tài khoản quan trọng.
- Khi dùng pentest, hãy tuân thủ quy tắc scope để tránh log ngoài phạm vi.
Một vài cấu hình hữu ích
Lọc domain thủ công
{
"filter": {
"domain": "target.com",
"method": "POST"
}
}
Export log dạng JSON kèm entire body
{
"export": true,
"format": "json",
"include_body": true
}
Kết luận
JS Snitch là một công cụ nhỏ nhưng vô cùng hữu ích cho pentester, developer và chuyên gia bảo mật. Nếu bạn cần một cách đơn giản để xem ứng dụng web đang gửi gì ra ngoài, hoặc muốn theo dõi các request ẩn mà DevTools không bắt được, đây là công cụ nên có trong bộ toolkit.
Source link: JS Snitch






