Skip to content

fix(FFESUPPORT-726): address Dependabot vulnerabilities#419

Merged
aarsilv merged 1 commit into
mainfrom
aarsilv/ffesupport-726/address-vulernabilities
May 22, 2026
Merged

fix(FFESUPPORT-726): address Dependabot vulnerabilities#419
aarsilv merged 1 commit into
mainfrom
aarsilv/ffesupport-726/address-vulernabilities

Conversation

@aarsilv
Copy link
Copy Markdown
Contributor

@aarsilv aarsilv commented May 22, 2026

Summary

Closes FFESUPPORT-726.

Resolves all 43 open Dependabot alerts (14 high, 19 medium, 10 low) across the JS, Cargo, and Ruby lockfiles.

This repository is still in production use by downstream SDKs, so all bumps are transitive through lockfiles only — no changes to direct-dependency constraints in any Cargo.toml, package.json, pyproject.toml, or .gemspec. Downstream consumers see no public API change.

Changes

package-lock.jsonnpm audit fix clears all npm advisories (root devDependencies only):

ruby-sdk/Cargo.lock and elixir-sdk/Cargo.lockcargo update pulls patched transitive crate versions:

ruby-sdk/Gemfile.lockbundle update json bumps json 2.18 → 2.19.5 (HIGH GHSA-3m6g-2423-7cp3 format string injection).

Verification (local)

  • Root workspace: cargo build --workspace --all-features ✓, cargo test --workspace --all-features
  • cargo build --release in ruby-sdk/ and elixir-sdk/
  • cargo test --release in ruby-sdk/
  • Ruby bundle exec rake build && bundle exec rspec against mock-server: 503 / 503 pass
  • npm audit0 vulnerabilities

Out of scope

Did not bump any direct-dependency constraint in Cargo.toml/package.json/pyproject.toml. If reviewers want to e.g. bump the direct tokio or reqwest versions, that's a separate change.

Note

This PR was generated with Claude Code.

Resolves all 43 open Dependabot alerts (14 high, 19 medium, 10 low)
across the JS, Cargo, and Ruby lockfiles. All bumps are transitive
through the lockfiles — no changes to direct dependency constraints
in any Cargo.toml, package.json, pyproject.toml, or .gemspec, so
downstream SDK consumers see no public API change.

- package-lock.json: `npm audit fix` clears axios (12 advisories),
  lodash (3 advisories), follow-redirects, qs, minimatch (3),
  picomatch (2), and brace-expansion. Workspace package versions
  for elixir-sdk/eppo_core also re-synced with their package.json
  (lockfile was stale on main).

- ruby-sdk/Cargo.lock and elixir-sdk/Cargo.lock: `cargo update`
  pulls patched transitive versions of rustls-webpki (4 advisories),
  quinn-proto (GHSA-6xvm-j4wr-6v98), rand (GHSA-cq8v-f236-94qc),
  time (GHSA-r6v5-fh4h-64xc), bytes (GHSA-434x-w66g-qw3r), and rkyv
  (GHSA-vfvv-c25p-m7mm, elixir-sdk only).

- ruby-sdk/Gemfile.lock: bump `json` 2.18 -> 2.19.5 to clear
  GHSA-3m6g-2423-7cp3 (format string injection in Ruby JSON).

Verified locally:
- `cargo build --workspace --all-features` clean (root workspace).
- `cargo test --workspace --all-features` — all tests pass.
- `cargo build --release` clean in ruby-sdk and elixir-sdk.
- `cargo test --release` clean in ruby-sdk.
- Ruby `bundle exec rake build && bundle exec rspec` against the
  mock-server: 503 examples, 0 failures.
- `npm audit` reports 0 vulnerabilities.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 22, 2026

⚠️ No Changeset found

Latest commit: 74cfbc9

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@aarsilv
Copy link
Copy Markdown
Contributor Author

aarsilv commented May 22, 2026

🤖 Context from Claude: This PR is intentionally lockfile-only — every advisory in this repo is on a transitive dep, so the patched versions can be pulled in via cargo update, npm audit fix, and bundle update json without touching any direct-dependency constraint in Cargo.toml, package.json, pyproject.toml, or .gemspec. That keeps the public API surface of eppo_core, eppo (Rust SDK), eppo-server-sdk (Ruby), eppo_py (Python), and the Elixir NIF identical to main — downstream consumers see no behavior change beyond patched transitives.

The one minor exception is the package-lock.json diff showing workspace package versions for elixir-sdk (0.2.3→0.2.4) and eppo_core (9.3.0→10.0.0). Those bumps aren't from this PR — the lockfile was already stale on main relative to the corresponding package.json files, and npm install (run as part of npm audit fix) just re-synced it. You can verify by diffing against main: those two package.json files are unchanged here.

If reviewers want any of the direct deps bumped too (e.g. tokio, reqwest), that's a separate follow-up — I deliberately kept this scoped to advisory cleanup since this repo is still in production.

Comment thread ruby-sdk/Gemfile.lock
ast (2.4.3)
diff-lcs (1.6.2)
json (2.18.0)
json (2.19.5)
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Context from Claude: This is the only Ruby gem bump in the PR. The json 2.18 → 2.19.5 jump clears GHSA-3m6g-2423-7cp3 (format string injection), which is fixed in json >= 2.19.4. I verified the gem still builds (bundle exec rake build) and the rspec suite passes (503/503) against the local mock-server.

@aarsilv aarsilv marked this pull request as ready for review May 22, 2026 02:45
Copilot AI review requested due to automatic review settings May 22, 2026 02:45
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@aarsilv aarsilv requested a review from greghuels May 22, 2026 02:45
@aarsilv aarsilv enabled auto-merge (squash) May 22, 2026 02:47
@aarsilv
Copy link
Copy Markdown
Contributor Author

aarsilv commented May 22, 2026

Heads-up for human reviewers: Copilot replied with "Copilot wasn't able to review any files in this pull request" — this is its expected behavior for diffs that are essentially entirely lockfile changes (it doesn't review Cargo.lock, Gemfile.lock, or package-lock.json). There's no actionable feedback from Copilot here, and the verification I ran is captured in the PR description (full cargo test --workspace --all-features clean, bundle exec rspec 503/503 against mock-server, npm audit 0 vulns, plus the existing CI matrix passing all 44 jobs).

@aarsilv aarsilv merged commit 05aa15e into main May 22, 2026
45 checks passed
@aarsilv aarsilv deleted the aarsilv/ffesupport-726/address-vulernabilities branch May 22, 2026 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants