CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.
Bài viết blog CFSDN này hướng dẫn cách sử dụng GoKart để thực hiện phân tích bảo mật tĩnh trên mã Go được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này thì nhớ like nhé.

Giới thiệu về GoKart
GoKart là một công cụ phân tích tĩnh để bảo mật mã Go. Công cụ này có thể tìm thấy các lỗ hổng mã dưới dạng SSA (Single Static Allocation) từ mã nguồn Go. GoKart có thể theo dõi nguồn của các biến và tham số chức năng để xác định xem nguồn đầu vào có an toàn hay không, giúp giảm số lượng kết quả dương tính giả một cách hiệu quả so với các máy quét bảo mật Go khác. Ví dụ: một truy vấn SQL được nối với một biến theo truyền thống có thể được gắn cờ để chèn SQL. Tuy nhiên, GoKart có thể xác định xem biến đó thực sự là một hằng số hay một tham số giống như hằng số, trong trường hợp đó GoKart sẽ không báo cáo lỗ hổng.
Cài đặt công cụ
Chúng ta có thể cài đặt GoKart bằng một trong các phương pháp sau.
(1) đi cài đặt cài đặt.
Các nhà nghiên cứu có thể cài đặt GoKart bằng lệnh sau:
- $goinstallgithub.com/praetorian-inc/gokart@latest
(2) Phát hành cài đặt.
Đầu tiên, chúng ta cần truy cập vào [Trang phát hành] của dự án và tải mã nguồn GoKart về hệ thống cục bộ.
Tiếp theo, chúng ta có thể tải xuống tệp checksums.txt để xác minh tính toàn vẹn của gói đã tải xuống:
- #Kiểm tra tổng kiểm tra của kho lưu trữ đã tải xuống
-
- $shasum-a256gokart_${VERSION}_${ARCH}.tar.gz
-
- b05c4d7895be260aa16336f29249c50b84897dab90e1221c9e96af9233751f22gokart_${VERSION}_${ARCH}.tar.gz
-
- $catgokart_${VERSION}_${ARCH}_checksums.txt|grepgokart_${VERSION}_${ARCH}.tar.gz
-
- b05c4d7895be260aa16336f29249c50b84897dab90e1221c9e96af9233751f22gokart_${VERSION}_${ARCH}.tar.gz
Sau đó, giải nén tài liệu đã tải xuống:
- $tar-xvfgokart_${PHIÊN BẢN}_${ARCH}.tar.gz
Cuối cùng, di chuyển mã GoKart vào đường dẫn thời gian chạy của chúng tôi:
- $mv./gokart/usr/local/bin/
(3) Cài đặt mã nguồn.
Trước tiên, chúng ta cần sao chép cục bộ mã nguồn dự án bằng lệnh sau:
- $gitclonehttps://github.com/praetorian-inc/gokart.git
Sau đó chuyển sang thư mục gốc của dự án và xây dựng mã nguồn:
- $cdgokart
-
- $gobuild
Cuối cùng, di chuyển mã GoKart vào đường dẫn thời gian chạy của chúng tôi:
- $mv./gokart/usr/local/bin
Hỗ trợ Docker
Xây dựng hình ảnh Docker:
- dockerbuild-tgokart.
Chạy vùng chứa và thực hiện quét cục bộ (thư mục quét cục bộ cần được tải vào hình ảnh vùng chứa):
- dockerrun-v/đường dẫn/đến/scan-dir:/scan-dirgokartscan/scan-dir
Chạy vùng chứa và thực hiện quét từ xa (chỉ định khóa riêng để xác thực và tải nó vào vùng chứa):
- dockerrungokartscan-rhttps://github.com/praetorian-inc/gokart
-
- #specifyingaprivatekeyforprivaterepositorysshaauthentication
-
- dockerrun-v/đường dẫn/đến/key-dir/:/key-dirgokartscan-rgit@github.com:praetorian-inc/gokart.git-k/key-dir/ssh_key
Sử dụng công cụ
Chạy GoKart dựa trên mô-đun Go trong thư mục hiện tại:
- #chạymàkhôngcóthưmụcmặcđịnhđượcchỉđịnh'.'
-
- đi quét xe kart<cờ>
Quét các thư mục khác nhau để tìm mô-đun Go:
- đi quét xe kart<thư mục><cờ>
Xem thông tin trợ giúp:
- gokarthelp
Địa chỉ dự án
GoKart: [Cổng GitHub].
Địa chỉ gốc: https://www.freebuf.com/articles/security-management/290657.html.
Cuối cùng, bài viết này về cách sử dụng GoKart để thực hiện phân tích bảo mật tĩnh trên mã Go kết thúc tại đây. Nếu bạn muốn biết thêm về cách sử dụng GoKart để thực hiện phân tích bảo mật tĩnh trên mã Go, vui lòng tìm kiếm các bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan. , Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!