By NHI Mgmt Group Editorial TeamDomain: Cyber SecuritySource: ApiiroPublished March 20, 2026

TL;DR: AI coding assistants have driven a 10x surge in monthly security findings within six months, while legacy SAST still struggles with cross-file logic, hallucinated dependencies, and false positives, according to Apiiro. The practical shift is from pattern matching to reachability, exploitability, and architectural context as the real filters for risk.


At a glance

What this is: AI-assisted development is amplifying security findings faster than legacy SAST can triage them, and the article argues that reachability, exploitability, and software architecture context now determine which alerts matter.

Why it matters: This matters to AppSec, IAM, and platform teams because identity-aware code paths, secrets handling, and approval workflows all become harder to govern when scanners cannot separate real exposure from noise.

By the numbers:

👉 Read Apiiro's analysis of the top AI SAST tools for agentic development


Context

AI-generated code has changed the security problem from isolated defects to high-volume risk validation. Traditional SAST was built for human-paced release cycles, where a small set of findings could be reviewed manually; that model breaks when code volume, dependency churn, and pull request frequency all increase at once. The primary keyword here is AI-generated code security, and the article argues that the control problem is not detection alone but deciding which findings are exploitable in the actual application path.

The identity angle is real even in an AppSec article because modern applications embed credentials, service-to-service authorization, and approval logic inside code paths that AI assistants now generate at speed. When scanners miss cross-file flows or over-report noise, teams lose confidence in the controls that protect secrets, privileged actions, and runtime access decisions. That makes software architecture context part of identity governance, not just application hygiene.

The starting position described in the article is increasingly typical for enterprise teams adopting AI coding tools. The gap is not whether scanners exist, but whether they can keep pace with multi-file reasoning, package hallucination, and suppression of non-exploitable alerts.


Key questions

Q: What breaks when SAST is used without reachability analysis in AI-generated code?

A: Teams end up treating every pattern match as equally important, even when the vulnerable path is blocked by sanitisation or never deployed. In AI-generated codebases, that creates noise, slows triage, and reduces trust in the security workflow. Reachability analysis is what separates useful remediation from alert fatigue.

Q: Why do AI-generated code changes increase application security risk?

A: AI-generated code can increase risk because it accelerates output faster than review, testing, and secret hygiene can keep up. The issue is not only flawed logic. It is also the possibility that tokens, credentials, unsafe dependencies, or insecure defaults are reproduced at scale across the delivery pipeline.

Q: How do security teams know if a SAST tool is actually working in an agentic development pipeline?

A: Look for evidence that the tool reduces false positives, proves exploitability, and explains findings in the context of the actual architecture. A useful tool lowers triage burden while catching issues that would otherwise survive into production, especially in multi-file AI-generated changes.

Q: Should organisations use one scanner or an orchestration layer for AI code security?

A: An orchestration layer is usually the better choice once multiple tools are in play. It lets teams deduplicate findings, correlate them with runtime exposure, and apply policy consistently. Without that layer, each scanner adds signal, but the overall workflow becomes harder to trust and manage.


Technical breakdown

Why legacy SAST misses AI-generated code risk

Traditional SAST tools rely on deterministic pattern matching over source code, often file by file or with limited data-flow awareness. That works when vulnerabilities map cleanly to known syntax patterns, but AI-generated code often distributes logic across helper functions, middleware, and service layers. The scanner may see safe fragments while missing the end-to-end path from input to sink. The result is both false negatives and alert floods, especially when model-generated code introduces novel combinations of unsafe patterns that do not match old signatures.

Practical implication: validate scanners against cross-file flows and reachable application paths, not only against pattern libraries.

Reachability and exploitability analysis in AI SAST

Reachability analysis asks whether a flagged issue can actually be hit from an external or internal trigger in the deployed architecture. Exploitability analysis goes further by checking whether the code path is genuinely harmful after sanitisation, access checks, or middleware controls. In AI-generated repositories, this distinction matters because generated code often includes redundant guards, wrapper functions, or framework defaults that neutralise the apparent flaw. Tools that can prove exploitability reduce noise, while tools that cannot often erode analyst trust and slow down remediation.

Practical implication: prioritise tools that suppress non-exploitable findings and preserve evidence for the issues that remain.

Why orchestration matters more than adding another scanner

As teams layer SAST, SCA, and secrets detection into the same pipeline, they create overlapping alerts that need deduplication, policy handling, and business-context ranking. In agentic development, security cannot function as a set of isolated point tools. A unifying orchestration layer correlates findings across scanners, maps them to runtime exposure, and prevents duplicate or low-value alerts from overwhelming developers. Without that layer, the control plane becomes noisier as automation increases.

Practical implication: build a risk-validation workflow that correlates scan output with architecture, deployment state, and business criticality.


Threat narrative

Attacker objective: The attacker objective is to exploit unvalidated AI-generated code paths before defenders can separate real risk from scanner noise.

  1. Entry occurs when AI-generated code introduces vulnerable patterns, hallucinated dependencies, or unsafe call chains into the repository.
  2. Escalation happens when traditional scanners fail to reconstruct the multi-file data flow and cannot distinguish reachable flaws from harmless patterns.
  3. Impact is measured in delayed remediation, false confidence, and exploitable application paths that survive into production.

NHI Mgmt Group analysis

AI-generated code security is becoming a governance problem, not just a tooling problem. The article shows that scanner volume now outpaces human triage capacity, which means security teams must decide which risks deserve intervention before developers are overloaded. That shifts the control objective from detection count to decision quality. For AppSec and platform teams, the relevant question is whether the workflow can validate risk fast enough to keep developer trust intact.

Reachability is the named concept that separates security signal from engineering noise. In AI-generated codebases, a vulnerability pattern is only useful if it can be reached in the deployed architecture and exploited after sanitisation or access control checks. This is where software graph context matters more than syntax coverage. Teams that cannot prove reachability will either miss real flaws or drown in alerts, so architectural context becomes the practical gate for remediation.

AI-assisted development exposes a gap in legacy SAST assumptions about code authorship and control boundaries. Older pipelines assume human-written code changes arrive slowly enough for manual review and rule tuning. AI assistants break that assumption by increasing code output while also increasing the chance of hallucinated dependencies and multi-file logic faults. For organisations with secrets, authorization, and approval logic embedded in application code, this is a governance issue that spans application security and identity control.

False positives now have a measurable security cost because they weaken the credibility of control enforcement. When every scanner adds more findings but fewer are actionable, developers learn to discount warnings, and security loses the ability to steer behaviour. That is especially dangerous in environments where code controls access decisions, token handling, and service permissions. The practical conclusion is that policy enforcement must be tied to evidence of exploitability, not just pattern detection.

Agentic development requires an architectural security model that understands runtime exposure, not only source code structure. The article’s strongest implication is that AI coding changes the boundary between build-time and runtime security. A finding that cannot be placed in runtime context is an incomplete control input. AppSec teams should treat architectural validation as part of modern security governance, not as an advanced optional feature.

What this signals

Reachability-based security will become a default expectation in AI-assisted development. Teams that still rely on pattern-only scanning will see more alerts, not better outcomes, as code generation scales faster than manual review. The practical signal for security leaders is to invest in workflows that validate architecture, deployment state, and exploitability together, rather than treating SAST as a standalone gate.

The broader programme implication is that code security and identity control are converging around privileged paths. If AI-generated code touches token handling, service authentication, or approval logic, then AppSec findings and identity risk can no longer be separated cleanly. Organisations should align code review, secrets governance, and access policy so that automation does not create an unchecked privilege pathway.

Software graph context is becoming a control primitive. In high-velocity development, the question is no longer whether a scanner can detect a vulnerability pattern, but whether it can place that pattern in the application’s real trust boundaries. That shift affects both tooling selection and operating model, because teams need evidence that controls are reducing risk rather than multiplying alerts.


For practitioners

  • Implement reachability-based triage Require SAST findings to prove an input-to-sink path in the deployed architecture before they enter the remediation queue. Treat sanitised or unreachable findings as informational, not actionable, so teams focus on exploitable paths.
  • Correlate scanner output into one risk view Deduplicate SAST, SCA, and secrets findings in a single workflow that maps each alert to code ownership, runtime exposure, and business criticality. This reduces duplicate work and makes policy decisions more consistent.
  • Test tools against real AI-generated pull requests Benchmark scanners on live repositories that include known vulnerabilities, multi-file flows, and model hallucinations. Measure time to context, remediation accuracy, and false-positive suppression instead of relying on synthetic datasets.
  • Protect identity-related code paths explicitly Flag application logic that handles authentication, token issuance, service-account credentials, or approval workflows for stricter review. AI-generated changes in these paths can create privilege and secret exposure even when the code looks syntactically safe.

Key takeaways

  • AI coding assistants have made security finding volume a governance problem because traditional triage cannot keep pace with the pace of change.
  • Reachability and exploitability are now more valuable than pattern detection alone because they separate real exposure from scanner noise.
  • Security teams should treat architectural context, runtime exposure, and identity-aware code paths as core inputs to modern AppSec decisions.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

MITRE ATT&CK address the attack and risk surface, while NIST CSF 2.0, NIST SP 800-53 Rev 5, CIS Controls v8 and NIST AI RMF set the governance and control requirements practitioners need to meet.

FrameworkControl / ReferenceRelevance
MITRE ATT&CKTA0007 , Discovery; TA0006 , Credential AccessAI-generated code can hide exploitable paths and credential exposure within multi-file logic.
NIST CSF 2.0PR.AC-4The article centers on validating whether code paths and access controls actually enforce least privilege.
NIST SP 800-53 Rev 5IA-5Credential-handling code and secret management remain central to the article’s identity risk angle.
CIS Controls v8CIS-16 , Application Software SecurityThe piece is about hardening application security in CI/CD and pull request workflows.
NIST AI RMFMANAGEAI-assisted coding changes the risk surface of software delivery and requires governance of deployed AI use.

Embed AI-generated code checks into CIS-16 controls and require exploitable-finding validation before merge.


Key terms

  • Reachability analysis: Reachability analysis checks whether a vulnerability can actually be exploited in the application’s real code paths and dependency graph. It helps teams distinguish theoretical findings from issues that an attacker can reach, which makes prioritisation far more accurate for both AppSec and identity risk management.
  • Exploitability Benchmark: An exploitability benchmark tests whether a model can progress from a weak signal to a working proof of concept against planted or known vulnerabilities. It is closer to real offensive validation than generic model scoring because it measures practical attacker outcomes.
  • Software graph: A software graph maps code, dependencies, services, and runtime relationships into a connected view of how an application behaves. It helps security teams understand where a finding sits in the actual architecture, which is crucial when AI-generated code spans multiple files and abstractions.
  • AI Code Security: AI code security is the practice of finding and controlling vulnerabilities introduced by generative coding tools and AI-assisted development workflows. It combines AppSec, policy enforcement, and runtime validation so machine-generated code is checked for unsafe logic, hallucinated dependencies, and secret exposure before production.

What's in the full article

Apiiro's full article covers the operational detail this post intentionally leaves for the source:

  • Deep Code Analysis and Software Graph mechanics for validating whether a finding is actually exploitable in context
  • Per-tool comparison details across ten AI SAST products, including where each fits in enterprise pipelines
  • Evaluation methods for measuring F1 score, time to context, and remediation accuracy on real AI-generated pull requests
  • Examples of how auto-remediation and PR-level enforcement can be integrated into developer workflows

👉 Apiiro's full article covers the scanner comparison table, evaluation criteria, and workflow integration details.

Deepen your knowledge

The NHI Foundation Level course, the industry's only accredited NHI security programme, covers NHI governance and machine identity security for teams that need stronger control over privileged code paths and access decisions. It helps security practitioners connect identity discipline to broader engineering and security operations.
NHIMG Editorial Note
Published by the NHIMG editorial team on August 18, 2026.
NHI Mgmt Group — the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org