Repository navigation
docs: Add SECURITY.md - #367
Conversation
TRI-1935
|
|
|
||
| **Software type:** Software component (library, backend, client or tool) used as part of a Triton Inference Server deployment. | ||
|
|
||
| **Security boundaries:** The main security boundary is between this component and the data, models and configuration it is given, and between it and the server or application that hosts it. |
There was a problem hiding this comment.
The new description places a security boundary between the backend and its hosting server. This backend is a shared library that runs inside the Triton server process with the server’s privileges. An operator relying on this threat model could wrongly assume a compromised model or backend is isolated from the server. State explicitly that there is no process boundary between them.
| **Security boundaries:** The main security boundary is between this component and the data, models and configuration it is given, and between it and the server or application that hosts it. | |
| **Security boundaries:** Models, configuration and request data enter the backend through Triton. The backend runs inside the Triton server process with the server's privileges; there is no process security boundary between them. |
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
| ## Critical Security Assumptions | ||
|
|
||
| * The component is deployed in a trusted environment or behind a gateway that provides authentication, authorization, TLS and rate limiting. | ||
| * Models, configuration and other inputs come from trusted sources. |
There was a problem hiding this comment.
Client requests called trusted
The assumption that “other inputs” come from trusted sources appears to include inference requests, although the threat model says requests can come from untrusted clients. Request tensor data reaches ONNX Runtime after structural checks. This wording makes it harder for operators to distinguish client-controlled requests from trusted model artifacts and configuration.
| * Models, configuration and other inputs come from trusted sources. | |
| * Models and configuration come from trusted sources; inference requests may come from untrusted clients and must not be assumed trusted. |
What does the PR do?
SECURITY.md, which this repository did not have. Flagged by an AIVO asset review.NVIDIA/NeMo,cuda-pythonandMegatron-LM. Text is NVIDIA-authored, unmodified except the platform-neutral "GitHub/GitLab" wording fromcuda-python.Checklist
<commit_type>: <Title>Commit Type:
Check the conventional commit type
box here and add the label to the github PR.
Related PRs:
Where should the reviewer start?
SECURITY.md— compare againstNVIDIA/NeMo/SECURITY.mdfor the canonical wording.Test plan:
Documentation only; no code paths affected.
CI Pipeline ID:
Caveats:
NVIDIA/NeMosays "through GitHub",NVIDIA/cuda-pythonsays "through GitHub/GitLab". This PR uses the latter because Triton repositories exist on both GitHub and internal GitLab.Background
An AIVO asset review (securityportal.nvidia.com/aivo/assets) flagged Triton repositories with no SECURITY.md. Rather than authoring per-repository security documentation, every repository adopts NVIDIA's current standard template so the policy is identical everywhere and carries no repository-specific claims to maintain.
Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)