Secure AI-generated code

Secure everything your agents ship

Find the vulnerabilities your agents introduce. Fix them before they ship.
Fencer reviews your code, proposes fixes, and helps your team keep security in step with development.

Code analysis›Honey-Corp/honeybucket

Honey-Corp/honeybucket

Open vulnerabilities
13
8 crit/high
Active secrets
4
Need rotation
Quality gate
Issues found
Checks failed
SLA breached
3
Past deadline
Last scan
1 hour ago
Severity
Title
Slug
Status
Location
Critical
Hardcoded GitHub PAT persists in Django settings
#VULN-1HH2
Open
djangov2/honeybucket/settings.py
Critical
Hardcoded secrets in Django settings.py (API key, SECRET_KEY, DB password)
#VULN-1BRC
Open
djangov2/honeybucket/settings.py
Critical
Private TLS key committed to repository
#VULN-1BR7
Open
certs/private.key
Critical
GitHub token committed in ruby_stuff/.env
#VULN-1BRH
Open
ruby_stuff/.env
High
Stored XSS via markdown rendering with |safe filter
#VULN-3C48
Open
djangov2/pages/views.py
High
Vulnerable package: spring-security-web@6.5.3
#VULN-NYR
Open
wrongsecrets/pom.xml
High
Vulnerable package: stdlib@go1.24.0
#VULN-NXB
Open
wrongsecrets/src/main/go.mod
High
Vulnerable package: google.golang.org/grpc@v1.75.0
#VULN-ND8
Open
wrongsecrets/azure/go.mod
Medium
Vulnerable package: basic-ftp@5.0.5
#VULN-B6H
Open
unguard/src/user-simulator/package.json
Medium
Vulnerable package: mysql2@2.2.5
#VULN-3C4D
Open
unguard/src/user-auth-service/package.json
Medium
Vulnerable package: minimist@1.2.5
#VULN-J2MR
Open
unguard/src/user-auth-service/package.json
Low
Missing Content-Security-Policy on rendered pages
#VULN-R41T
Open
djangov2/honeybucket/middleware.py
Low
Debug mode enabled in checked-in settings
#VULN-W0PE
Open
djangov2/honeybucket/settings.py
  • Fix VULN-B2M: Discovered a private key

    fencer-code[bot]opened 2 minutes agoBot

Comment on lines R12 to R14

fencer-code

SQL injection in get_user via f-string interpolation

User input is interpolated straight into a raw SQL query. An attacker can dump auth_user, including password hashes.

Suggested change

12- query = f"SELECT id FROM auth_user WHERE username = '{username}'"
12+ query = "SELECT id FROM auth_user WHERE username = %s"

More code shouldn't mean more security work

AI agents are generating and shipping code faster than engineers can manually review it. Skip the review, and vulnerabilities can slip through. Review every change yourself, and security becomes a bottleneck.

Fencer puts security into the development workflow, so your team can keep shipping without choosing between speed and security.

How It Works

Code security that keeps up with your agents

Find and fix security issues as your agents write and ship code, without adding manual review to every change.

honey-corp/honeybucket/Pull request #101

Add user search endpoint #101

Openr-kaurwants to merge 1 commit intomainfromfeat/user-search

Some checks haven't completed yet

2 in progress checks

  • FencerIn progress — Code security scan
  • Fencer / AI Security ReviewIn progress — AI security review

No conflicts with base branch

Merge pull request
Files changed/2 files
djangov2/honeybucket/settings.py
Comment on lines R41

fencer-code13m ago

AWS credentials committed to the repository

An access key pair is checked into settings.py. Anyone with read access to this repository has it.

Recommendation: Read them from the environment and rotate the exposed pair.

Suggested change

41-AWS_SECRET_ACCESS_KEY = "wJalrXUtnFEMI/K7MDENG/bPxRfiCY"
41+AWS_SECRET_ACCESS_KEY = os.environ["AWS_SECRET_ACCESS_KEY"]
djangov2/honeybucket/api/views.py
Comment on lines R12 to R14

fencer-code13m ago

SQL injection in get_user via f-string interpolation

User input is interpolated straight into a raw SQL query. An attacker can dump auth_user, including password hashes.

Recommendation: Use a parameterized query.

Suggested change

12- query = f"SELECT id FROM auth_user WHERE username = '{username}'"
12+ query = "SELECT id FROM auth_user WHERE username = %s"
Fencer›Agents›New chat

Ask Fencer

Get started with some examples

Summarize security changes

Summarize the security-relevant changes to our system over the last week.

Review open criticals

Which critical vulnerabilities are open right now, and which need discussion?

Prepare review agenda

Prepare an agenda of vulnerabilities to review at the monthly security meeting.

Code analysis›Honey-Corp/honeybucket
A security review reads the whole repository and reports what scanners miss.
Success
Security Review
about 2 months ago · Sonny Marsh · 11 findings
Critical risk
Success
Security Review
2 months ago · Sonny Marsh · 22 findings
Critical risk
Code analysis›Honey-Corp/honeybucket

Honey-Corp/honeybucket

Open vulnerabilities
13
8 crit/high
Active secrets
4
Need rotation
Quality gate
Issues found
Checks failed
SLA breached
3
Past deadline
Last scan
1 hour ago
Severity
Title
Slug
Status
Location
Critical
Hardcoded GitHub PAT persists in Django settings
#VULN-1HH2
Open
djangov2/honeybucket/settings.py
Critical
Hardcoded secrets in Django settings.py (API key, SECRET_KEY, DB password)
#VULN-1BRC
Open
djangov2/honeybucket/settings.py
Critical
Private TLS key committed to repository
#VULN-1BR7
Open
certs/private.key
Critical
GitHub token committed in ruby_stuff/.env
#VULN-1BRH
Open
ruby_stuff/.env
High
Stored XSS via markdown rendering with |safe filter
#VULN-3C48
Open
djangov2/pages/views.py
High
Vulnerable package: spring-security-web@6.5.3
#VULN-NYR
Open
wrongsecrets/pom.xml
High
Vulnerable package: stdlib@go1.24.0
#VULN-NXB
Open
wrongsecrets/src/main/go.mod
High
Vulnerable package: google.golang.org/grpc@v1.75.0
#VULN-ND8
Open
wrongsecrets/azure/go.mod
Medium
Vulnerable package: basic-ftp@5.0.5
#VULN-B6H
Open
unguard/src/user-simulator/package.json
Medium
Vulnerable package: mysql2@2.2.5
#VULN-3C4D
Open
unguard/src/user-auth-service/package.json
Medium
Vulnerable package: minimist@1.2.5
#VULN-J2MR
Open
unguard/src/user-auth-service/package.json
Low
Missing Content-Security-Policy on rendered pages
#VULN-R41T
Open
djangov2/honeybucket/middleware.py
Low
Debug mode enabled in checked-in settings
#VULN-W0PE
Open
djangov2/honeybucket/settings.py

Scan every PREvery pull request is checked for vulnerabilities, secrets, and risky dependencies before merge.

Fix vulnerabilitiesAsk Fencer to fix vulnerabilities, and it opens pull requests with the proposed upgrades.

Run a full code reviewReview your repository on demand to find issues beyond individual pull requests.

Prioritize findingsSee security findings across your codebase, prioritized so your team knows what to tackle first.

Noise reduction

Spend less time chasing false positives

Fencer evaluates findings in the context of your codebase to filter out noise and surface the vulnerabilities that need attention, with the context to help your team act.

Noise reduction96%filtered
Findings detected11,500
After deduplication2,553
In scope2,553
True positives460

Curious about what's already in your code? Your first 14 days of code scanning are free.

Get Started
Cloud security

Your agents change more than code

AI agents can modify infrastructure-as-code and cloud configuration, creating risks beyond the application itself. Fencer checks infrastructure changes in pull requests and monitors your live cloud environment for risky configurations.

Explore Cloud Security

A field of 12 findings, 1 of which need attention.

Pen testing

Validate your security after a big change

Run a full pen test in hours, get working proof for high and critical findings, then fix and retest to confirm the issues are resolved.

Explore AI Pen Testing
Attack chains5
2
Session Theft → Webhook SSRF → Cloud CredentialsCRITICAL
POST /api/webhooks

A session token lifted from the SQL injection authenticates a webhook write. The webhook URL points at the instance metadata address, and the delivery log records the temporary IAM credentials it returned.

Cloud role credentials obtained from an application-layer flaw, reaching storage outside the application's own boundary.

Impact 5Likelihood 32 findings

Teams shipping code with more confidence

Rely Health logo

We don't have time to constantly stop and run separate security processes. Security is just part of our workflow, which makes a big difference for a lean engineering team.

Prithvi Narasimhan

Prithvi Narasimhan

CTO

Pirros logo

Every PR that is opened by an engineer will have a Fencer review on it, and that review will call out security holes so those vulnerabilities never make it into our code.

Ari Baranian

Ari Baranian

CEO & Co-founder

Schematic logo

My team feels like our time is finally being used well in this category of work. Fencer is focused on surfacing the findings that matter, unlike other tools which were spewing off a bunch of garbage that we needed to keep up with.

Ben Papillon

Ben Papillon

CTO & Co-founder

See what your agents are shipping

Find security issues in your codebase, see how Fencer helps fix them, and keep your team in control of what merges.