Chuyển đến nội dung chính
Kết nối Semgrep để các agent CloudThinker có thể quét file bằng một rule set Semgrep, viết và kiểm thử rule tùy chỉnh, và đọc các phát hiện về mã và chuỗi cung ứng mà các lần quét CI của bạn đã báo cáo. Kết nối dùng API token từ Semgrep AppSec Platform và không bao giờ thay đổi gì trong Semgrep.

Điều kiện tiên quyết

  • Quyền Admin trên Semgrep AppSec Platform. Chỉ admin mới có thể tạo API token.
  • Các repository mà Semgrep đã quét, nếu bạn muốn agent đọc các phát hiện hiện có.
  • Vai trò Admin trong workspace CloudThinker, vai trò bạn cần để thêm kết nối. Xem Vai trò.

Thiết lập

1

Tạo API token trong Semgrep

Trong Semgrep AppSec Platform, vào Settings → Tokens → API tokens và nhấn Create new token.
2

Đặt scope và sao chép token

Trong Token scopes, chọn Web API và đặt tên token là cloudthinker. Sao chép Secrets value, rồi nhấn Save. Semgrep chỉ hiển thị giá trị này một lần.
3

Thêm kết nối trong CloudThinker

Trong thanh bên, nhấn More → Workspace settings → Connections. Trên tab Builtin Connections, tìm Semgrep và chọn để mở form.Dán token vào SEMGREP_APP_TOKEN, rồi nhấn Connect.Trạng thái thành công: kết nối hiển thị Connected.
Connected không chứng minh token hoạt động. Semgrep kiểm tra token lần đầu tiên agent đọc phát hiện trên platform, nên hãy chạy prompt xác minh trong một cuộc chat mới trước khi dựa vào kết nối.

Chi tiết kết nối

Quyền yêu cầu

Tạo một token chỉ dành cho CloudThinker, tách biệt với token mà CI của bạn dùng. Khi đó bạn có thể thu hồi token này mà không làm hỏng các lần quét trong pipeline.

Khả năng của agent

Hai giới hạn định hình những gì một lần quét tìm thấy:
  • Không phân tích xuyên hàm. Lần quét của agent không theo dõi dữ liệu qua các hàm hoặc file, nên bỏ sót các vấn đề trải qua nhiều hàm hoặc file. Để có kết quả xuyên file, hãy yêu cầu phát hiện trên platform từ các lần quét CI của bạn.
  • Giới hạn kích thước. Mặc định, một lần quét đọc tối đa 1 MB mỗi file và tổng cộng 2 MB. Hãy nêu tên các file cần quét thay vì cả một repository.

Xác minh kết nối

Kết nối hoạt động bình thường sẽ trả về danh sách ngôn ngữ và một mẫu phát hiện cùng rule và file của chúng. Lỗi khi đọc phát hiện nghĩa là token sai hoặc có scope sai.

Ví dụ prompt

Khắc phục sự cố

Token sai, đã bị thu hồi, hoặc có scope Agent (CI). Tạo token Web API trong Settings → Tokens → API tokens, rồi mở kết nối Semgrep trong CloudThinker và thay giá trị đã lưu.
Rule set có thể không khớp với ngôn ngữ của file. Yêu cầu agent quét bằng rule set cho ngôn ngữ đó, chẳng hạn p/python, hoặc bằng auto.
File vượt quá 1 MB, hoặc tổng các file đã chọn vượt quá 2 MB. Quét ít file hơn mỗi lần, hoặc đọc phát hiện trên platform cho repository đó.
Lần quét của agent và lần quét CI chạy khác nhau. Lần quét CI có thể dùng policy của organization và phân tích xuyên file, trong khi lần quét của agent không theo dõi dữ liệu qua các hàm hoặc file. Hãy coi phát hiện trên platform là bản ghi chính thức và lần quét của agent là kiểm tra nhanh.

Bảo mật

  • Quyền tối thiểu — chỉ cấp các quyền mà agent cần cho trường hợp sử dụng của bạn; bắt đầu với quyền chỉ đọc và mở rộng sau.
  • Chỉ đọc theo mặc định — sử dụng thông tin xác thực chỉ đọc trừ khi bạn muốn agent thực hiện thay đổi qua kết nối này.
  • Xoay vòng thông tin xác thực — xoay vòng khóa và token theo lịch trình thông thường của bạn; CloudThinker sẽ lấy giá trị mới khi bạn cập nhật kết nối.
  • Thu hồi khi bàn giao — xóa thông tin xác thực tại nhà cung cấp khi bạn xóa một kết nối hoặc khi đồng nghiệp rời nhóm.
  • Chỉ đọc. Kết nối quét và đọc. Kết nối không thể phân loại, bỏ qua hay thay đổi phát hiện trong Semgrep.
  • Thu hồi khi xong. Thu hồi token trong Settings → Tokens trên Semgrep khi bạn xóa kết nối.

Liên quan

Kết nối GitGuardian

Phát hiện secret và phân loại sự cố

Kết nối SonarQube

Quét chất lượng và bảo mật mã