2 điểm bởi zcxv8048 17 ngày trước | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Xin chào.
Mỗi lần giao dự án cho AI Agent lại phải tự tay xóa từng dữ liệu quan trọng thì quá bất tiện, nên tôi đã tự tạo ra một công cụ tự động có thể che giấu thông tin chỉ với một lệnh.
Trước khi chuyển một dự án hiện có cho AI agent, công cụ này giúp chặn trước việc các API key, thông tin xác thực, chứng chỉ... được hardcode trong mã nguồn bị rò rỉ ra bên ngoài.

  • Các chuỗi đáng ngờ được tìm bằng regex sẽ được kiểm tra lần hai thông qua phân tích cú pháp để xác minh xem chúng có thực sự nằm trong "string literal" của mã hay không.

  • Tự động biến đổi mã (Auto-fix), không chỉ đơn thuần là masking
    Công cụ sẽ tách các secret được hardcode ra file .env, đồng thời tự động thay thế mã nguồn theo từng ngôn ngữ bằng process.env.API_KEY, System.getenv(), @Value v.v.

  • Xử lý tệp phù hợp theo từng nền tảng:
    Không chỉ với mã nguồn đơn thuần, công cụ còn cố gắng tách chính xác secret trong các tệp build/cấu hình như Info.plist của iOS, build.gradle của Android, pubspec.yaml của Flutter, application.yml của Spring... thông qua parser tương ứng của từng loại.

Các tính năng chính là

Tách các secret như key, URL... được hardcode sang .env và tự động biến đổi mã

blinder blind   
  
- String apiKey = "sk_live_abc123..."      # Before  
+ String apiKey = BuildConfig.STRIPE_KEY   # After (có thể build)  
  

Tạo dự án chỉ đọc dành cho AI Agent

blinder mask  
  
- apiKey: "AIzaSy9xK2mP3rT..."       # Before  
+ apiKey: "__BLINDER_VAR__FIREBASE_API_KEY"  # After (không thể build)  

Có các chức năng như vậy.

Bạn có thể cài đặt toàn cục trong môi trường Node.js và dùng thử ngay.

Bash
npm install -g github:YellowC-137/Blinder

Hiện tại công cụ hỗ trợ các môi trường iOS, Android, Flutter, Node.js, React, Spring Boot và Ruby, và vẫn đang liên tục bổ sung thêm nền tảng.

Vì đây là một dự án mã nguồn mở ở giai đoạn đầu nên có thể vẫn còn nhiều thiếu sót.
Rất mong nhận được nhiều phản hồi, xin cảm ơn!

GitHub Repo: https://github.com/YellowC-137/Blinder

Chưa có bình luận nào.

Chưa có bình luận nào.