Dọn dữ liệu nhạy cảm trên GitHub
Kỹ năng quét, xóa và kiểm chứng secret, tên miền nội bộ, PII trong toàn bộ lịch sử Git rồi push lại một cách an toàn.
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
Kỹ năng này làm gì
Hướng dẫn trọn quy trình loại bỏ dữ liệu nhạy cảm khỏi lịch sử Git: API key, token, tên miền/IP nội bộ, thông tin cá nhân.
scan_repo.py: chạy gitleaks kèm các mẫu regex tùy chỉnh, xuất báo cáo JSON- Rà soát ngữ nghĩa bằng AI (Layer 4): bắt những nội dung regex bỏ sót như tên thật, code name dự án, trích đoạn nội bộ
rewrite_history.py: tạo và kiểm tra bản sao lưugit bundletrước khi chạygit filter-repo --replace-textverify_cleanup.py: quét lại và tìm chuỗi gốc trong mọi commit để chắc chắn đã sạchsafe_push.py: kiểm tragh repo view(public/private, số fork), ưu tiên--force-with-lease, không cho phép--no-verify
Thiết kế theo hướng thận trọng: bất kỳ bước kiểm tra an toàn nào thất bại thì dừng lại và hỏi người dùng.
Phù hợp với ai
- Lập trình viên lỡ push secret hoặc thông tin nội bộ lên repo công khai
- Người cần dùng
git filter-repo/BFG nhưng e ngại rủi ro - Nhóm chuẩn bị mở mã nguồn (private → public) và muốn rà lịch sử trước
- Người phụ trách review bảo mật, phát hành open source
Ví dụ sử dụng
- "Quét xem repo này có lộ thông tin nhạy cảm không" → nhận báo cáo
/tmp/scan-report.jsonkèm phân loại mức rủi ro - Tên miền nội bộ nằm rải rác trong 3 năm commit → tạo file thay thế → backup bundle → viết lại lịch sử → kiểm chứng → push an toàn
- Ngay trước khi force push lên repo công khai → kiểm tra visibility và số fork, cảnh báo rủi ro và gợi ý cách thông báo cho chủ fork
· · · Hướng dẫn cài đặt · · ·
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 && 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.
- Tải repo:
git clone https://github.com/daymade/claude-code-skills.git /tmp/claude-code-skills - Tạo thư mục skills:
mkdir -p ~/.claude/skills - Sao chép kỹ năng:
cp -r /tmp/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 - Cài
uvnếu chưa có:curl -LsSf https://astral.sh/uv/install.sh | sh - Đăng nhập GitHub CLI:
gh auth login - Khởi động lại Claude Code và thử: "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 sao lưu đã được tạo và báo cho cả nhóm về các PR đang mở.
Xem mã nguồn trên GitHub ↗Giấy phép: MIT