Skip to content

v0.5.0

Choose a tag to compare

@peaktwilight peaktwilight released this 12 Apr 11:52
· 657 commits to main since this release

Highlights

--explain flag: source-to-sink dataflow traces

Taint findings now show exactly how data flows from source to sink. Pass --explain to see source and sink trace lines with file, line number, and description.

src/routes.py:42  CRITICAL  py/taint-sql-injection (CWE-89)
  source → line 38: flask.request.args (user-controlled input)
  sink   → line 42: cursor.execute (SQL execution)
  Fix: use parameterized queries: cur.execute("SELECT * FROM users WHERE name = ?", (name,))

Fix suggestions for all taint findings

Every taint rule now includes a concrete fix suggestion — parameterized queries for SQL injection, shlex.quote for command injection, html.escape for XSS, URL allowlisting for SSRF, and more. Suggestions appear in terminal (--explain), JSON, and SARIF output.

New taint rules

  • js/taint-sql-injection — SQL injection via string-built queries in Express/Knex/Sequelize
  • js/taint-eval — eval/Function constructor with user input
  • js/taint-command-injection — child_process.exec with user input
  • js/taint-ssrf — fetch/axios/http.get with user-controlled URLs
  • go/taint-*: closure analysis for Gin handler patterns (r.GET("/path", func(c *gin.Context) { ... }))

MCP server (foxguard-mcp)

AI coding agents can now invoke foxguard via Model Context Protocol. Ships as a separate binary.

Claude Code hook integration

Run foxguard automatically on every file edit in Claude Code. See docs/claude-code-integration.md.

Semgrep taint YAML bridge — JS & Go support

The --semgrep-rules flag now supports taint rules targeting JavaScript and Go, in addition to Python.

Internal improvements

  • Shared AliasTable eliminates duplicate import alias logic across Python/JS/Go engines
  • AnalysisContext struct replaces ad-hoc parameter passing in taint engine signatures
  • Dead code cleanup across taint engines and scanner

Upgrading

npx foxguard@0.5.0 .
# or
cargo install foxguard

Update GitHub Actions:

- uses: PwnKit-Labs/foxguard/action@v0.5.0

Update pre-commit:

rev: v0.5.0

What's Changed

New Contributors

Full Changelog: v0.4.0...v0.5.0

What's Changed

New Contributors

Full Changelog: v0.4.0...v0.5.0