Any of the tools can be installed with:
curl -sSfL https://get.anchore.io/TOOLNAME | sudo sh -s -- -b /usr/local/bin
However, there are additional installation options for each tool, so see the individual pages for more information.
This is the multi-page printable view of this section. Click here to print.
Any of the tools can be installed with:
curl -sSfL https://get.anchore.io/TOOLNAME | sudo sh -s -- -b /usr/local/bin
However, there are additional installation options for each tool, so see the individual pages for more information.
The Anchore OSS team publish official source archives and binary builds of Syft for Linux, macOS and Windows. There are also numerous community-maintained builds of the tools for different platforms.
Syft binaries are provided for Linux, macOS and Windows.
curl -sSfL https://get.anchore.io/syft | sudo sh -s -- -b /usr/local/bin
Install script options:
-b: Specify a custom installation directory (defaults to ./bin)-d: More verbose logging levels (-d for debug, -dd for trace)-v: Verify the signature of the downloaded artifact before installation (requires cosign to be installed)Syft checks for new versions on launch. It will print a message at the end of the output if the version in use is not the latest.
A newer version of syft is available for download: 1.20.0 (installed version is 1.19.2)
docker pull anchore/syft
.deb or .rpm, install them using your package managersyft binary to a folder in your path such as /usr/local/binapk add syft
Thanks to Michał Polański for maintaining this package.
brew tap anchore/syft
brew install syft
Thanks to the Syft community for maintaining this package.
sudo apt install syft
Thanks to Sophie Brun for maintaining this package.
Syft is available in the stable channel since NixOS 22.05.
nix-env -i syft
Alternatively, just try it out in an ephemeral nix shell.
nix-shell -p syft
winget install Anchore.syft
Thanks to Alan Pope for maintaining this package.
scoop bucket add main
scoop install main/syft
snap install syft
Thanks to Alan Pope for maintaining this package.
The Anchore OSS team publish official source archives and binary builds of Grype for Linux, macOS and Windows. There are also numerous community-maintained builds of the tools for different platforms.
Grype binaries are provided for Linux, macOS and Windows.
curl -sSfL https://get.anchore.io/grype | sudo sh -s -- -b /usr/local/bin
Install script options:
-b: Specify a custom installation directory (defaults to ./bin)-d: More verbose logging levels (-d for debug, -dd for trace)-v: Verify the signature of the downloaded artifact before installation (requires cosign to be installed)Grype checks for new versions on launch. It will print a message at the end of the output if the version in use is not the latest.
A newer version of grype is available for download: 0.92.0 (installed version is 0.91.2)
docker pull anchore/grype
.deb or .rpm, install them using your package managergrype binary to a folder in your path such as /usr/local/binsudo pacman -S grype-bin
brew tap anchore/grype
brew install grype
sudo port install grype
winget install Anchore.Grype
scoop bucket add main
scoop install main/grype
snap install grype
The Anchore OSS team publish official source archives and binary builds for Linux and macOS. There are also some community-maintained builds of the tools for different platforms.
Grant binaries are provided for Linux and macOS.
curl -sSfL https://get.anchore.io/grant | sudo sh -s -- -b /usr/local/bin
Install script options:
-b: Specify a custom installation directory (defaults to ./bin)-d: More verbose logging levels (-d for debug, -dd for trace)-v: Verify the signature of the downloaded artifact before installation (requires cosign to be installed).deb or .rpm, install them using your package managergrant binary to a folder in your path such as /usr/local/binbrew tap anchore/grant
brew install grant
Verifying your downloads ensures that:
All release artifacts include checksums, and the checksum file itself is cryptographically signed using cosign for verification.
-v flag if you have cosign installed. This performs the same verification steps outlined below.Before verifying downloads, you need:
Note: Checksum verification doesn’t require additional tools beyond your operating system’s built-in utilities.
This method verifies that your download is both authentic (from Anchore) and hasn’t been tampered with.
Download your tool binary and the verification files from the appropriate GitHub releases page:
You’ll need:
syft_1.23.1_darwin_arm64.tar.gz)checksums.txtchecksums.txt.pemchecksums.txt.sigUse cosign to verify the checksum file’s signature:
cosign verify-blob <path to checksums.txt> \
--certificate <path to checksums.txt.pem> \
--signature <path to checksums.txt.sig> \
--certificate-identity-regexp 'https://github\.com/anchore/<tool-name>/\.github/workflows/.+' \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com"
Replace <tool-name> with syft, grype, or grant depending on which tool you’re verifying.
Expected output on success:
Verified OK
Once the signature is confirmed as valid, verify that the SHA256 checksum matches your downloaded file:
sha256sum --ignore-missing -c checksums.txt
Expected output on success:
<your-binary-file>: OK
Here’s a complete example verifying Syft v1.23.1 for macOS ARM64:
Download the files:
# Download the binary
wget https://github.com/anchore/syft/releases/download/v1.23.1/syft_1.23.1_darwin_arm64.tar.gz
# Download verification files
wget https://github.com/anchore/syft/releases/download/v1.23.1/syft_1.23.1_checksums.txt
wget https://github.com/anchore/syft/releases/download/v1.23.1/syft_1.23.1_checksums.txt.pem
wget https://github.com/anchore/syft/releases/download/v1.23.1/syft_1.23.1_checksums.txt.sig
Verify the signature:
cosign verify-blob ./syft_1.23.1_checksums.txt \
--certificate ./syft_1.23.1_checksums.txt.pem \
--signature ./syft_1.23.1_checksums.txt.sig \
--certificate-identity-regexp 'https://github\.com/anchore/syft/\.github/workflows/.+' \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com"
Output:
Verified OK
Verify the checksum:
sha256sum --ignore-missing -c syft_1.23.1_checksums.txt
Output:
syft_1.23.1_darwin_arm64.tar.gz: OK
If you can’t use cosign, you can verify checksums manually. This verifies file integrity but not authenticity.
Download your tool binary and the checksums file:
# Example for Syft v1.23.1
wget https://github.com/anchore/syft/releases/download/v1.23.1/syft_1.23.1_darwin_arm64.tar.gz
wget https://github.com/anchore/syft/releases/download/v1.23.1/syft_1.23.1_checksums.txt
sha256sum --ignore-missing -c syft_1.23.1_checksums.txt
Expected output:
syft_1.23.1_darwin_arm64.tar.gz: OK
If cosign verification fails, check these common issues:
syft, grype, or grant) in the certificate identity patternIf the checksum verification fails:
macOS:
sha256sum, use shasum -a 256 insteadshasum -a 256 syft_1.23.1_darwin_arm64.tar.gzWindows:
Use PowerShell’s Get-FileHash command:
Get-FileHash .\syft_1.23.1_windows_amd64.zip -Algorithm SHA256
If you’re still having issues: