supabase
Handles the full Supabase workflow from schema changes to deployment, with built-in security guardrails that catch common traps like RLS...
brakeman
Static analysis security vulnerability scanner for Ruby on Rails applications. Use when analyzing Rails code for security issues, running security audits, reviewing code for vulnerabilities, setting up security scanning in CI/CD, managing security warnings, or investigating specific vulnerability...
Full skill instructions
Brakeman is a static analysis tool that checks Ruby on Rails applications for security vulnerabilities without requiring a running application. It analyzes source code to detect common security issues including SQL injection, cross-site scripting (XSS), command injection, mass assignment, and many other vulnerability types.
Verify Brakeman is installed before running scans. If not present, install using one of these methods:
# Using RubyGems (recommended)
gem install brakeman
# Using Bundler (add to Gemfile)
group :development do
gem 'brakeman', require: false
end
# Using Docker
docker pull presidentbeef/brakeman
Brakeman requires Ruby 3.0.0+ to run, but can analyze code written with Ruby 2.0+ syntax. It works with Rails 2.3.x through 8.x.
Run a basic security scan from the Rails application root:
brakeman
From outside the Rails root:
brakeman /path/to/rails/application
Generate reports in various formats:
# HTML report
brakeman -o report.html
# JSON report (useful for comparison and automation)
brakeman -o report.json
# Multiple output formats simultaneously
brakeman -o report.html -o report.json
# Output to console with color and file
brakeman --color -o /dev/stdout -o report.json
# Quiet mode (suppress informational messages)
brakeman -q
Available output formats: text, html, tabs, json, junit, markdown, csv, codeclimate, sonar
Is Brakeman already installed?
├─ No → Install using gem, bundler, or docker
└─ Yes → Continue
What is the goal?
├─ Initial security assessment → Run basic scan: `brakeman`
├─ Generate report for review → Choose format: `brakeman -o report.html`
├─ CI/CD integration → Use JSON output: `brakeman -o report.json`
├─ Too many warnings → Adjust confidence level or filter checks
├─ False positives → Use interactive ignore tool: `brakeman -I`
├─ Compare with previous scan → Use --compare flag
└─ Configuration needed → Create config/brakeman.yml
Brakeman assigns confidence levels to each warning:
Filter warnings by confidence level:
# Only high confidence warnings
brakeman -w3
# High and medium confidence warnings
brakeman -w2
# All warnings (default)
brakeman -w1
Run only specific checks:
# Run only SQL and XSS checks
brakeman -t SQL,CrossSiteScripting
# Skip specific checks
brakeman -x DefaultRoutes,Redirect
# Skip multiple checks
brakeman -x DefaultRoutes,Redirect,SQL
Use brakeman --checks to list all available check names (case-sensitive).
Manage false positives interactively:
brakeman -I
This launches an interactive tool that:
config/brakeman.ignoreOptions during interactive review:
i - Add warning to ignore listn - Add warning to ignore list with note (recommended)s - Skip this warningu - Remove from ignore lista - Ignore remaining warningsk - Skip remaining warningsq - Quit without savingAlways add notes when ignoring warnings to document why they're false positives.
Temporarily view ignored warnings without affecting exit code:
brakeman --show-ignored
Track security improvements or regressions by comparing scans:
# Generate baseline report
brakeman -o baseline.json
# Run new scan and compare
brakeman --compare baseline.json
Output shows:
Store Brakeman options in YAML configuration files. Default locations (checked in order):
./config/brakeman.yml~/.brakeman/config.yml/etc/brakeman/config.ymlSpecify a custom configuration file:
brakeman -c custom_config.yml
Output current options to create a configuration file:
brakeman -C --skip-files plugins/ > config/brakeman.yml
Command-line options override configuration file settings.
---
:skip_files:
- vendor/
- lib/legacy/
:confidence_level: 2
:output_files:
- reports/brakeman.html
- reports/brakeman.json
:quiet: true
Speed up scans with faster mode (skips some features):
brakeman --faster
Equivalent to: --skip-libs --no-branching
Warning: May miss some vulnerabilities. Use only when scan speed is critical.
Skip problematic files or directories:
brakeman --skip-files file1.rb,vendor/,legacy/
Mark custom sanitizing methods as safe to reduce false positives:
brakeman --safe-methods sanitize_input,clean_html
Control exit code behavior:
# Don't exit with error on warnings
brakeman --no-exit-on-warn
# Don't exit with error on scanning errors
brakeman --no-exit-on-error
# Both
brakeman --no-exit-on-warn --no-exit-on-error
Default behavior: Non-zero exit code if warnings found or errors encountered.
Enable verbose debugging output:
brakeman -d
Several Brakeman actions available on GitHub Marketplace. Search for "brakeman" in GitHub Actions.
Brakeman plugin available for Jenkins/Hudson integration. See documentation at brakemanscanner.org/docs/jenkins/
For continuous testing during development:
gem install guard-brakeman
#!/bin/bash
# Example CI script
# Run Brakeman and save results
brakeman -o brakeman-report.json -o brakeman-report.html --no-exit-on-warn
# Check if there are any high confidence warnings
if brakeman -w3 --quiet; then
echo "No high confidence security warnings found"
exit 0
else
echo "High confidence security warnings detected!"
exit 1
fi
Brakeman detects 30+ vulnerability types. For detailed descriptions and remediation guidance, see references/warning_types.md.
Common warning types include:
For comprehensive option reference including less common flags and detailed explanations, see references/command_options.md.
-w3 initially to focus on critical issues--compare to track security posture over time--show-ignored# 1. Run comprehensive scan
brakeman -o initial-audit.html -o initial-audit.json
# 2. Review high confidence warnings first
brakeman -w3 -o high-confidence.html
# 3. Interactively manage false positives
brakeman -I
# 4. Save configuration for future scans
brakeman -C > config/brakeman.yml
# Fail build only on high confidence warnings
brakeman -w3 --no-exit-on-error
# Baseline scan
brakeman -o baseline.json
# After fixes, compare
brakeman --compare baseline.json -o improvements.json
# Focus on specific vulnerability types
brakeman -t SQL,CrossSiteScripting,CommandInjection -w2
# Or exclude noisy checks
brakeman -x DefaultRoutes,Redirect -w2
Problem: Too many weak confidence warnings
Solution: Use -w2 or -w3 to filter by confidence level
Problem: Scanning is very slow
Solution: Use --faster flag or --skip-files to exclude large directories
Problem: False positives for custom sanitization
Solution: Use --safe-methods to mark methods as safe
Problem: Warnings about database values
Solution: Consider if database values truly safe; if yes, adjust with --interprocedural or configuration
Problem: Can't parse certain files
Solution: Use --skip-files to exclude problematic files
Comprehensive descriptions of all 30+ vulnerability types Brakeman can detect, including examples and remediation guidance.
Complete command-line reference with detailed explanations of all available options and flags.
Strategies and techniques for minimizing false positives while maintaining security coverage.
Handles the full Supabase workflow from schema changes to deployment, with built-in security guardrails that catch common traps like RLS...
Comprehensive guides and best practices for Neon Serverless Postgres, covering setup, connection methods, authentication, and platform APIs.
Guide for setting up and using Firebase Authentication. Use this skill when the user's app requires user sign-in, user management, or secure data access using auth rules.
A skill to evaluate how secure Firestore security rules are. Use this when Firestore security rules are updated to ensure that the generated rules are extremely secure and robust.
Official skill for integrating Firebase AI Logic (Gemini API) into web applications. Covers setup, multimodal inference, structured output, and security.
Complete Better Auth server and client setup with database adapters, session management, plugins, and security configuration.
Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".
Complete Cloudflare platform integration with decision trees for compute, storage, AI, networking, security, and infrastructure-as-code.
Run Azure compliance and security audits with azqr plus Key Vault expiration checks. Covers best-practice assessment, resource review, policy/compliance validation, and security posture checks. WHEN: compliance scan, security audit, BEFORE running azqr (compliance cli tool), Azure best practices, Key Vault expiration check, expired certificates, expiring secrets, orphaned resources, compliance assessment.
Send, read, and manage Gmail messages, drafts, labels, and account settings.
Comprehensive website auditing across 230+ rules in 21 categories including SEO, performance, security, and accessibility.
Shared authentication, CLI syntax, and output formatting patterns for gws Google Workspace commands.
Discover your celebrity doppelgänger with StarByFace!
GeoSpy: Pricing, Features, FAQs, and Alternatives for AI Teams
Detect AI-generated voices to protect against audio fraud.
Ensure Your Content's Originality with AI Plagiarism Checker
Upscale images by 400% without quality loss
Protect your social media from copyright disputes
Accurately Detect AI-Generated Content with TheChecker.AI
Chrome extension that detects and flags AI-generated content