Skip to content

Installation

Terminal window
brew install starhaven-io/tap/pinprick
Terminal window
cargo install pinprick
Terminal window
cargo install --git https://github.com/starhaven-io/pinprick

Download a prebuilt binary from GitHub Releases. Binaries are available for:

  • Linux amd64, glibc — x86_64-unknown-linux-gnu
  • Linux arm64, glibc — aarch64-unknown-linux-gnu
  • Linux amd64, musl (static) — x86_64-unknown-linux-musl
  • Linux arm64, musl (static) — aarch64-unknown-linux-musl
  • macOS Apple Silicon — aarch64-apple-darwin

The gnu builds link against the system glibc. They are built on Ubuntu 24.04, so they require glibc 2.39 or newer (Ubuntu 24.04+, Debian 13+, Fedora 40+). On older releases — Ubuntu 22.04, Debian 12, RHEL 9 and the like — use the statically linked musl builds instead. The musl builds carry no glibc requirement and also run on musl-based distributions such as Alpine, as well as minimal or distroless containers.

For CI audit runs without hand-rolling the install step, use starhaven-io/pinprick-action. The action installs a pinned pinprick release, verifies the downloaded archive checksum, runs pinprick audit, and can upload SARIF to GitHub code scanning.

See GitHub Action for a SHA-pinned workflow example and input reference.

Generate completions for your shell:

Terminal window
pinprick completions zsh > ~/.zfunc/_pinprick
pinprick completions bash > /etc/bash_completion.d/pinprick
pinprick completions fish > ~/.config/fish/completions/pinprick.fish

pinprick uses the GitHub API to resolve tags, check releases, and fetch action source code.

It looks for a token in this order:

  1. GITHUB_TOKEN environment variable
  2. GH_TOKEN environment variable
  3. gh auth token CLI fallback

The pin and update commands require a token. The audit command works without one but with reduced coverage — only local run: blocks are scanned.