Claude
Skill giljr/claude
Complete guide to installing, configuring, and running bundler-audit in Ruby/Rails projects. Use this skill whenever the user mentions bundler-audit, gem auditing, vulnerabilities in Ruby gems, dependency CVEs, secure gem updates, or wants to ensure security in a Rails project's dependencies. Also trigger for bundler-audit result analysis, CVE/GHSA interpretation, and safe production update strategies.From its SKILL.md
npx -y skills add giljr/claudeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.5 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
bundler-audit — Security Auditing for Ruby Gems
What is bundler-audit?
bundler-audit is a tool that checks a project's Gemfile.lock against a database of known vulnerabilities (CVEs and GHSAs), identifying gems with security issues and recommending safe versions.
Step-by-Step Installation
1. Add it to the Gemfile
Add it only to the development group — it is not required in production:
group :development do
gem 'bundler-audit', require: false
end
2. Install project gems
bundle install
3. Update the vulnerability database
bundler-audit maintains a local copy of the advisory database. Always update it before auditing:
bundle exec bundler-audit update
The database contains hundreds of advisories (e.g., 1007 advisories, updated on 2025-08-15).
4. Run the audit
bundle exec bundler-audit check --update
The --update flag ensures the database is automatically updated before the scan.
Interpreting Results
bundler-audit reports each vulnerable gem with:
| Field | Description |
|---|---|
| Gem | Name of the affected gem |
| Version | Currently installed version |
| Advisory | CVE or GHSA identifier |
| Criticality | Severity level: Unknown / Low / Medium / High / Critical |
| Title | Short vulnerability description |
| Solution | Recommended safe version |
Clean result:
No vulnerabilities found
Vulnerability found (example):
Name: rack
Version: 3.1.8
Advisory: CVE-2025-27610
Criticality: High
Title: Path traversal vulnerability
Solution: upgrade to >= 3.1.16
Safe Update Strategy
Development / Staging Environment
You can update all vulnerable gems at once:
bundle update nokogiri rack net-imap activerecord activestorage rack-session thor uri
Production Environment (Recommended: Gradual Updates)
⚠️ Warning: In production, update one gem at a time and run tests after each update.
# 1. Update a single gem
bundle update rack
# 2. Run application tests
rails test -v
# 3. Verify bundler-audit is satisfied with the updated gem
bundle exec bundler-audit check
# 4. Repeat for the next gem
Update All System Gems (Optional)
gem update
Use with caution — this may introduce compatibility issues in projects that do not explicitly manage gem versions.
Common Vulnerabilities (Reference)
| Gem | Common CVEs | Risk Type |
|---|---|---|
nokogiri | GHSA-mrxw-mxhj-p664 | libxml2/libxslt issues |
rack | CVE-2025-25184, 27610 | Log injection, LFI, DoS, ReDoS |
net-imap | CVE-2025-25186 | Memory exhaustion DoS |
activerecord | CVE-2025-55193 | ANSI escape injection in logs |
activestorage | CVE-2025-24293 | Potentially unsafe transformations |
rack-session | CVE-2025-46336 | Session restoration after deletion |
thor | CVE-2025-54314 | Shell input injection |
uri | CVE-2025-27221 | Userinfo leakage in URI join/merge |
CI/CD Integration
Add the audit to your pipeline to block deployments when vulnerabilities are detected:
# GitHub Actions example
- name: Audit gems
run: bundle exec bundler-audit check --update
The command returns exit code 1 if vulnerabilities are found, automatically stopping the pipeline.
Recommended Complete Workflow
1. bundle exec bundler-audit update # Update advisory database
2. bundle exec bundler-audit check # Check for vulnerabilities
3. bundle update <vulnerable-gem> # Update one gem at a time (production)
4. rails test -v # Verify nothing broke
5. bundle exec bundler-audit check # Confirm the vulnerability is fixed
6. Repeat until: "No vulnerabilities found"
What Are CVEs and GHSAs?
- CVE (Common Vulnerabilities and Exposures): a global vulnerability identifier maintained by MITRE. Example:
CVE-2025-27610. - GHSA (GitHub Security Advisory): a vulnerability identifier reported through GitHub. Example:
GHSA-mrxw-mxhj-p664. - Both are tracked by the bundler-audit advisory database.
What ships with it: 164 files
1960.9 KB alongside SKILL.md, 76 of them executable
bundler-audit-test/
- app/assets/images/.keep0 B
- app/assets/stylesheets/application.css491 B
- app/controllers/about_controller.rbruns68 B
- app/controllers/application_controller.rbruns633 B
- app/controllers/concerns/.keep0 B
- app/controllers/main_controller.rbruns49 B
- app/controllers/password_resets_controller.rbruns973 B
- app/controllers/passwords_controller.rbruns623 B
- app/controllers/registrations_controller.rbruns557 B
- app/controllers/sessions_controller.rbruns539 B
- app/helpers/about_helper.rbruns23 B
- app/helpers/application_helper.rbruns29 B
- app/helpers/main_helper.rbruns22 B
- app/helpers/password_resets_helper.rbruns32 B
- app/helpers/passwords_helper.rbruns27 B
- app/helpers/registrations_helper.rbruns31 B
- app/helpers/sessions_helper.rbruns26 B
- app/javascript/application.jsruns210 B
- app/javascript/controllers/application.jsruns218 B
- app/javascript/controllers/hello_controller.jsruns157 B
- app/javascript/controllers/index.jsruns272 B
- app/jobs/application_job.rbruns269 B
- app/mailers/application_mailer.rbruns103 B
- app/mailers/password_mailer.rbruns424 B
- app/models/application_record.rbruns74 B
- app/models/concerns/.keep0 B
- app/models/current.rbruns71 B
- app/models/user.rbruns316 B
- app/views/about/index.html.erb106 B
- app/views/layouts/application.html.erb1.4 KB
- app/views/layouts/mailer.html.erb227 B
- app/views/layouts/mailer.text.erb13 B
- app/views/main/index.html.erb712 B
- app/views/password_mailer/reset.html.erb253 B
- app/views/password_mailer/reset.text.erb230 B
- app/views/password_resets/create.html.erb91 B
- app/views/password_resets/edit.html.erb600 B
- app/views/password_resets/new.html.erb443 B
- app/views/passwords/edit.html.erb620 B
- app/views/pwa/manifest.json.erb389 B
124 more files not listed here. See all 164 in the repository.