Skip to content

FAQ

Getting started

Do I need an account to use untrust? No. The CLI scans and writes reports locally. Try untrust scan --platform nitro --demo, then a live scan, and read the report on your machine. You need an account only to keep results in the hosted console. See How the CLI and the console fit together.

Where do I get the CLI? untrust isn't on a public package index. Your untrust contact gives you a wheel file with its SHA-256 digest and a software bill of materials. See Install.

Which platforms are supported? AWS Nitro Enclaves, GCP Confidential Space, Azure confidential VMs and NVIDIA GPU Confidential Computing for scans. Collectors cover hosts running AMD SEV-SNP, Intel TDX and SGX, Arm CCA and IBM Secure Execution. The Support matrix lists exactly what each covers.

Credentials and data

Does untrust see my cloud credentials? No. The scanner runs where your credentials already are and uses them there. It never asks for, stores or uploads them, and the console rejects access keys, private keys and secrets in its forms.

What leaves my environment? Only what you upload, and only when you upload it. The scanner sends nothing to untrust on its own. What leaves your environment lists what each upload contains.

Can I run it without network access to untrust? Yes. scan, buildscan, iacscan, registry scan, detect, diff and the offline verifiers (pack verify, ledger verify, ci verify) contact no untrust service. The one exception is registry scan --policy-url, which downloads your trust policy from the console. A live scan still needs to reach your cloud provider's APIs. --demo contacts nothing at all. untrust collector scan runs host checks on an air-gapped machine and uploads nothing.

Running scans

Will a scan change anything in my account? Most checks only read. A few active checks test a control by trying it:

  • the bootstrap write probes write probe objects to your state bucket and then delete them;
  • the Nitro host checks run fixed commands on the parent instance through SSM;
  • the GPU model-store probe writes to the model bucket and then deletes what it wrote.

--read-only skips all of them. Scan a deployment lists exactly which checks it skips on each platform.

Is it safe to scan production? Read-only checks are. Active checks make real writes and real commands, which show up in S3 data events, Cloud Audit Logs and SSM, and may raise a GuardDuty finding. Run them from a dedicated audit identity so the events are easy to tell apart from an attack, or use --read-only.

What permissions does the scanner need? Required permissions lists every API call, generated from the scanner's code, with an example IAM policy, a gcloud custom role and an Azure role.

Why does my scan say "coverage is incomplete"? At least one check was SKIP or ERROR, so it wasn't assessed. That happens when an input is missing, --read-only excluded it, or a call was denied. Skipped checks and errors are never counted as passes. See Troubleshooting.

Why is the exit code 2 when nothing failed? At least one check errored. An ERROR outranks a FAIL, so a scan that couldn't finish is never reported as clean. An invalid option also exits 2.

Does a passing scan mean my enclave is secure? It means the configuration untrust checks meets each requirement. It doesn't cover timing side channels, physical attacks, attestation checks inside your application code, or input validation in your host-to-enclave protocol. See Limits.

How is this different from a cloud posture (CSPM) tool? untrust is aimed at confidential computing. It checks what attestation doesn't cover:

  • the state a workload loads after it launches;
  • the inputs the host supplies;
  • whether a key-release policy requires a real code measurement.

It also verifies the hardware evidence itself against the vendors' roots. See Concepts.

CI and the console

Which CI systems can I use? The gates run anywhere. Uploading receipts to the console works from GitHub Actions on GitHub.com and GitLab CI/CD on GitLab.com, using the pipeline's own OIDC token. See CI systems.

Do I need to store an untrust secret in CI? Not for uploads from GitHub Actions or GitLab.com: they use the pipeline's short-lived OIDC token. Pull request feedback on GitLab needs a project access token, and API calls (api get, report-upload) need an organization API key.

Does uploading a build receipt prove what I deployed? No. It proves which pipeline sent it. It doesn't prove the scanner ran, or that the artifact is the one you deployed. See What it does not prove.

Can I check untrust's evidence without trusting untrust? Yes. Evidence packs, release decisions and CI receipts can be verified offline against a public key you obtain separately. See Verify evidence offline.

Security

How do I report a vulnerability in untrust? Write to security@untrustsecurity.com. Please don't file it in a public issue tracker. The Security model and Threat model describe how untrust protects your evidence.