foxguard 0.12.0

A security scanner as fast as a linter, written in Rust. 200+ built-in rules across 12 source languages.
Documentation
# Ruby test fixture — safe code that should NOT trigger foxguard rules

# Safe: string literal URLs (no SSRF)
URI.open("https://example.com/api")
Net::HTTP.get("https://api.example.com/data")
HTTParty.get("https://api.example.com/data")
Faraday.get("https://api.example.com/data")
RestClient.get("https://api.example.com/data")
open "https://example.com"

# Safe: string literal file paths (no path traversal)
File.read("config/settings.yml")
File.open("log/app.log")
IO.read("data/seed.json")
File.write("tmp/cache.txt", data)
FileUtils.cp("src/file.rb", "dst/file.rb")
send_file "public/downloads/report.pdf"

# Safe: redirect to a framework-controlled URL helper (no open redirect)
redirect_to url_for(:home)

# Safe: SQL with constant interpolation, not user input (no SQL injection)
where("x = #{CONST}")

# Safe: raw() wrapping a helper that already escapes output (no XSS)
raw(link_to("a", "/b"))

# Safe: a secret-named variable holding a non-secret value
api_key = "see README for setup"