gitleaks

Công cụ dòng lệnh quét repo git, thư mục hoặc dữ liệu đưa vào stdin để tìm mật khẩu, API key và token bị lộ, chạy được như hook pre-commit để chặn commit có key.

CLINhómBảo mậtgitleaks/gitleaks · ★ 30,5K · đọc 29/10/2026Đã đọc mã và tổng hợp ·

Ưu, nhược và chỗ chưa rõ

gitleaks: ưu, nhược và chỗ chưa rõ, mỗi dòng kèm nguồn
ƯuREADME ghi gitleaks quét được cả lịch sử git, một thư mục, hoặc dữ liệu đưa vào stdin, và chạy như hook pre-commit: commit có key sẽ báo Failed và không vào được lịch sử git.README, Pre-Commit
ƯuBài so sánh của AppSec Santa (cập nhật 18/04/2026) ghi gitleaks nhanh và đơn giản, thường trả kết quả dưới một giây trên repo cỡ thường, hợp làm hook pre-commit.AppSec Santa, Gitleaks vs TruffleHog
ƯuMã ở commit mình đọc không gửi dữ liệu ra ngoài: gói net/http chỉ dùng cho chế độ chẩn đoán tùy chọn chạy ở localhost:6060.cmd/diagnostics.go
NhượcREADME ghi gitleaks đã đủ tính năng, từ nay chỉ ra bản vá bảo mật. Tác giả chuyển sang làm Betterleaks và nói trên Hacker News (03/2026) là sẽ không thêm tính năng mới cho gitleaks. Bản phát hành gần nhất là v8.30.1 ngày 21/03/2026.Hacker News, tác giả, 2026-03-12
NhượcGitleaks chỉ so mẫu regex và độ ngẫu nhiên, không thử key còn sống hay không, nên báo nhầm nhiều hơn công cụ có bước kiểm key như TruffleHog; bạn phải chỉnh allowlist dần theo thời gian.AppSec Santa, Gitleaks vs TruffleHog
NhượcBộ luật có chỗ thiếu: một issue mở từ 03/2021 báo gitleaks bỏ sót khá nhiều loại key Azure, tới 29/10/2026 vẫn chưa đóng.Issue #539
Chưa rõTác giả chỉ hướng dẫn dùng gitleaks như hook pre-commit và trong CI, không có hướng dẫn gắn vào hook của Claude Code hay Codex. Ví dụ pre-commit trong README còn ghim bản cũ v8.24.2 và gợi ý chạy pre-commit autoupdate; trang này ghim v8.30.1 và bỏ bước tự cập nhật.README, Pre-Commit
Chưa rõTác giả nói Betterleaks thay thế được gitleaks chỉ bằng alias gitleaks='betterleaks'. Mình chưa đọc mã Betterleaks nên chưa xác nhận điều này.Hacker News, tác giả, 2026-03-12

Khi nên dùng

  • Bạn muốn chặn API key lọt vào commit trước khi đẩy lên GitHub, nhất là khi agent tự commit, bằng một hook pre-commit chạy dưới một giây và không gửi gì ra ngoài.

Khi không nên dùng

  • Bạn cần biết key bị lộ còn dùng được hay không (gitleaks không thử key), hoặc bạn cần luật mới cho dịch vụ mới ra: gitleaks không còn thêm tính năng.

Cách cài

Terminal (macOS)
brew install gitleaks
Theo tài liệu của tác giả
Terminal (Docker)
docker pull ghcr.io/gitleaks/gitleaks:v8.30.1
Theo tài liệu của tác giả
pre-commit (file .pre-commit-config.yaml)
repos:
  - repo: https://github.com/gitleaks/gitleaks
    rev: v8.30.1
    hooks:
      - id: gitleaks
Theo tài liệu của tác giả

Nó chạm vào những gì

File đọc và ghi
Đọc file trong thư mục hoặc lịch sử git bạn chỉ định. Chỉ ghi file báo cáo khi bạn truyền --report-path. Đọc cấu hình .gitleaks.toml và .gitleaksignore nếu có.
Gọi mạng
Không gọi ra internet. Chế độ chẩn đoán --diagnostics=http (tùy chọn, mặc định tắt) mở một server pprof tại localhost:6060.
Script lúc cài
Không có script chạy lúc cài. Hook pre-commit gọi: gitleaks git --pre-commit --redact --staged --verbose (che giá trị key trong log).
Tiến trình
Chạy lệnh git (git log -p, git diff) để đọc lịch sử và phần đã stage.

Đọc từ: diagnostics.go#L142, git.go#L91, .pre-commit-hooks.yaml, root.go#L77

Mục này chạy mã trên máy bạn với quyền của tài khoản bạn. Theo tài liệu Claude Code, hook và MCP server chạy ngoài sandbox. Đọc phần trên và file của tác giả trước khi cài. Tài liệu bảo mật plugin

Bảo mật

Cả nhóm →

Bộ 46 plugin của công ty bảo mật Trail of Bits để agent đọc code tìm lỗ hổng, viết luật Semgrep và CodeQL, soát dependency và review thay đổi trước khi merge.

của Trail of Bits · Creative Commons Attribution-ShareAlike 4.0 International (CC-BY-SA-4.0)trailofbits/skills · ★ 7,9K · đọc 29/10/2026

Bảo mậtĐã đọc mã và tổng hợp ·