OpenQodex – Review code trước khi push
Chỉ một lệnh để quét bảo mật, secret, dependency và lint trên phần code vừa thay đổi, rồi cho một reviewer AI độc lập kiểm tra lại trước khi bạn `git push`.
Bảo mật · ReviewTrung cấp★ 244⑂ 11Điểm AI 9/10Cập nhật lần cuối: 7 thg 10, 2026
Giúp được gì
npx openqodex reviewgom toàn bộ thay đổi hiện tại (commit chưa push + thay đổi chưa commit + file untracked) thành một bản sao đóng băng để review.- Tự chọn và chạy các scanner tất định phù hợp với loại file đã đổi: gitleaks, semgrep, bandit, hadolint, shellcheck, actionlint, osv-scanner… và chỉ giữ phát hiện nằm trên các dòng đã thay đổi.
- Khởi chạy một tiến trình reviewer riêng (Claude Code hoặc Codex) không có ký ức về phiên hiện tại; reviewer kiểm tra từng phát hiện của scanner, đọc mọi dòng thay đổi và trả lời theo định dạng cố định, sau đó script xác thực lại câu trả lời.
- Xuất báo cáo
report.md,report.json,report.sariftrong.openqodex/reviews/, kèm verdictpassed/blockedvà exit code 0/1/2 để agent biết có được push hay không. - Review được cả branch khác, số PR (
#42) hoặc link PR: code đó được checkout vào thư mục tạm và tuyệt đối không được chạy test/build hay sửa đổi.
Phù hợp với ai
- Lập trình viên muốn chặn secret và lỗi bảo mật rõ ràng ngay trên máy, trước khi đẩy lên remote.
- Nhóm nhỏ hoặc dev solo không có người review code thường xuyên.
- Team muốn phát hiện lỗi trước CI để tiết kiệm thời gian pipeline.
- Kỹ sư bảo mật/platform cần báo cáo SARIF để tích hợp vào hệ thống sẵn có.
Ví dụ sử dụng
- Trước khi push: nói "review thay đổi trước khi push" — agent chạy
npx -y openqodex@0.8.1 review, nếu exit code là 1 (blocked) thì dừng push và hiển thị nguyên văn báo cáo. - Review pull request của đồng nghiệp:
npx -y openqodex@0.8.1 review '#42'(nhớ đặt trong dấu nháy vì#là comment trong shell). - Môi trường sandbox/offline: nếu thấy "Full review unavailable", chạy
npx -y openqodex@0.8.1 doctor --installtrong terminal cá nhân để tải sẵn scanner, hoặc dùng--offlineđể bỏ qua semgrep và osv-scanner.
· · · 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/openqodex/openqodex/HEAD/plugins/claude-code/skills/openqodex/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 plugins/claude-code/skills/openqodex từ repo GitHub openqodex/openqodex vào ~/.claude/skills/openqodex/ 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/openqodex/openqodex.git /tmp/openqodex && mkdir -p ~/.claude/skills && cp -r /tmp/openqodex/plugins/claude-code/skills/openqodex ~/.claude/skills/openqodex⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Kiểm tra đã có Node.js (khuyến nghị 18+) và git: chạy
node -vvàgit --version. - Đảm bảo bạn đã đăng nhập Claude Code hoặc Codex — skill dùng chính phiên đăng nhập đó, không cần API key riêng.
- Clone repo skill:
git clone https://github.com/openqodex/openqodex.git /tmp/openqodex - Copy skill vào thư mục skill của Claude Code:
mkdir -p ~/.claude/skills && cp -r /tmp/openqodex/plugins/claude-code/skills/openqodex ~/.claude/skills/openqodex - (Nên làm) Tải trước toàn bộ scanner:
npx -y openqodex@0.8.1 doctor --install - Khởi động lại Claude Code, mở một repo git và thử: "review các thay đổi của tôi trước khi push".
- Muốn chặn push theo mức độ nghiêm trọng, tạo
.openqodex/config.yamlvớiblock_on_severityvà commit cho cả team; không có config thì công cụ chỉ cảnh báo.
Xem mã nguồn trên GitHub ↗Giấy phép: Apache-2.0