PRODUCT IN DEV

Attestree for winget.

SBOM at ingest, not post-install scan.

Request access

Currently in development — early-access slots available.

THE PROBLEM

What's broken without it.

Most Windows shops install winget packages straight from the public source and discover problems only after a scanner runs against an endpoint two days later. By then the artifact is on a thousand machines, and your IR rotation owns the cleanup. SBOMs are an afterthought, attestations are missing, and the supply-chain story is "we trust Microsoft’s CDN."

audit-trail.log · status quo
1 # T+0 install completes on 1,204 endpoints
2 # T+2d scanner runs across the fleet
3 # T+2d scanner flags 14 endpoints with vulnerable artifact
4 # T+3d helpdesk tickets begin to arrive
5 # T+5d incident response opens IR-2026-0418
6 # T+9d auditor asks: "who approved this artifact?"
7 # T+9d answer: nobody. it shipped because the CDN said so.
HOW ATTESTREE SOLVES IT

The approach.

Attestree gates winget at the moment of ingest. With a Hyper-V or Proxmox detonation host attached, each winget version you ingest is queued for detonation in a sandboxed VM — installed for real so its actual filesystem and registry footprint is captured, not inferred from a manifest. Syft builds an SBOM of what the installer put on disk, and the platform signs an in-toto statement about the installer’s SHA-256, which you can download and verify offline, before you promote the version to a ring. Without a detonation host, nothing is verified, so by default no winget version is served. Endpoints are fenced to your own feed — on a fenced endpoint winget installs only the exact SHA-256 your feed pinned and rejects anything that does not match, so what runs is an installer a sandbox verified, or on Community Edition one you accepted unverified. An endpoint whose fence is not applied installs from the public winget source instead, and the console shows it unfenced. And when someone asks the fenced source for a package you have not admitted, the feed declines cleanly — no broken winget client — and records the demand, so what to admit next is measured user pull, not guesswork.

winget-enterprise · notes
1 # What ships today in the free Community Edition:
2 # ingest from the public winget source,
3 # detonate in a Hyper-V or Proxmox VM (host attached),
4 # Syft SBOM of what the installer put on disk,
5 # in-toto statement signed over the installer SHA-256,
6 # promote to a ring, served from your fenced feed.
7 # Configured in the console. Run it free -> /community
WHAT'S NEXT

Roadmap, in three moves.

Planned

Chocolatey attestation

Sandbox detonation and attestation for Chocolatey packages, which are inventoried today and not deployed until they can be attested.

Where it stands today →
Roadmap

Per-ring CVE budgets

Different policy bundles for canary, pilot, and broad rings — applied automatically.

Ready to gate winget at ingest?

Early-access slots are open through GA. Tell us about your fleet.