2 điểm bởi GN⁺ 3 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • OpenAI đã mã nguồn mở CLI và các công cụ liên quan của Codex Security để có thể dùng trong môi trường phát triển cục bộ và CI
  • Công cụ này phân tích các kho lưu trữ mà nó được cấp quyền, phát hiện lỗ hổng bảo mật và xác minh khả năng khai thác thực tế, đồng thời đưa ra mã liên quan và căn cứ đi kèm
  • Có thể chọn kiểm tra toàn bộ kho lưu trữ, hoặc chỉ một đường dẫn cụ thể, phần thay đổi giữa các commit, hay phần công việc chưa commit
  • Hỗ trợ chế độ deep để xem xét phạm vi rộng hơn so với kiểm tra thông thường, cùng cơ sở tri thức phản ánh kiến trúc, mô hình đe doạ và chính sách bảo mật của dự án
  • Cung cấp có cấu trúc mức độ nghiêm trọng/độ tin cậy/bằng chứng/cách khắc phục của các phát hiện, đồng thời có thể so sánh lịch sử kiểm tra hoặc kết nối với chính sách CI

Phát hiện và xác minh lỗ hổng

  • Không chỉ dừng ở việc liệt kê các mẫu mã đáng ngờ, công cụ còn phân tích luồng mã và ngữ cảnh xung quanh để xác minh liệu đó có phải vấn đề bảo mật thực sự hay không
  • Với mỗi phát hiện, công cụ cung cấp các thông tin sau
    • Loại lỗ hổng và mức độ nghiêm trọng
    • Độ tin cậy của nhận định
    • Tệp bị ảnh hưởng và vị trí mã
    • Căn cứ để kết luận là lỗ hổng
    • Đường đi có thể bị tấn công hoặc khai thác
    • Cách khắc phục được khuyến nghị

Chọn phạm vi kiểm tra

  • Có thể giới hạn phạm vi phân tích tuỳ theo mục đích công việc
    • Kiểm tra toàn bộ kho lưu trữ
    • Chỉ kiểm tra một thư mục hoặc package cụ thể
    • Kiểm tra phần thay đổi giữa commit gốc và commit hiện tại
    • Kiểm tra các thay đổi cục bộ đã được stage hoặc chưa commit
  • Có thể chỉ kiểm tra mã mới thêm hoặc đã sửa đổi, nên hữu ích cho code review và kiểm tra trước khi triển khai

Chế độ deep

  • Sử dụng nhiều thời gian và công việc phân tích hơn so với kiểm tra thông thường để rà soát kho lưu trữ trên phạm vi rộng
  • Được dùng để phân tích các lỗ hổng phức tạp cần theo dõi quan hệ giữa nhiều tệp và thành phần, hoặc các vấn đề khó phát hiện bằng cách kiểm tra mẫu bề mặt
  • Có thể áp dụng không chỉ cho toàn bộ kho lưu trữ mà cả các đường dẫn được chỉ định

Phản ánh tri thức của dự án

  • Không phân tích mã như một thực thể tách biệt, mà có thể phản ánh ngữ cảnh được cung cấp từ dự án vào quá trình kiểm tra
  • Đánh giá các rủi ro đặc thù của dự án dựa trên tài liệu kiến trúc, mô hình đe doạ, chính sách bảo mật, quy tắc nội bộ...
  • Ngay cả những đoạn mã trông có vẻ bình thường theo các quy tắc bảo mật chung nhưng vi phạm nguyên tắc thiết kế của hệ thống đó cũng có thể được đưa vào diện kiểm tra

Báo cáo kết quả và mức độ hoàn chỉnh của kiểm tra

  • Không chỉ ghi lại các lỗ hổng được phát hiện mà còn lưu lại những khu vực nào thực sự đã được kiểm tra
  • Báo cáo có thể bao gồm các trạng thái kiểm tra sau
    • Phạm vi đã phân tích
    • Các khu vực bị loại khỏi kiểm tra
    • Các tác vụ chưa hoàn tất và đang tạm hoãn
    • Các câu hỏi cần xác minh thêm
  • Nhờ đó, có thể xác nhận không chỉ danh sách kết quả mà còn biết kho lưu trữ đã được rà soát đến mức nào

Kiểm tra bảo mật liên tục

  • Có thể mở lại kết quả kiểm tra trước đó hoặc chạy lại cùng một lần kiểm tra để theo dõi sự thay đổi của các phát hiện
  • Có thể so sánh kết quả trước và sau khi mã thay đổi để xác định lỗ hổng có mới phát sinh hay đã được khắc phục
  • Có thể kết nối với kiểm tra trước khi commit, code review, kiểm tra hàng loạt nhiều kho lưu trữ, hoặc kiểm tra chính sách bảo mật trong pipeline CI

1 bình luận

 
Ý kiến trên Hacker News
  • Tôi là Michael, đồng sáng lập Promptfoo và đang phát triển Codex Security CLI tại OpenAI. Cảm ơn vì đã báo vấn đề xác thực; vì công cụ này vừa được công bố dưới dạng mã nguồn mở, còn rất nhiều điểm cần cải thiện và sản phẩm sẽ phát triển nhanh chóng
    Rất mong mọi người dùng thử và cho biết phần nào hoạt động tốt cũng như các điểm cần cải thiện; tôi cũng sẽ trả lời các câu hỏi
    Tài liệu CLI: https://learn.chatgpt.com/docs/security/cli
    Chúng tôi cũng đang tuyển người tham gia phát triển: https://openai.com/careers/full-stack-software-engineer-cybe...

    • Khi dùng 5.6 Sol trong ứng dụng Codex, đôi lúc nó nói đã tìm thấy lỗ hổng nhưng lại không thể cho biết nội dung đó; tôi tò mò hiện tại guardrail phát hiện lỗ hổng xử lý việc này ra sao
    • Tôi muốn biết khi nào nên dùng công cụ này thay vì plugin Codex, vốn theo tôi biết cũng có thể gọi từ CLI
    • Tôi tò mò liệu bắt buộc phải gọi OpenAI API hay cũng có thể dựng một endpoint LLM tương thích OpenAI cục bộ để dùng
    • Đây chính là lý do tôi không tin vào quảng cáo kiểu “mô hình thần kỳ xử lý mọi thứ cùng lúc khiến lập trình viên không còn cần thiết”. Trái với những tuyên bố mà các phòng lab LLM liên tục đưa ra, ngay cả trong sản phẩm do chính họ tạo ra cũng lặp lại các lỗi như vấn đề xác thực
      Sản phẩm nội bộ của các phòng lab đang tự phản bác tuyên bố đó, nên hy vọng sẽ có ít người tin hơn
  • Tôi chạy trên một repository nhỏ thì nó dừng sau gần một giờ và dùng hết một nửa hạn mức hằng tuần của gói Pro
    Tôi chạy npx codex-security scan . để quét với tối đa 8 slot worker, nhưng sau 52 phút, nó báo lỗi rằng trong lúc quét HEAD của repository đã thay đổi nên không thể lưu kết quả, yêu cầu bắt đầu một lần quét mới

  • Bản thân bộ quét là phần kém thú vị nhất; hệ thống thực thi xung quanh, phụ trách khử trùng lặp giữa các lần chạy, theo dõi false positive, kiểm soát ngân sách và quyết định CI có đạt hay không, mới là sản phẩm thật sự. Tôi nghĩ các đổi mới thú vị nhất cũng sẽ xuất hiện ở tầng này
    Khi xây dựng AQ, một hệ thống thực thi lập trình cho đội nhóm, tôi cũng thấy đúng mô hình này. Ban đầu tôi nghĩ bản thân mô hình thô là câu trả lời, nhưng nhanh chóng đổi ý; hệ thống thực thi theo mục đích mạnh hơn dự kiến rất nhiều

  • Nó liên tục báo lỗi rằng tôi đang cố thực hiện thao tác không được phép, rất phiền. Tôi muốn biết nó hoạt động với loại dự án nào và xác minh quyền sở hữu mã nguồn ra sao
    Ví dụ, tôi tò mò liệu nó hoàn toàn không hoạt động với Linux kernel hay không, kể cả khi trong đó có bản vá do tôi viết

  • Công cụ bảo mật của các công ty AI khiến tôi có cảm giác như sở cứu hỏa do kẻ phóng hỏa vận hành. Nó hữu ích, nhưng khó mà không bận tâm ai là người hưởng lợi từ vô số đám cháy

  • Có vẻ trước đây nó đã được cung cấp dưới dạng plugin Codex; tin chính là OpenAI đã mở mã nguồn nó và việc phát triển cũng đang diễn ra nhanh

  • Trong lúc quét, output của CLI hầu như không có thông tin thú vị. Sẽ tốt hơn nếu hiển thị các thông tin như lượng token sử dụng hoặc tiến độ

  • Alibaba cũng đã mở mã nguồn một công cụ review code dựa trên CLI: https://github.com/alibaba/open-code-review

    • Hai công cụ này là những sản phẩm hoàn toàn khác nhau
  • Tôi tò mò liệu công cụ này có upload mã nguồn lên ChatGPT để phân tích hay không. Với một số dự án doanh nghiệp, việc gửi mã nguồn ra bên ngoài có thể không được phép

    • Nếu một công ty cấm dùng ChatGPT thì nhiều khả năng họ cũng không thể dùng công cụ phân tích bảo mật của ChatGPT
    • Có thể chọn Amazon Bedrock như một cách dùng mô hình GPT mà không gửi dữ liệu cho OpenAI
  • Tôi tự hỏi liệu các công cụ kiểu này có khiến những công ty như Snyk phải đóng cửa không. Ở nơi làm việc, chúng tôi dùng Snyk nhưng không hài lòng lắm

    • Tiêu chuẩn cạnh tranh đã được nâng lên, và chuyên môn bền vững cũng phải phát triển tương ứng
    • Tôi không hiểu vài đoạn mã có thể khiến Snyk đóng cửa bằng cách nào