Dọn dữ liệu nhạy cảm trên GitHub
Kỹ năng hướng dẫn quét, xóa secret/domain nội bộ/PII khỏi toàn bộ lịch sử Git rồi push an toàn lên GitHub.
Bảo mật · ReviewNâng cao★ 1,323⑂ 212Điểm AI 9/10Cập nhật lần cuối: 8 thg 8, 2026
Làm được gì
- Quét toàn bộ lịch sử repo bằng
gitleakscộng các pattern tùy chỉnh và một bước rà soát ngữ nghĩa bằng AI (4 lớp) để tìm API key, token, domain/IP nội bộ, số điện thoại, PII. - Tạo bản sao lưu
git bundle(và xác minh bundle) trước khi viết lại lịch sử bằnggit-filter-repo --replace-text. - Kiểm tra lại sau khi viết lại: đảm bảo không còn chuỗi nhạy cảm nào trong bất kỳ commit.
- Dùng
gh repo viewđể xác nhận repo public/private và số fork, rồi push bằng--force-with-lease; tuyệt đối không dùng--no-verify. - Có hướng xử lý các tình huống đặc biệt: PR đang mở, repo có fork, lỗi "need a fresh clone", false positive của gitleaks.
Phù hợp với ai
- Lập trình viên vô tình commit API key hoặc thông tin hạ tầng nội bộ lên repo công khai.
- Nhóm chuẩn bị mở mã nguồn và muốn làm sạch lịch sử trước khi public.
- Maintainer buộc phải force push lên repo công khai và muốn tránh sai sót.
Ví dụ sử dụng
- "Quét xem repo của tôi có bị lộ secret không" → chạy scanner, tạo báo cáo JSON và phân loại từng phát hiện.
- "Tôi đã push token lên GitHub, hãy xóa khỏi history" → nhắc rotate token trước, sau đó tạo file thay thế, backup, rewrite, verify và push an toàn.
- "Domain nội bộ công ty còn nằm trong commit cũ" → dùng quy tắc
literal:để thay bằng domain ví dụ, đồng thời kiểm tra ảnh hưởng tới fork và PR.
· · · Hướng dẫn cài đặt · · ·
Dùng thử ngay, không cần cài
Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.
Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình: https://raw.githubusercontent.com/daymade/claude-code-skills/HEAD/github-sensitive-data-cleanup/SKILL.md Mình muốn: (viết việc bạn cần ở đây)
Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.
↓ Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục github-sensitive-data-cleanup từ repo GitHub daymade/claude-code-skills vào ~/.claude/skills/github-sensitive-data-cleanup/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/daymade/claude-code-skills.git /tmp/claude-code-skills && mkdir -p ~/.claude/skills && cp -r /tmp/claude-code-skills/github-sensitive-data-cleanup ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Mở terminal và clone repo:
git clone https://github.com/daymade/claude-code-skills.git - Tạo thư mục skills:
mkdir -p ~/.claude/skills - Copy kỹ năng:
cp -r claude-code-skills/github-sensitive-data-cleanup ~/.claude/skills/ - Cài công cụ bắt buộc (macOS):
brew install git-filter-repo gitleaks gh - Đăng nhập GitHub CLI:
gh auth login - Cài
uvđể chạy script:curl -LsSf https://astral.sh/uv/install.sh | sh - Mở lại Claude Code và yêu cầu ví dụ: "quét dữ liệu nhạy cảm trong repo này".
- ⚠️ Trước khi viết lại lịch sử, hãy chắc chắn bundle backup đã được tạo và xác minh thành công.
Xem mã nguồn trên GitHub ↗Giấy phép: MIT