- 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...
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étHEADcủ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ớiBả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
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
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