Introduction#
nvattest is a command‑line tool built on the NVIDIA Attestation SDK to collect device attestation evidence and verify integrity for NVIDIA GPUs and Switches.
This CLI is built on a new and improved version of the NVIDIA nvtrust attestation SDK, redesigned to address key limitations. For the SDK documentation, see the NVIDIA Attestation C SDK.
Improved API flexibility and structure with better separation of concerns and reusability
Enhanced error handling and logging suitable for library use cases
Removed global state enabling proper unit testing and multi-instance support
Better security practices including secure JWT signing in local verifiers
Improved documentation with consistent, well-documented data structures
It supports:
Collecting evidence from live devices (via NVML for GPUs and NSCQ for Switch)
Verifying locally or via a remote verifier
Supplying pre‑serialized evidence from files (for offline/replay workflows)
Applying a custom Relying Party policy (Rego)
Emitting JSON output suitable for automation, with meaningful exit codes
Installation#
The CLI is built with CMake and links to the NVIDIA Attestation SDK (which is also built along with the CLI. The source for that lives here)
Prerequisites#
C++14 compiler
libnvml is required when compiling support for GPU evidence collection. See Driver Installation for instructions.
libnvidia-nscq is required when compiling support for NVSwitch evidence collection. See here
From package manager#
In the future, this CLI will be available via Linux package managers for easier installation.
From source#
Install build dependencies
sudo apt-get update && \
sudo apt-get install -y cmake git pkg-config clang \
libcurl4-openssl-dev libssl-dev libxml2-dev \
libxmlsec1-dev libxmlsec1-openssl libspdlog-dev
# rust is a build dependency
# install from here - https://rust-lang.org/tools/install/
Get the source
git clone https://github.com/NVIDIA/attestation-sdk.git
cd attestation-sdk/nv-attestation-cli
Build
cmake -S . -B build
cmake --build build
cmake --install build
sudo ldconfig
Quick Start#
Show help
nvattest --help
Show version
nvattest version
Verify gpu evidence using local verifier
nvattest attest --device gpu --verifier local
Collect live gpu evidence
nvattest collect-evidence --device gpu
Next steps#
Refer to the Command Reference for detailed documentation of all commands and options.
Refer to the Development docs for development and contribution guidelines.