CLI 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#
CMake 3.11+
A C++14 compiler
NVIDIA Attestation SDK source
Build dependencies (see below)
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
# install rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
## Build from source
```bash
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#
These are the options that will be passed to the Attestation SDK
-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 featuresOFF: 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 featuresOFF: 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
nvattest collect-evidence --device gpu