CLI Installation#

The CLI is built with CMake and links to the NVIDIA Attestation SDK.

Prerequisites#

  • CMake 3.11+

  • A C++14 compiler

  • spdlog development package

  • NVIDIA Attestation SDK source

  • The Rust compiler

  • Optional for live evidence collection:

    • NVML (for GPUs)

    • NSCQ (for NVSwitch)

On Ubuntu, install common build deps:

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

Build from source#

git clone https://github.com/NVIDIA/attestation-sdk.git
cd attestation-sdk/nv-attestation-cli
cmake -S . -B build
cmake --build build
cmake --install build
sudo ldconfig

CMake Available Options#

-DSANITIZER=[address|thread|undefined|leak|OFF] (Default: OFF)

  • OFF: Perform a normal build with no sanitizer

  • <other>: Compile with the selected sanitizer

-DENABLE_NVML=[ON|OFF] (Default: ON)

  • ON: Enables NVML support and GPU-specific attestation features

  • OFF: Disables NVML support (e.g., for local dev or build pipeline)

-DENABLE_NSCQ=[ON|OFF] (Default: ON)

  • ON: Enables NSCQ support and SWITCH-specific attestation features

  • OFF: Disables NSCQ support (e.g., for local dev or build pipeline)

Example build command with options:

cmake -S . -B build -DENABLE_NSCQ=ON -DENABLE_NVML=OFF -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DSANITIZER=$SANITIZER -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++

Run the CLI:

nvattest --help
nvattest version
nvattest attest --device gpu --verifier local