0
0
Lập trình
Hưng Nguyễn Xuân 1
Hưng Nguyễn Xuân 1xuanhungptithcm

TheAuditor: Công Cụ Kiểm Tra Bảo Mật Mã Nguồn AI

Đăng vào 5 tháng trước

• 4 phút đọc

Chủ đề:

KungFuTech

Giới thiệu

Gần đây, công cụ kiểm tra bảo mật mã nguồn của tôi, TheAuditor, đã thu hút sự chú ý trên HackerNews. Tôi rất vui khi được chia sẻ với cộng đồng dev.to về công cụ này, nơi mà các bạn luôn đánh giá cao những phân tích kỹ thuật sâu sắc.

Vấn Đề Tôi Đã Giải Quyết

Sau 3 tháng sử dụng các trợ lý AI để viết mã (tôi không phải là lập trình viên chuyên nghiệp), tôi nhận thấy một mẫu số chung: AI viết mã mà "hoạt động" nhưng lại chứa đầy lỗ hổng bảo mật và sự không nhất quán. Tại sao lại như vậy? Bởi vì AI không thể nhìn thấy toàn bộ mã nguồn cùng một lúc, do đó, nó đưa ra các quyết định bảo mật khác nhau ở các tệp khác nhau.

Tác Động Thực Tế

Người dùng đầu tiên bên ngoài của tôi vừa chạy TheAuditor trên trang web cá cược sản xuất của họ. Kết quả là:

  • 204 lỗ hổng SQL injection (tất cả đều xuất phát từ AI sử dụng f-strings)
  • 185 vấn đề bảo mật nghiêm trọng tổng cộng
  • Tất cả đều từ việc làm theo các gợi ý của AI mà không có kiểm tra thích hợp

Cách Hoạt Động

Thay vì cố gắng làm cho AI "thông minh hơn", TheAuditor chấp nhận rằng AI sẽ viết mã có lỗi và cung cấp sự thật về những lỗi đó:

  1. Chỉ mục toàn bộ mã nguồn vào cơ sở dữ liệu SQLite
  2. Chạy 14 giai đoạn phân tích bao gồm phân tích ô nhiễm, phát hiện mẫu và tương quan
  3. Xuất ra các đoạn mã có thể đọc được bởi AI (tối đa 56KB) phù hợp với các cửa sổ ngữ cảnh LLM
  4. Báo cáo sự thật, không phải ý kiến - "Dòng 47 có bí mật JWT cứng" chứ không phải "điều này có thể không tốt"

Kiến Trúc

  • Thiết kế môi trường kép: TheAuditor và môi trường phân tích được cách ly
  • Hỗ trợ ngôn ngữ: Python và JavaScript/TypeScript (các ngôn ngữ khác sẽ sớm được bổ sung)
  • Hơn 100 mẫu bảo mật từ OWASP Top 10
  • Phân tích dòng ô nhiễm: Theo dõi dữ liệu từ nguồn (đầu vào của người dùng) đến đích (cơ sở dữ liệu/đáp ứng)
  • Phát hiện framework: Áp dụng các quy tắc cụ thể cho Django/Flask/React/Vue

Đổi Mới Chính

Công cụ này xuất ra các phát hiện ở định dạng .pf/readthis/ dưới dạng các đoạn JSON được định dạng đặc biệt cho việc tiêu thụ bởi LLM. Điều này có nghĩa là các trợ lý AI có thể đọc toàn bộ kiểm tra bảo mật và tự sửa chữa sai sót của chính họ - tạo ra một vòng lặp tự sửa chữa.

Hướng Dẫn Sử Dụng

bash Copy
pip install -e git+https://github.com/TheAuditorTool/Auditor.git#egg=theauditor
cd your-project
aud init
aud full

Kiểm tra .pf/readthis/ để xem báo cáo bảo mật có thể đọc được bởi AI.

Thảo Luận trên HackerNews

Hiện tại, bài viết của tôi đang ở trang chính nếu bạn muốn tham gia thảo luận:
Thảo Luận trên HackerNews

Tôi rất muốn nghe về các vấn đề bảo mật mà bạn đang thấy trong mã nguồn do AI tạo ra. Những mẫu nào tôi nên thêm vào động cơ phát hiện?

Thực Tiễn Tốt Nhất

  • Luôn kiểm tra mã nguồn trước khi triển khai, đặc biệt là mã do AI tạo ra.
  • Sử dụng các công cụ kiểm tra bảo mật như TheAuditor để phát hiện lỗ hổng sớm.
  • Thảo luận với đồng nghiệp về các vấn đề bảo mật, vì một cái nhìn bên ngoài có thể mang lại nhiều góc nhìn mới.

Cạm Bẫy Thường Gặp

  • Tin tưởng hoàn toàn vào mã do AI tạo ra mà không thực hiện kiểm tra.
  • Bỏ qua các cảnh báo từ các công cụ kiểm tra an ninh.

Mẹo Tối Ưu Hiệu Suất

  • Cải thiện hiệu suất mã nguồn bằng cách tối ưu hóa các truy vấn cơ sở dữ liệu.
  • Sử dụng caching để giảm tải cho máy chủ.

Giải Quyết Vấn Đề

Nếu bạn gặp phải sự cố khi sử dụng TheAuditor, hãy kiểm tra các bước sau:

  1. Đảm bảo rằng bạn đã cài đặt tất cả các phụ thuộc cần thiết.
  2. Kiểm tra đường dẫn đến mã nguồn của bạn và xác nhận rằng nó chính xác.
  3. Đọc kỹ báo cáo lỗi để xác định nguyên nhân.

Câu Hỏi Thường Gặp (FAQ)

1. TheAuditor có hỗ trợ ngôn ngữ nào?

  • Hiện tại, TheAuditor hỗ trợ Python và JavaScript/TypeScript, các ngôn ngữ khác sẽ được bổ sung trong tương lai.

2. Tôi có thể sử dụng TheAuditor trên dự án của mình không?

  • Có, bạn có thể cài đặt và sử dụng TheAuditor cho các dự án của riêng bạn.

3. TheAuditor có miễn phí không?

  • Có, TheAuditor là mã nguồn mở và hoàn toàn miễn phí để sử dụng.

Kết Luận

TheAuditor là một công cụ quan trọng giúp phát hiện các lỗ hổng bảo mật trong mã nguồn do AI tạo ra. Hãy thử nghiệm và áp dụng TheAuditor trong dự án của bạn để bảo vệ mã nguồn khỏi các mối nguy hiểm. Đừng ngần ngại tham gia thảo luận và chia sẻ kinh nghiệm của bạn!

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

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

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