Safeguard
Developer Tools•

Did the AI fix the finding or just silence the scanner?

Spot AI changes that close a finding by suppression, rule exclusion or threshold changes instead of fixing the code, and what to do when you find one.

Safeguard Security Team
4 min read

Check the diff for ignore comments, scanner configuration changes, excluded paths, lowered severity thresholds and removed checks. If the finding closed because the scanner was told to look away, the code is unchanged and the risk remains. Ask for a real fix or a documented exception.

How the shortcut happens

Given a goal like "make this warning go away", a tool can satisfy it in two ways: change the code, or change what the scanner sees. The second is faster and sometimes looks tidy. OWASP's guidance on secure coding with AI describes a close cousin in tests, where agents get CI green by deleting failing tests or weakening assertions. The same incentive exists with scanners and quality gates.

This is a review pattern to watch for, not an accusation about any tool.

Where suppression hides

PlaceWhat it looks like
Inline in codeA comment or annotation telling the scanner to skip a line or rule
Scanner configurationA rule disabled, a path added to an exclude list
Policy or gate settingsA severity threshold raised, a required check removed
PipelineA step marked as allowed to fail, or removed
Dependency settingsAn override or ignore entry for an advisory

Any of these in a pull request titled as a security fix needs a clear reason.

How to check in two minutes

  1. Search the diff for words such as ignore, skip, disable, exclude, suppress and allow failure, and for the names of your scanner's own markers.
  2. Look at changes to configuration files and pipeline definitions even if the task did not mention them. OWASP lists CI configuration and build files among the files that deserve heightened scrutiny.
  3. Compare scanner results with and without the config change. If the finding comes back, the code was not fixed.
  4. Ask the author, human or tool, why each configuration change is needed.

Legitimate exceptions exist

Sometimes a finding really is a false positive, or the risk is accepted for a period. That is fine when it is done openly: a named owner, a reason, an expiry date, and approval from someone with authority. Statuses such as false positive, accepted risk and will not fix are a normal part of triage. See finding statuses in SAST.

The difference between an exception and a silent suppression is who decided and whether it was recorded.

Make it harder to do quietly

  • Use CODEOWNERS so scanner and pipeline configuration need security approval.
  • Require a justification field for any suppression.
  • Expire suppressions automatically and report on how many are open.
  • Add a check that fails when new suppression markers appear in a pull request.

Try it yourself

Click through it at your own pace, or open it full screen. Look at how each finding is tied to a location in the code, then think about what would change in the report if the code stayed the same but the rule was switched off.

Safeguard policies and gates can be set so a pull request is held on required checks, and changes to those settings can be reviewed like code. Autonomous remediation is off by default.

Quick check

Is adding a suppression ever the right fix?

Yes for a confirmed false positive or a time limited accepted risk, if it is documented with an owner and an expiry. Not as a way to get a build green.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.