Security Considerations#

This page collects TensorRT security guidance that appears across the documentation. Use it as a single entry point for trust boundaries, engine handling, and production deployment patterns.

Engine Deserialization and the Trust Boundary#

Caution

Serialized TensorRT engines are executable artifacts. Deserializing an engine from an untrusted source is equivalent to running untrusted native code on the GPU and host.

The canonical guidance lives in Engine Deserialization and the Trust Boundary in How TensorRT Works. In summary:

  • Deserialize only engines you built yourself, or engines received over a trusted, authenticated channel.

  • Never deserialize engines from third parties, the public internet, user uploads, or any source you do not control end-to-end.

  • For multi-tenant deployments, build engines on a trusted host and ship serialized plans over a signed, integrity-checked transport.

Note

IRuntime::getEngineValidity is not a tamper-detection mechanism. In TensorRT 11.4.0 it can report EngineValidity::kVALID for engine data that was modified after serialization, so a tampered or truncated plan can pass the check. Enforce integrity with the signed transport described above rather than with this API. Refer to Known Issues in the TensorRT 11.4.0 Release Notes.

Plugin Trust#

Custom plugins extend the TensorRT execution graph with native code. Treat plugin libraries with the same care as application binaries:

Plugin migration sample code and Explorer entries are documented in Sample Support Guide and Sample Explorer.

Production and Multi-Tenant Deployment#

Beyond engine trust, production deployments should account for: