3 điểm bởi flamehaven01 2025-12-05 | 2 bình luận | Chia sẻ qua WhatsApp

Xin chào. Khoảng ba tháng trước, tôi đã từng giới thiệu Dir2md lần đầu.
Sau đó, khi áp dụng vào nhiều dự án khác nhau, các giới hạn về cấu trúc đã bộc lộ rõ, vì vậy tôi đã tái cấu trúc toàn bộ thuật toán, bảo mật và pipeline đầu ra.


❔Dir2md là gì

Dir2md là công cụ chuyển đổi cấu trúc thư mục phức tạp thành ngữ cảnh Markdown·JSONL thân thiện với AI, có lấy mẫu thông minh, che giấu thông tin bảo mật và kiểm soát ngân sách token. Công cụ này tự động sắp xếp repository theo cách tối ưu cho AI-assisted development.


🔧 Đã thay đổi gì — kết quả của đợt tái cấu trúc toàn diện trong 3 tháng

1) Thiết kế lại engine tối ưu cho AI

  • Áp dụng lấy mẫu thông minh head/tail theo từng file
  • Tinh chỉnh logic phân bổ ngân sách token tự động
  • Cải tổ cấu trúc ưu tiên chọn file quan trọng
  • Xây dựng pipeline đầu ra đa dạng cho Markdown, JSON, JSONL, manifest

2) Bổ sung Spicy (trình phân tích bảo mật·rủi ro)

  • Tích hợp trình quét rủi ro nội bộ được bật mặc định khi chạy
  • Áp dụng hệ thống 5 mức độ nghiêm trọng từ ok đến critical
  • Tính toán điểm rủi ro 0~100 cho từng repository
  • Xuất Actionable Risk Table gồm file/dòng/danh mục/hướng dẫn xử lý

3) Tăng cường engine che giấu thông tin bảo mật

  • Che giấu tự động các mẫu quan trọng như API key, JWT, OAuth, DB URL, PEM
  • Bổ sung regex tùy chỉnh của người dùngchức năng nạp file pattern

4) Áp dụng khử trùng lặp dựa trên SimHash

  • Loại bỏ file tương tự và build artifact
  • Giảm tối đa lãng phí token trùng lặp trong ngữ cảnh đầu vào cho LLM

5) Mở rộng hệ thống Preset

  • Cung cấp bốn chế độ raw, pro, ai, fast
  • Chế độ ai bao gồm ngân sách 6000 token + xếp hạng file dựa trên truy vấn

🌶️ Spicy là gì?

Nói ngắn gọn, Spicy là “một reviewer tự động giống như senior developer có con mắt cực kỳ khắt khe và không bao giờ dễ dãi với bảo mật”.

Dir2md không chỉ là công cụ “tài liệu hóa thư mục”, mà còn thực hiện luôn cả việc kiểm tra bảo mật và chất lượng vốn rất cần thiết trước khi đưa repository vào AI.

1) Phát hiện thông tin nhạy cảm

  • Phát hiện các mẫu có thể dẫn đến sự cố thực tế như API Key, OAuth Client Secret, JWT, DB URL, khóa PEM

2) Phân tích mã hóa yếu·cách dùng bảo mật dễ tổn thương

  • Phát hiện code có vấn đề bảo mật như thuật toán yếu, xử lý khóa không an toàn

3) Chẩn đoán khả năng injection

  • Phát hiện các mẫu tương tự SQL/Command/Code Injection

4) Rò rỉ dữ liệu qua log·debug

  • Phát hiện code/cấu hình in ra thông tin nhạy cảm

5) Vấn đề kiểm soát truy cập

  • Phân tích các mẫu có lỗ hổng liên quan đến xác thực·phân quyền
  • Đồng thời phát hiện cả các tín hiệu rủi ro trong cấu hình được nhắc tới ở README

📊 Kết quả đo đạc thực tế trên 9 repository production nội bộ

Sau khi thiết kế lại Dir2md + Spicy, các số liệu thực tế được đo đến ngày hôm qua như sau:

  • Trung bình phát hiện 2,4 mục thông tin nhạy cảm mức high·critical trên mỗi repository
    • API key, PEM private key, DB URL, bearer token, v.v.
  • Kích thước ngữ cảnh giảm trung bình 68%
    • 128k → ~41k tokens (vẫn giữ lại toàn bộ file có ý nghĩa)
  • Thời gian review bảo mật: từ 3,5 giờ trước đây → 11 giây
  • Số vụ rò rỉ bí mật qua prompt LLM sau khi áp dụng: 0

Kết quả này là hiệu năng trong môi trường vận hành thực tế khi lấy mẫu thông minh · khử trùng lặp SimHash · phân tích rủi ro Spicy · engine masking được kết hợp với nhau.


⭐ Nếu dự án này hữu ích với bạn

Dir2md + Spicy là mã nguồn mở.
Phần lớn các tính năng bạn đang thấy hiện nay có thể phát triển được là nhờ phản hồi từ người dùng và các lượt star (⭐). Xin cảm ơn một lần nữa.

  • 👉 Một GitHub Star sẽ là nguồn động viên rất lớn!
  • 👉 Luôn hoan nghênh mọi báo lỗi và đề xuất ý tưởng.

2 bình luận

 
flamehaven01 2025-12-19

📌 Tóm tắt các cập nhật chính từ sau dir2md v1.1.2

  • v1.2.1 (bản vá bảo mật/độ tin cậy)

    • Sửa lỗ hổng injection Markdown ``` → tự động escape fence
    • Loại bỏ subprocess của công cụ bên ngoài (vulture) → chặn vector RCE
    • Loại bỏ silent exception, tăng cường log cảnh báo
    • Đơn giản hóa xử lý glob (tuân thủ quy tắc gitignore)
    • Tách exclude mặc định thành defaults.json + áp dụng hệ thống ưu tiên
  • v1.2.0 (tự động tối ưu hóa thông minh)

    • Pipeline giảm 60~70% token hoạt động không cần cấu hình

      • Nén Gravitas (thay thế symbol)
      • Semantic sampling dựa trên Python AST
    • Khi dùng --query, tự động sửa lỗi gõ sai + mở rộng tìm kiếm

    • Thiết kế xoay quanh preset nên giảm mạnh số lượng cờ (raw/fast/pro/ai)

    • Triển khai mà không phụ thuộc vào NLP/LLM bên ngoài

  • v1.1.3

    • Phát hiện phantom code: tự động nhận diện công cụ phân tích dead code trên PATH

👉 Tóm lại, từ 1.2.x trở đi là các bản phát hành tập trung vào “giảm cấu hình, tăng bảo mật, tính quyết định và độ thân thiện với AI”.
(giữ tương thích ngược, không có thay đổi breaking ở CLI)

Nguồn: CHANGELOG

 
flamehaven01 2025-12-09

🚂 Phát hành dir2md 1.1.2!
Bản cập nhật lần này nhìn bề ngoài có thể nhỏ, nhưng chỉ tập hợp những thay đổi tác động trực tiếp đến độ ổn định khi sử dụng thực tế.

🛡 Security

🔸Tiền biên dịch regex mặc định/nâng cao cho masking → giảm rủi ro ReDoS
🔸Các tệp lớn hơn 1MB sẽ bị bỏ qua trước khi đọc và chỉ để lại bản ghi trong manifest

⚙️ Performance
🔸Áp dụng bộ nhớ đệm LRU (2048) cho ước lượng token → cải thiện tốc độ trên repo lớn
🔸Ngay cả chuỗi rỗng cũng được tính là tối thiểu 1 token → loại bỏ sự mơ hồ của “0 token”

🧩 UX / Behavior
🔸Các tệp bị bỏ qua sẽ để lại hash/tóm tắt placeholder để tăng tính minh bạch
🔸Mẫu masking tùy chỉnh sẽ bị cảnh báo rồi bỏ qua nếu biên dịch thất bại (ngăn lỗi im lặng)

✅ Tests
🔸22 passed, 2 skipped

Dù là một bản phát hành nhỏ, chúng tôi vẫn chạy toàn bộ test.

Mục tiêu của phiên bản này chỉ có một:
“Có thể chạy hằng ngày trong CI và trên code production thực tế hay không?”
Chúng tôi đã tiến thêm một bước đến điều đó.

https://github.com/flamehaven01/Dir2md/releases/tag/v1.1.2