The following pages show the installation options for each of our open source tools. This includes our recommended methods, and some third-party packages maintained by the community.
We also have a guide detailing how to verify the downloads.
This is the multi-page printable view of this section. Click here to print.
The following pages show the installation options for each of our open source tools. This includes our recommended methods, and some third-party packages maintained by the community.
We also have a guide detailing how to verify the downloads.
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.
choco install syft -y
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
scoop install syft
nuget install Anchore.syft
Thanks to Alan Pope for maintaining this package.
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
nuget install Anchore.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
Checksums are applied to all artifacts, and the resulting checksum file is signed using cosign.
You need the following tool to verify signature:
Verification steps are as follow:
Use cosign to verify.
cosign verify-blob <path to checksum.txt> \
--certificate <path to checksums.txt.pem> \
--signature <path to checksums.txt.sig> \
--certificate-identity-regexp 'https://github\.com/anchore/<name of tool>/\.github/workflows/.+' \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com"
Here’s an example of verifying the macOS arm64 Syft v1.23.1 tarball in the current directory:
First, we download the Syft tarball directly from the GitHub releases page for Syft v1.23.1:
wget https://github.com/anchore/syft/releases/download/v1.23.1/syft_1.23.1_darwin_arm64.tar.gz
Then we grab the files required to verify the download:
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
The cosign command will look a bit like this:
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"
The resulting output, if successful, looks like this:
Verified OK
sha256sum --ignore-missing -c checksums.txt
In our example above, that command looks like this:
sha256sum --ignore-missing -c syft_1.23.1_checksums.txt
If successful, we will get this output:
syft_1.23.1_darwin_arm64.tar.gz: OK