Repository navigation
ci: audit dependencies with hex.audit and deps.audit, and fix what they find - #5
Merged
Merged
Conversation
…ey find hex-audit.yml runs `mix hex.audit` on pull requests, master and every day, and sends its SARIF report to code scanning: retired releases and releases with a security advisory show in the Security tab and on mix.lock in pull requests. GitHub's Dependabot alerts did not list the advisories below, so this is the check that catches them. ci.yml runs `mix deps.audit` (mix_audit, the elixir-security-advisories database) from the build cache. mix_audit is added as a dev and test dependency. Bumped for the advisories Hex reports on master: - ash 3.37.2: EEF-CVE-2026-96581 (HIGH), an upsert on the primary key ignores attribute multitenancy - ash 3.37.1: EEF-CVE-2026-114214 (MEDIUM), a through relationship loaded with limit 1 returns unrelated records - ash_postgres 2.15.2: EEF-CVE-2026-115627 (MEDIUM), attribute multitenancy ignored on a join resource - ash_postgres 2.15.2: EEF-CVE-2026-115635 (MEDIUM), a skipped upsert returns another tenant's record Updated with them: ash_sql 0.8.3 -> 0.8.4. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.github/workflows/ +├── hex-audit.yml # mix hex.audit → SARIF → code scanning; PRs, master, daily └── ci.yml # + audit job: mix deps.audit, from the build cache mix.exs # + {:mix_audit, "~> 2.1", only: [:dev, :test], runtime: false} mix.lock # ash 3.37.0 → 3.37.2, ash_postgres 2.15.1 → 2.15.2, ash_sql 0.8.3 → 0.8.4mix hex.audit(Hex 2.6) checks every locked release for retirement and for security advisories. Its SARIF report goes to code scanning, so findings show in the Security tab and onmix.lockin pull requests; the step still fails while one is open. It runs daily too, because an advisory can be published for a release that is already locked. GitHub's Dependabot alerts did not list any of the advisories below.mix deps.audit(mix_audit) checks the lock against the elixir-security-advisories database. It needs the dependency compiled, so it runs in CI from the build cache.Advisories on master, fixed by the bumps:
Evidence
mix hex.auditon master →Found packages with security advisories(ash, ash_postgres), exit 1.mix hex.audit --format sarif→ exit 0;mix deps.audit→No vulnerabilities found.;MIX_ENV=test mix compile --warnings-as-errors, format check;mix test --warnings-as-errors→ 3 passed.Merge Danger
Door: two-way
Blast Radius: ci + patch bumps
Patch releases only; this repository's own lock (consumers resolve their own versions).
🤖 Generated with Claude Code