https://github.com/chains-project/ghasum
Checksums for GitHub Actions.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.5%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Checksums for GitHub Actions.
Basic Info
Statistics
- Stars: 14
- Watchers: 3
- Forks: 1
- Open Issues: 14
- Releases: 8
Topics
Metadata Files
README.md
ghasum
Checksums for GitHub Actions.
Compute and verify checksums for all GitHub Actions in a project to guarantee
that the Actions you choose to include haven't changed since. ghasum gives
better integrity guarantees than pinning Actions by commit hash and is also more
user friendly as well.
Usage
To start using ghasum navigate to a project that use GitHub Actions and run:
shell
ghasum init
Commit the gha.sum file that is created so that the checksums can be verified
in the future. To verify run:
shell
ghasum verify
For further help with using ghasum run:
shell
ghasum help
Integration
To use ghasum in your GitHub Actions workflows there are two options. One is
to create and use a local action that runs ghasum (recommended) and the other
is to run ghasum inline in every job.
Local Action (Recommended)
To integrate ghasum as a local action into your GitHub Actions workflows you
have to create the local action and then use it in every job in every workflow.
ghasum:
Create the file .github/actions/ghasum/action.yml and copy the following
content into the file. Then fill in the ghasum version and checksums.
```yaml name: ghasum description: Verify checksums of actions
inputs: checksum: description: The checksum of the ghasum checksums file required: false default: 0d9ca91... # Set the 'checksums-sha512.txt' file's checksum. version: description: The version of ghasum to use required: false default: vX.Y.Z # Set the ghasum version.
runs: using: composite steps: # Unix - name: Initialize ghasum directory if: runner.os == 'macOS' || runner.os == 'Linux' shell: bash run: mkdir -p /tmp/ghasum - name: Download ghasum checksums if: runner.os == 'macOS' || runner.os == 'Linux' shell: bash working-directory: /tmp/ghasum env: CHECKSUM: ${{ inputs.checksum }} GH_TOKEN: ${{ github.token }} VERSION: ${{ inputs.version }} run: | ARTIFACT='checksums-sha512.txt' gh release download "$VERSION" --repo chains-project/ghasum --pattern "$ARTIFACT" echo "$CHECKSUM $ARTIFACT" | shasum -a 256 -c -
# Windows
- name: Initialize ghasum directory
if: runner.os == 'Windows'
shell: pwsh
run: mkdir C:\ghasum
- name: Download ghasum checksums
if: runner.os == 'Windows'
shell: pwsh
working-directory: C:\ghasum
env:
CHECKSUM: ${{ inputs.checksum }}
GH_TOKEN: ${{ github.token }}
VERSION: ${{ inputs.version }}
run: |
$ARTIFACT = "checksums-sha512.txt"
gh release download "$env:VERSION" --repo chains-project/ghasum --pattern "$ARTIFACT"
if ((Get-FileHash -Algorithm SHA256 "$ARTIFACT").Hash -ne "$env:CHECKSUM") {
Write-Error 'Checksum mismatch!'
exit 1
} else {
Write-Host 'Checksum match'
}
# macOS
- name: Pick the ghasum CLI (amd64)
if: runner.os == 'macOS' && runner.arch == 'X64'
id: pick-macos-amd64
shell: bash
run: echo 'artifact=ghasum_darwin_amd64.tar.gz' >>"$GITHUB_OUTPUT"
- name: Pick the ghasum CLI (arm64)
if: runner.os == 'macOS' && runner.arch == 'ARM64'
id: pick-macos-arm64
shell: bash
run: echo 'artifact=ghasum_darwin_arm64.tar.gz' >>"$GITHUB_OUTPUT"
- name: Download the ghasum CLI
if: runner.os == 'macOS'
shell: bash
working-directory: /tmp/ghasum
env:
ARTIFACT: ${{ steps.pick-macos-amd64.outputs.artifact || steps.pick-macos-arm64.outputs.artifact }}
GH_TOKEN: ${{ github.token }}
VERSION: ${{ inputs.version }}
run: |
gh release download "$VERSION" --repo chains-project/ghasum --pattern "$ARTIFACT"
shasum --check --ignore-missing checksums-sha512.txt
tar -xf "$ARTIFACT"
- name: Verify the action checksums
if: runner.os == 'macOS'
shell: bash
env:
JOB: ${{ github.job }}
WORKFLOW: ${{ github.workflow_ref }}
run: |
WORKFLOW=$(echo "$WORKFLOW" | cut -d '@' -f 1 | cut -d '/' -f 3-5)
/tmp/ghasum/ghasum verify -cache /Users/runner/work/_actions -no-evict -offline "$WORKFLOW:$JOB"
# Linux
- name: Pick the ghasum CLI (amd64)
if: runner.os == 'Linux' && runner.arch == 'X64'
id: pick-linux-amd64
shell: bash
run: echo 'artifact=ghasum_linux_amd64.tar.gz' >>"$GITHUB_OUTPUT"
- name: Pick the ghasum CLI (arm64)
if: runner.os == 'Linux' && runner.arch == 'ARM64'
id: pick-linux-arm64
shell: bash
run: echo 'artifact=ghasum_linux_arm64.tar.gz' >>"$GITHUB_OUTPUT"
- name: Download the ghasum CLI
if: runner.os == 'Linux'
shell: bash
working-directory: /tmp/ghasum
env:
ARTIFACT: ${{ steps.pick-linux-amd64.outputs.artifact || steps.pick-linux-arm64.outputs.artifact }}
GH_TOKEN: ${{ github.token }}
VERSION: ${{ inputs.version }}
run: |
gh release download "$VERSION" --repo chains-project/ghasum --pattern "$ARTIFACT"
shasum --check --ignore-missing checksums-sha512.txt
tar -xf "$ARTIFACT"
- name: Verify the action checksums
if: runner.os == 'Linux'
shell: bash
env:
JOB: ${{ github.job }}
WORKFLOW: ${{ github.workflow_ref }}
run: |
WORKFLOW=$(echo "$WORKFLOW" | cut -d '@' -f 1 | cut -d '/' -f 3-5)
/tmp/ghasum/ghasum verify -cache /home/runner/work/_actions -no-evict -offline "$WORKFLOW:$JOB"
# Windows
- name: Pick the ghasum CLI (amd64)
if: runner.os == 'Windows' && runner.arch == 'X64'
id: pick-windows-amd64
shell: pwsh
run: |
'artifact=ghasum_windows_amd64.zip' >>"$env:GITHUB_OUTPUT"
- name: Pick the ghasum CLI (arm64)
if: runner.os == 'Windows' && runner.arch == 'ARM64'
id: pick-windows-arm64
shell: pwsh
run: |
'artifact=ghasum_windows_arm64.zip' >>"$env:GITHUB_OUTPUT"
- name: Download the ghasum CLI
if: runner.os == 'Windows'
shell: pwsh
working-directory: C:\ghasum
env:
ARTIFACT: ${{ steps.pick-windows-amd64.outputs.artifact || steps.pick-windows-arm64.outputs.artifact }}
GH_TOKEN: ${{ github.token }}
VERSION: ${{ inputs.version }}
run: |
gh release download "$env:VERSION" --repo chains-project/ghasum --pattern "$env:ARTIFACT"
$line = Get-Content checksums-sha512.txt | Where-Object { $_ -match "\b$env:ARTIFACT$" }
if (-not $line) {
Write-Error 'Checksum missing'
exit 2
} else {
if ($line -match "^([a-fA-F0-9]+) $env:ARTIFACT$") {
$want = $matches[1]
$got = (Get-FileHash -Path $env:ARTIFACT -Algorithm SHA512).Hash
if ($got.ToLower() -ne $want.ToLower()) {
Write-Error 'Checksum mismatch'
exit 1
} else {
Write-Host 'Checksum match'
Expand-Archive -Path "$env:ARTIFACT" -DestinationPath .
}
} else {
Write-Error 'Checksums malformed'
exit 2
}
}
- name: Verify the action checksums
if: runner.os == 'Windows'
shell: pwsh
env:
JOB: ${{ github.job }}
WORKFLOW: ${{ github.workflow_ref }}
run: |
$WorkflowParts = $env:WORKFLOW -split '@'
$WorkflowPath = ($WorkflowParts[0] -split '/')[2..4] -join '/'
if (Test-Path -Path 'C:\a\_actions') {
C:\ghasum\ghasum.exe verify -cache C:\a\_actions -no-evict -offline "${WorkflowPath}:$env:JOB"
} else {
C:\ghasum\ghasum.exe verify -cache D:\a\_actions -no-evict -offline "${WorkflowPath}:$env:JOB"
}
# Cleanup
- name: Cleanup (Unix)
if: runner.os == 'macOS' || runner.os == 'Linux'
shell: bash
run: rm -rf /tmp/ghasum
- name: Cleanup (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: Remove-Item -Recurse -Force -Path C:\ghasum
```
```yaml jobs: example: steps: # The repository has to be checked out before verifying checksums because # it requires access to the content in .github/workflows. Because this # action is run before the checksums are verified it should be pinned to # a commit SHA. - name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
# Verify the checksums with ghasum through the local action.
- name: Verify action checksums
uses: ./.github/actions/ghasum
# The rest of your job ...
```
Inline
For Ubuntu runners
```yaml job: runs-on: ubuntu-24.04 # Also 'ubuntu-latest' steps: # The repository has to be checked out before verifying checksums because it # requires access to the content in .github/workflows. Because this action is # run before the checksums are verified it should be pinned to a commit SHA. - name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 # Verify the action checksums with ghasum. - name: Verify action checksums env: VERSION: vX.Y.Z # Set the ghasum version. CHECKSUM: f5f2ff0... # Set the ghasum binary checksum. GH_TOKEN: ${{ github.token }} # Required for the GitHub CLI (`gh`). JOB: ${{ github.job }} WORKFLOW: ${{ github.workflow_ref }} run: | # Download the ghasum CLI ARTIFACT="ghasum_linux_amd64.tar.gz" gh release download "${VERSION}" --repo chains-project/ghasum --pattern "${ARTIFACT}" echo "${CHECKSUM} ${ARTIFACT}" | shasum -a 512 -c - tar -xf "${ARTIFACT}" # Verify the action checksums WORKFLOW=$(echo "${WORKFLOW}" | cut -d '@' -f 1 | cut -d '/' -f 3-5) ./ghasum verify -cache /home/runner/work/_actions -no-evict -offline "${WORKFLOW}:${JOB}" # The rest of your job ... ```For macOS runners
For newer ARM-based runners: ```yaml job: runs-on: macos-15 # Also 'macos-latest' steps: # The repository has to be checked out before verifying checksums because it # requires access to the content in .github/workflows. Because this action is # run before the checksums are verified it should be pinned to a commit SHA. - name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 # Verify the action checksums with ghasum. - name: Verify action checksums env: VERSION: vX.Y.Z # Set the ghasum version. CHECKSUM: 94a5919... # Set the ghasum binary checksum. GH_TOKEN: ${{ github.token }} # Required for the GitHub CLI (`gh`). JOB: ${{ github.job }} WORKFLOW: ${{ github.workflow_ref }} run: | # Download the ghasum CLI ARTIFACT="ghasum_darwin_arm64.tar.gz" gh release download "${VERSION}" --repo chains-project/ghasum --pattern "${ARTIFACT}" echo "${CHECKSUM} ${ARTIFACT}" | shasum -a 512 -c - tar -xf "${ARTIFACT}" # Verify the action checksums WORKFLOW=$(echo "${WORKFLOW}" | cut -d '@' -f 1 | cut -d '/' -f 3-5) ./ghasum verify -cache /Users/runner/work/_actions -no-evict -offline "${WORKFLOW}:${JOB}" # The rest of your job ... ``` For older Intel-based runners: ```yaml job: runs-on: macos-13 steps: # The repository has to be checked out before verifying checksums because it # requires access to the content in .github/workflows. Because this action is # run before the checksums are verified it should be pinned to a commit SHA. - name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 # Verify the action checksums with ghasum. - name: Verify action checksums env: VERSION: vX.Y.Z # Set the ghasum version. CHECKSUM: 3414193... # Set the ghasum binary checksum. GH_TOKEN: ${{ github.token }} # Required for the GitHub CLI (`gh`). JOB: ${{ github.job }} WORKFLOW: ${{ github.workflow_ref }} run: | # Download the ghasum CLI ARTIFACT="ghasum_darwin_amd64.tar.gz" gh release download "${VERSION}" --repo chains-project/ghasum --pattern "${ARTIFACT}" echo "${CHECKSUM} ${ARTIFACT}" | shasum -a 512 -c - tar -xf "${ARTIFACT}" # Verify the action checksums WORKFLOW=$(echo "${WORKFLOW}" | cut -d '@' -f 1 | cut -d '/' -f 3-5) ./ghasum verify -cache /Users/runner/work/_actions -no-evict -offline "${WORKFLOW}:${JOB}" # The rest of your job ... ```For Windows runners
```yaml job: runs-on: windows-2025 # Also 'windows-latest' steps: # The repository has to be checked out before verifying checksums because it # requires access to the content in .github/workflows. Because this action is # run before the checksums are verified it should be pinned to a commit SHA. - name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 # Verify the action checksums with ghasum. - name: Verify action checksums env: VERSION: vX.Y.Z # Set the ghasum version. CHECKSUM: e3d49db... # Set the ghasum binary checksum. GH_TOKEN: ${{ github.token }} # Required for the GitHub CLI (`gh`). JOB: ${{ github.job }} WORKFLOW: ${{ github.workflow_ref }} run: | # Download the ghasum CLI $ARTIFACT = "ghasum_windows_amd64.zip" gh release download "$env:VERSION" --repo chains-project/ghasum --pattern "$ARTIFACT" if ((Get-FileHash -Algorithm SHA512 "$ARTIFACT").Hash -ne $env:CHECKSUM) { Write-Error "Checksum mismatch!" exit 1 } Expand-Archive -Path "$ARTIFACT" -DestinationPath . # Verify the action checksums $WorkflowParts = $env:WORKFLOW -split '@' $WorkflowPath = ($WorkflowParts[0] -split '/')[2..4] -join '/' .\ghasum.exe verify -cache C:\a\_actions -no-evict -offline "${WorkflowPath}:${env:JOB}" # The rest of your job ... ```For ARM-based Ubuntu runners
```yaml job: runs-on: ubuntu-24.04-arm steps: # The repository has to be checked out before verifying checksums because it # requires access to the content in .github/workflows. Because this action is # run before the checksums are verified it should be pinned to a commit SHA. - name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 # Verify the action checksums with ghasum. - name: Verify action checksums env: VERSION: vX.Y.Z # Set the ghasum version. CHECKSUM: 8a5c3d8... # Set the ghasum binary checksum. GH_TOKEN: ${{ github.token }} # Required for the GitHub CLI (`gh`). JOB: ${{ github.job }} WORKFLOW: ${{ github.workflow_ref }} run: | # Download the ghasum CLI ARTIFACT="ghasum_linux_arm64.tar.gz" gh release download "${VERSION}" --repo chains-project/ghasum --pattern "${ARTIFACT}" echo "${CHECKSUM} ${ARTIFACT}" | shasum -a 512 -c - tar -xf "${ARTIFACT}" # Verify the action checksums WORKFLOW=$(echo "${WORKFLOW}" | cut -d '@' -f 1 | cut -d '/' -f 3-5) ./ghasum verify -cache /home/runner/work/_actions -no-evict -offline "${WORKFLOW}:${JOB}" # The rest of your job ... ```For ARM-based Windows runners
```yaml job: runs-on: windows-11-arm steps: # The repository has to be checked out before verifying checksums because it # requires access to the content in .github/workflows. Because this action is # run before the checksums are verified it should be pinned to a commit SHA. - name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 # Verify the action checksums with ghasum. - name: Verify action checksums env: VERSION: vX.Y.Z # Set the ghasum version. CHECKSUM: 3114a13... # Set the ghasum binary checksum. GH_TOKEN: ${{ github.token }} # Required for the GitHub CLI (`gh`). JOB: ${{ github.job }} WORKFLOW: ${{ github.workflow_ref }} run: | # Download the ghasum CLI $ARTIFACT = "ghasum_windows_arm64.zip" gh release download "$env:VERSION" --repo chains-project/ghasum --pattern "$ARTIFACT" if ((Get-FileHash -Algorithm SHA512 "$ARTIFACT").Hash -ne $env:CHECKSUM) { Write-Error "Checksum mismatch!" exit 1 } Expand-Archive -Path "$ARTIFACT" -DestinationPath . # Verify the action checksums $WorkflowParts = $env:WORKFLOW -split '@' $WorkflowPath = ($WorkflowParts[0] -split '/')[2..4] -join '/' .\ghasum.exe verify -cache C:\a\_actions -no-evict -offline "${WorkflowPath}:${env:JOB}" # The rest of your job ... ```Using Go
In a Go-based project, you can use the Go toolchain to integrate ghasum. To
get started, add ghasum as a tool dependency:
shell
go get -tool github.com/chains-project/ghasum/cmd/ghasum
Initialize ghasum for your project if you haven't already:
shell
go run github.com/chains-project/ghasum/cmd/ghasum init
Verify the setup succeeded:
shell
go run github.com/chains-project/ghasum/cmd/ghasum verify
And update your workflows to verify the checksums at runtime. You can follow
either the Local Action or Inline approach. Like with the other approaches you
must first use actions/checkout. Moreover, because this runs from source you
must also first use actions/setup-go. Both should be pinned to a commit SHA as
they're run before checksum verification.
For Ubuntu/macOS runners
```yaml - uses: actions/checkout # @commit-sha - uses: actions/setup-go # @commit-sha - name: Verify action checksums env: JOB: ${{ github.job }} WORKFLOW: ${{ github.workflow_ref }} run: | WORKFLOW=$(echo "${WORKFLOW}" | cut -d '@' -f 1 | cut -d '/' -f 3-5) go run github.com/chains-project/ghasum/cmd/ghasum verify \ -cache /home/runner/work/_actions -no-evict -offline "${WORKFLOW}:${JOB}" ```For Windows runners
```yaml - uses: actions/checkout # @commit-sha - uses: actions/setup-go # @commit-sha - name: Verify action checksums env: JOB: ${{ github.job }} WORKFLOW: ${{ github.workflow_ref }} run: | $WorkflowParts = $env:WORKFLOW -split '@' $WorkflowPath = ($WorkflowParts[0] -split '/')[2..4] -join '/' go run github.com/chains-project/ghasum/cmd/ghasum verify \ -cache C:\a\_actions -no-evict -offline "${WorkflowPath}:${env:JOB}" ```Recommendations
When using ghasum it is recommended to pin all Actions to version tags. If Actions are benign, these won't change over time. Major version tags or branch refs are expected to change over time as changes are made to the Action, which results in failing verification by ghasum. Commit SHAs do not have to be used because the benefits they provide are covered by ghasum.
If an Action misbehaves - moving version refs after publishing - it is recommended to use commit SHAs instead to avoid failing verification by ghasum.
```yaml
Recommended: exact version tags
- uses: actions/checkout@v4.1.1
Possible alternative: commit SHAs
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
Discouraged: major version refs
- uses: actions/checkout@v4
Discouraged: branches
- uses: actions/checkout@main ```
Benefits
- Pins transitive (composite) GitHub Actions.
- Prevents using actions that have changed since you started using them. Avoids the impact of supply chain attacks such as CVE-2025-30066.
- Prevents using impostor commits.
- Reveals your GitHub Actions dependency hierarchy with
ghasum list, even without integratingghasum. - Protects against git commit SHA hash collisions (more details below).
Limitations
- Requires manual intervention when an Action is updated.
- The hashing algorithm used for checksums is not configurable.
ghasumdoes not (yet, #216) handle Docker-based unpinnable actions.- Checksums do not provide protection against code-based unpinnable actions.
Some of these limitations may be addressed by Github's Immutable Actions initiative, see github/roadmap#592 for more information.
Background
The dependency ecosystem for GitHub Actions is fully reliant on git. The version of an Action to use is specified using a git ref (branch or tag) or commit SHA. Git refs provide no integrity guarantees. And while commit SHAs do provide some integrity guarantees, since they're based on the older SHA1 hash the guarantees are not optimal.
Besides being older and having better, modern algorithms available, SHA1 is vulnerable to attacks, including SHAttered and SHAmbles. This means it is possible for a motivated and well-funded adversary to mount an attack on the GitHub Actions ecosystem. Note that GitHub does have protections in place to detect such attacks, but from what is publicly available this is limited to the SHAttered attack.
This project is a response to that theoretical attack - providing a way to get, record, and validate checksums for GitHub Actions dependencies using a more secure hashing algorithm. As an added benefit, it can also be used as an alternative to in-workflow commit SHA.
Git's hash function transition
The Git project has a hash function transition objective with the goal of migrating from SHA-1 to SHA-256. This discussion was started around the time of the SHAttered attack and has gradually been developed over time but is, as of writing, still experimental. The transition would eliminate the need for this project from a security perspective, but it could remain useful due to its other perks.
License
This software is available under the Apache License 2.0 license, see LICENSE for the full license text. The contents of documentation are licensed under the CC BY 4.0 license.
Owner
- Name: CHAINS research project at KTH Royal Institute of Technology
- Login: chains-project
- Kind: organization
- Website: https://chains.proj.kth.se
- Repositories: 9
- Profile: https://github.com/chains-project
"Consistent Hardening and Analysis of Software Supply Chains" at KTH, funded by SSF
GitHub Events
Total
- Create event: 114
- Release event: 5
- Issues event: 29
- Watch event: 11
- Delete event: 102
- Issue comment event: 58
- Push event: 114
- Pull request review comment event: 9
- Pull request review event: 5
- Pull request event: 199
- Fork event: 1
Last Year
- Create event: 114
- Release event: 5
- Issues event: 29
- Watch event: 11
- Delete event: 102
- Issue comment event: 58
- Push event: 114
- Pull request review comment event: 9
- Pull request review event: 5
- Pull request event: 199
- Fork event: 1
Committers
Last synced: 11 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| dependabot[bot] | 4****] | 57 |
| Eric Cornelissen | e****n@g****m | 50 |
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 23
- Total pull requests: 215
- Average time to close issues: 19 days
- Average time to close pull requests: 1 day
- Total issue authors: 2
- Total pull request authors: 2
- Average comments per issue: 0.22
- Average comments per pull request: 0.27
- Merged pull requests: 125
- Bot issues: 0
- Bot pull requests: 125
Past Year
- Issues: 18
- Pull requests: 137
- Average time to close issues: 19 days
- Average time to close pull requests: about 21 hours
- Issue authors: 2
- Pull request authors: 2
- Average comments per issue: 0.11
- Average comments per pull request: 0.18
- Merged pull requests: 76
- Bot issues: 0
- Bot pull requests: 69
Top Authors
Issue Authors
- ericcornelissen (22)
- LogFlames (1)
Pull Request Authors
- dependabot[bot] (125)
- ericcornelissen (90)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 8
proxy.golang.org: github.com/chains-project/ghasum
- Homepage: https://github.com/chains-project/ghasum
- Documentation: https://pkg.go.dev/github.com/chains-project/ghasum#section-documentation
- License: Apache-2.0
-
Latest release: v0.6.0
published 6 months ago
Rankings
Dependencies
- actions/checkout v4.1.1 composite
- actions/setup-go v5.0.0 composite
- actions/checkout v4.1.1 composite
- actions/setup-go v5.0.0 composite
- actions/checkout v4.1.1 composite
- actions/setup-go v5.0.0 composite
- github/codeql-action/analyze v3.24.3 composite
- github/codeql-action/init v3.24.3 composite
- actions/checkout v4.1.1 composite
- actions/setup-go v5.0.0 composite
- ncipollo/release-action v1.14.0 composite
- actions/checkout v4.1.1 composite
- github/codeql-action/upload-sarif v3.24.3 composite
- 4d63.com/gochecknoinits v0.0.0-20210416043744-25bb07f6e4e3
- dario.cat/mergo v1.0.0
- github.com/BurntSushi/toml v1.3.2
- github.com/KimMachineGun/automemlimit v0.5.0
- github.com/Microsoft/go-winio v0.6.1
- github.com/ProtonMail/go-crypto v1.0.0
- github.com/alexkohler/dogsled v0.0.0-20240130174141-bb1f9c4c0c98
- github.com/alexkohler/nakedret/v2 v2.0.2
- github.com/alexkohler/prealloc v1.0.0
- github.com/alexkohler/unimport v0.0.0-20171106223308-e6f2b2e2d406
- github.com/butuzov/ireturn v0.3.0
- github.com/catenacyber/perfsprint v0.7.0
- github.com/cilium/ebpf v0.13.0
- github.com/cloudflare/circl v1.3.7
- github.com/containerd/cgroups/v3 v3.0.3
- github.com/coreos/go-systemd/v22 v22.5.0
- github.com/cristalhq/acmd v0.11.2
- github.com/cyphar/filepath-securejoin v0.2.4
- github.com/dkorunic/betteralign v0.4.0
- github.com/docker/go-units v0.5.0
- github.com/emirpasic/gods v1.18.1
- github.com/fsnotify/fsnotify v1.7.0
- github.com/go-critic/go-critic v0.11.1
- github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376
- github.com/go-git/go-billy/v5 v5.5.0
- github.com/go-git/go-git/v5 v5.11.0
- github.com/go-toolsmith/astcast v1.1.0
- github.com/go-toolsmith/astcopy v1.1.0
- github.com/go-toolsmith/astequal v1.2.0
- github.com/go-toolsmith/astfmt v1.1.0
- github.com/go-toolsmith/astp v1.1.0
- github.com/go-toolsmith/pkgload v1.2.2
- github.com/go-toolsmith/strparse v1.1.0
- github.com/go-toolsmith/typep v1.1.0
- github.com/gobwas/glob v0.2.3
- github.com/godbus/dbus/v5 v5.1.0
- github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
- github.com/google/go-cmp v0.6.0
- github.com/google/renameio/v2 v2.0.0
- github.com/gordonklaus/ineffassign v0.1.0
- github.com/hashicorp/hcl v1.0.0
- github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99
- github.com/jgautheron/goconst v1.7.0
- github.com/kevinburke/ssh_config v1.2.0
- github.com/kisielk/errcheck v1.7.0
- github.com/klauspost/compress v1.17.6
- github.com/kunwardeep/paralleltest v1.0.10
- github.com/liamg/memoryfs v1.6.0
- github.com/magiconair/properties v1.8.7
- github.com/mdempsky/unconvert v0.0.0-20230907125504-415706980c06
- github.com/mitchellh/mapstructure v1.5.0
- github.com/nishanths/exhaustive v0.12.0
- github.com/opencontainers/runtime-spec v1.2.0
- github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58
- github.com/pelletier/go-toml/v2 v2.1.1
- github.com/pjbgf/sha1cd v0.3.0
- github.com/polyfloyd/go-errorlint v1.4.8
- github.com/quasilyte/go-ruleguard v0.4.0
- github.com/quasilyte/gogrep v0.5.0
- github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727
- github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567
- github.com/remyoudompheng/go-misc v0.0.0-20190427085024-2d6ac652a50e
- github.com/rogpeppe/go-internal v1.12.0
- github.com/sagikazarmark/locafero v0.4.0
- github.com/sagikazarmark/slog-shim v0.1.0
- github.com/sergi/go-diff v1.3.1
- github.com/sirkon/dst v0.26.4
- github.com/sirupsen/logrus v1.9.3
- github.com/skeema/knownhosts v1.2.1
- github.com/sourcegraph/conc v0.3.0
- github.com/spf13/afero v1.11.0
- github.com/spf13/cast v1.6.0
- github.com/spf13/pflag v1.0.5
- github.com/spf13/viper v1.18.2
- github.com/subosito/gotenv v1.6.0
- github.com/tetafro/godot v1.4.16
- github.com/tomarrell/wrapcheck/v2 v2.8.1
- github.com/ultraware/whitespace v0.1.0
- github.com/xanzy/ssh-agent v0.3.3
- gitlab.com/bosi/decorder v0.4.1
- go.uber.org/automaxprocs v1.5.3
- go.uber.org/multierr v1.11.0
- go.uber.org/nilaway v0.0.0-20240216175439-fb8b98c43554
- golang.org/x/crypto v0.19.0
- golang.org/x/exp v0.0.0-20240213143201-ec583247a57a
- golang.org/x/exp/typeparams v0.0.0-20240213143201-ec583247a57a
- golang.org/x/mod v0.15.0
- golang.org/x/net v0.21.0
- golang.org/x/sync v0.6.0
- golang.org/x/sys v0.17.0
- golang.org/x/text v0.14.0
- golang.org/x/tools v0.18.0
- golang.org/x/vuln v1.0.4
- google.golang.org/protobuf v1.32.0
- gopkg.in/ini.v1 v1.67.0
- gopkg.in/warnings.v0 v0.1.2
- gopkg.in/yaml.v2 v2.4.0
- gopkg.in/yaml.v3 v3.0.1
- honnef.co/go/tools v0.4.6
- mvdan.cc/unparam v0.0.0-20240104100049-c549a3470d14
- 217 dependencies
- actions/checkout v4.1.2 composite
- actions/setup-go v5.0.0 composite
- stefanzweifel/git-auto-commit-action v5.0.0 composite
- tibdex/github-app-token v2.1.0 composite