Tổng quan
Tài liệu này định nghĩa threat model (mô hình mối đe doạ) chung cho toolchain và thư viện chuẩn của Go. Khi tài liệu của một package không định nghĩa threat model riêng, hãy giả định rằng mô hình mô tả trong tài liệu này áp dụng cho mọi package trong thư viện chuẩn.
Threat Model
An toàn khi build
Việc build mã Go được giả định là an toàn và không được có tác dụng phụ nào, chẳng hạn việc thực thi ngoài dự kiến.
Thực thi lúc runtime
Chúng tôi nhìn chung không xem việc thực thi mã độc hại là một vấn đề bảo mật liên quan. Một người dùng quen thuộc với Go được giả định là hiểu rõ mình đang thực thi cái gì.
An toàn bộ nhớ
Giả định rằng khi không sử dụng package unsafe, an toàn bộ nhớ được runtime bảo đảm.
Ranh giới tin cậy
Các API mà người ta có lý do hợp lý để trông đợi là sẽ nhận dữ liệu đầu vào tuỳ ý do người dùng cung cấp được giả định là đã được gia cố để chống panic và chống tiêu thụ tài nguyên tuỳ tiện.
Việc đưa dữ liệu rác vào một API và nhận được đầu ra ngoài dự kiến không được xem là vấn đề bảo mật.
Kiểm soát môi trường
Giả định rằng hệ thống cục bộ là an toàn. Các cuộc tấn công dựa trên việc hệ điều hành đã bị xâm nhập từ trước không được xem là liên quan. Chẳng hạn, chúng tôi không xem việc attacker kiểm soát được hệ thống tệp, các biến môi trường như PATH, hay việc truy cập hoặc kiểm soát bộ nhớ là một phần của mô hình này.