Skip to content
Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
<!--
# Copyright 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of NVIDIA CORPORATION nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->

# Security Policy

## Reporting a Vulnerability

NVIDIA is dedicated to the security and trust of our software products and services, including all source code repositories managed through our organization.

To report a potential security vulnerability, please use one of the following channels:

1. **NVIDIA Vulnerability Disclosure Program** (preferred): https://www.nvidia.com/en-us/security/
2. **Web form:** [Security Vulnerability Submission Form](https://www.nvidia.com/object/submit-security-vulnerability.html)
3. **Email:** [NVIDIA PSIRT](mailto:psirt@nvidia.com). Please encrypt sensitive reports with NVIDIA's [PGP key](https://www.nvidia.com/en-us/security/pgp-key).
4. **GitHub Private Vulnerability Reporting (where enabled):** use the "Report a vulnerability" button on the Security tab of this repository.

**Do not open a public issue or pull request to report a vulnerability.**

Please include:

* Product or component name and version or branch
* Type of vulnerability
* Steps to reproduce
* Proof of concept, if available
* Potential impact and how it could be exploited

See https://www.nvidia.com/en-us/security/ for past NVIDIA Security Bulletins and Notices.

## Security Architecture and Context

**Project:** The Triton repository agent that verifies model checksums.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 security Tamper protection limits omitted Describing the agent simply as verifying model checksums drops the previous warning that it is not a defense against deliberate tampering. It checks only files named in configuration parameters, accepts a model with no such parameters, and reads its MD5 expectations from the model configuration. An operator relying on it for tamper protection could therefore load unverified files or files changed together with their expected digests. Restore the limits on what this check protects.

How this was verified: The load callback compares MD5 digests only for configured parameters and succeeds when that list is empty.

Knowledge Base Used: Checksum repository agent


**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.

**Repository Exposure Classification:** Public.

**Service Exposure Classification:** Deployment-dependent. Exposure depends on how the software is deployed and configured by the operator.

## Threat Model

1. **Untrusted input:** Requests, models, configuration or data supplied to this component may be malformed or malicious, and could cause crashes, memory errors or unintended behavior if not validated.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 security Path traversal warning removed The new threat model replaces the specific warning about unchecked configuration paths with a general warning about untrusted input. If a deployment accepts model configuration from an authenticated but untrusted party, a key containing ../ can make the agent read outside the model directory and return that file’s digest in a mismatch error. Gateway authentication does not confine file access, so operators need the specific warning to identify which inputs must be trusted.

How this was verified: The configuration key supplies an unchecked path to ReadFile(), and a mismatch error includes the computed digest.

Knowledge Base Used: Native checksum agent implementation

2. **Supply chain:** Source and build dependencies fetched at build or install time may be compromised, outdated or unpinned.
3. **Network exposure:** When deployed behind a network-facing server, endpoints may be reachable by untrusted clients. This component does not by itself provide authentication, authorization or encryption.
4. **Resource exhaustion:** Oversized or numerous requests may consume memory, compute or other resources and degrade availability.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 security Resource risk points elsewhere The replacement guidance points to oversized or numerous requests, but this agent reads an entire configured model file during an in-process load action; it does not serve inference requests. An operator could rate-limit a gateway while leaving large model files able to exhaust server memory. Identify model files and load-time verification as the resource risk.

How this was verified: The load callback passes configured file paths to ReadFile(), which allocates space for the whole file before hashing.

Knowledge Base Used: Checksum repository agent

5. **Information disclosure:** Logs, metrics and error messages may reveal sensitive data such as paths, identifiers or request content.

## 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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 security Repository immutability assumption omitted The revised assumptions say model inputs must come from trusted sources but omit the earlier requirement that the repository remain unchanged between verification and use. Even a file from a trusted source can be replaced after its load-time checksum and before the backend reads it, leaving the bytes actually loaded unverified. Restore the immutability assumption so operators do not mistake trusted provenance for continued integrity.

How this was verified: The agent hashes configured files during its load callback, before the backend uses them, and performs no later integrity check.

Knowledge Base Used: Checksum repository agent

* Dependencies and the build environment are kept up to date and obtained from trusted sources.
* Operators protect secrets, certificates and credentials, and restrict access to logs and metrics.
* Host operating system, driver and hardware security are the operator's responsibility.
Loading