ABSENTIA: Detecting Broken Access Control Vulnerabilities in Web Applications
summary
The gist
Broken access control, which involves authorization failures where a principal acts on an unauthorized resource, remains difficult to detect in source code because its defect is defined by an
In short
ABSENTIA is a security scaffolding that uses general LLM agents to systematically analyze web application source code route by route using invariant falsification. It detects 19 out of 30 broken access control vulnerabilities, outperforming dedicated tools like CodeQL and Semgrep. This demonstrates that a systematic procedure can recover application-specific authorization properties that traditional static analysis misses.
Key concepts
- Broken Access Control
- This defect occurs when an application fails to properly enforce 'who may act on what.' Unlike input flaws, it is a relationship between a user (principal) and a resource. Conventional tools struggle because the required security rule is semantic—it depends on the application's specific intended policy, not just syntactic code structure.
- Invariant Falsification
- This technique involves systematically testing every route to determine what properties it must guarantee. The agent constructs a request specifically designed to violate each property. This method moves beyond simply checking for existing guards; it actively tries to break the intended security logic of each application route.
- Graph of the Application's Request Surface
- This is a map built by ABSENTIA that records every route in an application. It links these routes to the specific code handling them, any authorization checks present, and sensitive operations. This mapping allows the system to understand how different parts of the application interact and where security boundaries lie.
- Composition Across Routes
- This stage addresses how actions on one route can be dangerous when combined with another. ABSENTIA tracks 'capabilities'—behaviors where an action on one route becomes critical due to a subsequent action on another route. This ensures that the security analysis considers the cumulative risk across multiple application paths.
Terminology used across episodes
This episode discusses
- ABSENTIA: Detecting Broken Access Control Vulnerabilities in Web Applications · Paper Radio
- The MiniMax-M2 Series: Mini Activations Unleashing Max Real-World Intelligence
- What Makes a Good LLM Agent for Real-world Penetration Testing?
- BACFuzz: Exposing the Silence on Broken Access Control Vulnerabilities in Web Applications
The paper
ABSENTIA: Detecting Broken Access Control Vulnerabilities in Web Applications · Read on arXiv
André Vicente Duarte, Aditya Oke, Rui Melo, Shubham Gandhi, Nachiket Kotalwar, Charmi Khandor, Danqing Wang, Arlindo L. Oliveira
Carnegie Mellon University
Transcript
Introduction to the show: ident: Security Radio. Generated commentary on the latest security and cryptography papers.
Nadia: Today's paper: "ABSENTIA: Detecting Broken Access Control Vulnerabilities in Web Applications".
Elias: Broken access control, which involves authorization failures where a principal acts on an unauthorized resource,
Nadia: First, who's behind it and why it matters.
Paper summary: Nadia: So, we’re starting with this paper titled "ABSENTIA: Detecting Broken Access Control Vulnerabilities in Web Applications." It looks like this work tackles the issue of broken access control, which is pretty prevalent in web security risks. The core idea seems to be that authorization isn't a simple data flow problem; it's more like a relation between who can do what on what resource. This makes it hard for traditional tools to find the flaws because no single rule applies universally across an application’s backend. Elias, you think this framing makes sense for understanding why this is so difficult to detect?
Elias: It does, Nadia. Because authorization isn't about how data moves in a sequence; it's about an application-specific relation—who may act on what. That means no rule written beforehand carries over to the next part of the system. Conventional taint analysis, which tracks input flow, just can’t capture that specific authorization context. This paper suggests that an LLM agent could actually infer this required relation directly from the code and data model, but without a systematic way to cover every route and prioritize what to inspect, those flaws remain hidden.
Priya: From a privacy and measurement standpoint, I’m interested in what this means for the actual data we can gather about these vulnerabilities. If the LLM agent is inferring these properties from source code, are we talking about a way to systematically audit security without needing dynamic testing or manual reviews for every single endpoint? What does this automation actually look like in terms of the information it extracts ?
Nadia: Exactly, Priya. The paper proposes ABSENTIA as a security scaffolding designed to turn general LLM agents into systematic vulnerability detectors for backend web applications. It claims this approach directs the agents to analyze source code route by route using invariant falsification. The central claim is that this methodology can recover the property each route is meant to guarantee directly from the source and code held to it, allowing a reviewer to verify findings instead of doing the heavy analysis themselves.
Elias: I see how they build that direction by first mapping out a graph of the application’s request surface, recording where each route is declared and linking it to the code and authorization checks. Then, they apply invariant falsification to audit each route one at a time, inferring what that specific route must guarantee and checking the code against that expectation. That sounds like a very targeted way to find those authorization gaps.
Paper summary: Priya: So, if we look at the data from this paper, what kind of empirical evidence do they present? Are we talking about just theoretical success or have they shown how effective this system is in practice against real vulnerabilities? What kind of results are we looking at regarding detection rates ?
Nadia: The paper validates ABSENTIA using a benchmark called BAC-BENC H, which contains thirty disclosed broken access control advisories across twenty-five repositories in Python, TypeScript, and JavaScript. The results show that this approach achieved a detection recall of nineteen out of thirty vulnerabilities. Furthermore, they noted that ABSENTIA outperformed dedicated static analysis tools like CodeQL and Semgrep, which recalled none.
Elias: That comparison against established tools is significant because it shows that systematic procedure can indeed recover application-specific authorization properties. The authors also mention that the performance gain comes from decomposition making vulnerabilities reachable, increasing recall from three instances to eighteen and then adding invariant falsification cuts reports by a third while raising verified precision.
Priya: That kind of performance metric—the increase in verified precision from forty point five percent to fifty point eight percent—tells us something about the reliability of these findings when we actually review them. What does that increased precision mean for the actual security engineering workflow? Does it reduce false alarms or increase trust in the reported issues ?
Nadia: It means that when ABSENTIA flags something, it’s much more likely to be a real issue because of that precision gain. This suggests that the systematic direction provided by ABSENTIA is highly effective at filtering out noise and focusing the review effort on actionable items. It really shows that automating the reading task of security properties can yield reliable results.
Elias: I think it points to a necessary evolution in how we approach authorization auditing in code, moving away from generalized flow analysis toward property-based verification guided by structural mapping. The system manages continuous analysis by reusing verdicts from previous runs, which helps keep the process manageable over time. This persistence is key for practical application within a development cycle.
Priya: And what about the cost of running this kind of systematic analysis? If we consider deploying this across a large enterprise codebase, how significant is the operational expenditure associated with running ABSENTIA compared to the potential reduction in costly post-deployment breaches ?
Nadia: The paper notes that the cost of running ABSENTIA is substantial, with a median cost of approximately forty-four per repository. However, they manage this by reusing verdicts from previous commits when files are byte-identical across those two versions. This continuity is what makes the analysis feasible for ongoing auditing rather than a one-off check.
Paper summary: Elias: The complexity of the scaffolding itself seems to be the main barrier, as it requires two agents for mapping and then sequential analysis by route. The authors admit that a stronger model underneath, like Claude Sonnet-five can recover more instances when reporting them, but they found that this doesn't improve the initial route extraction stage. So, the direction setting is crucial even if the inference engine is powerful.
Priya: It sounds like a trade-off between high cost and high specificity, where you invest more upfront in directing the analysis systematically to get more accurate results later on. This kind of systematic direction seems essential when dealing with authorization failures, where the context is so application-specific.
Nadia: So, to wrap up this discussion on ABSENTIA, we’ve seen how this scaffolding attempts to automate the arduous task of finding broken access control issues by systematically directing LLM agents through route-by-route analysis using invariant falsification. It shows that we can recover these application-specific authorization properties directly from the source code, which is a significant step forward in automated security auditing.
Elias: Indeed, the implications suggest a future where security engineers don't have to perform exhaustive manual checks on every single route; instead, they use this systematic approach as an audit tool. The core of ABSENTIA is turning general LLM agents into directed vulnerability detectors for backend web applications, which is a novel way to handle the nature of authorization.
Priya: When we think about the broader impact, this work suggests that we can start moving toward automated verification of intended security policies within an application’s source code rather than just searching for known patterns or flow signatures. This shifts the focus to what the route is *supposed* to guarantee, which is a much more robust way to approach authorization flaws.
Nadia: That shift in focus from flow tracing to property verification seems like the most important concept here for the future of security tooling. We've seen how ABSENTIA, despite its cost and complexity, managed to detect nineteen out of thirty disclosed vulnerabilities better than CodeQL or Semgrep.
Elias: The paper concludes that the systematic procedure itself is what makes those vulnerabilities reachable by an AI agent, demonstrating that structure and direction are as important as the underlying model's raw capability in this context. This points toward a future where security analysis relies heavily on architectural understanding rather than just pattern matching.
Paper summary: Priya: It really makes you wonder how far this direction-setting capability can be extended to other complex authorization scenarios that aren't just simple route checks, like multi-tenant access policies or fine-grained resource permissions. That seems like the next frontier for this kind of systematic property recovery.
Nadia: Exactly, Priya, because those complex relations are precisely where conventional static analysis tools struggle the most. ABSENTIA provides a framework to start mapping those application-specific relations systematically.
Elias: So, the paper on "ABSENTIA: Detecting Broken Access Control Vulnerabilities in Web Applications" presents a way to use structured scaffolding with LLMs to systematically audit web application routes using invariant falsification. It claims this method can recover the intended security properties of a route directly from the code, which has shown success in detecting nineteen out of thirty disclosed vulnerabilities compared to other static analysis tools.
Priya: The authors are suggesting that this systematic approach, building the request surface graph and then auditing route by route, offers a more reliable way for developers to verify authorization checks than just looking for conventional framework-specific guards. This methodology seems rooted in using AI as an engineer reading code to infer what the code is meant to enforce.
Nadia: The implications for the world of application security are that we might see a shift toward more automated, directed auditing processes that focus on verifying intended authorization relations rather than just chasing data flow patterns. This work highlights how essential systematic direction is when dealing with security properties that lack universal flow signatures.
Elias: That's a big idea, Nadia, because it tackles the fundamental difference between injection flaws and access control flaws—one being about data movement and the other being about a specific relation. If we can automate inference of that relation from the code, it could significantly improve our ability to secure complex web architectures.
Priya: I just think the most tangible impact is in how developers use these tools; instead of getting thousands of vague alerts, they get a targeted set of properties each route must satisfy, which helps them fix the root authorization mistake directly.
Nadia: It does sound like the title "ABSENTIA: Detecting Broken Access Control Vulnerabilities in Web Applications" is fitting because it describes a security scaffolding that systematically directs LLM agents to analyze application routes using invariant falsification. The authors are showing us how to use AI to perform this specific, directed reading task.
Conclusion: Nadia: So we've just looked at how ABSENTIA systematically scans code to find broken access control issues, and now we need to wrap up by talking about the title and authors of this paper, right?
Elias: Yeah, I think focusing on the title "ABSENTIA" is a good starting point because it hints at a scaffolding or a framework being built for this analysis.
Priya: From my side, I think we should really look at who wrote it and what kind of background those researchers have to understand their approach.
Nadia: Exactly, Priya; knowing the authors helps us gauge the credibility of this method when we're talking about real-world security fixes.
Elias: I noticed they were working with a problem where authorization isn't a simple data flow issue, which is a key distinction from what we usually see in these types of analyses.
Priya: That distinction is crucial because it means the authors are targeting a fundamentally different kind of vulnerability that standard tools often miss.
Nadia: And the authors are showing us how they use invariant falsification to check the properties each route should guarantee, which is a very specific technique.
Elias: That technique suggests they're trying to recover those application-specific rules directly from the source code, rather than relying on generic rules.
Priya: So, what does that recovery process actually look like in practice for an AI agent analyzing the codebase? What kind of data is being inferred?
Nadia: It’s about turning a general LLM into a systematic checker that builds a map of the application and then tests every path against its intended security requirements.
Elias: That mapping phase, building the request surface graph, seems like it's the most critical part for making sure the analysis is targeted and not just random.
Priya: I’m interested in how they handle continuous analysis; if this system can reuse verdicts from previous runs, does that make it practical for real development cycles?
Nadia: It definitely does; having that continuity means developers can see how their fixes affect the overall security posture over time, which is very useful.
Elias: The authors also pointed out the cost involved in running this kind of deep analysis, so we have to keep an eye on whether that cost scales effectively for large projects.
Priya: I think the real implication here is that we might start shifting our focus from finding simple injection patterns to verifying the intended security policy at a much deeper level.
Nadia: That sounds like a big shift; instead of just tracing data movement, we’re looking at what the application was supposed to enforce all along.
Elias: It moves us closer to understanding how complex authorization relations are actually implemented in code, which is where things get tricky for traditional methods.
Priya: And that's where the next big question is whether this systematic approach can handle those more complicated, multi-tenant access scenarios we see today.
More episodes
- 2610.10644-SoK: Failure Modes in Common Criteria Product Evaluation - A Taxonomy and Design-for-Evaluability Guidance
- 2610.10617-MRCert: Towards Post-deployment Patch Robustness Certification for Adversarially Patched Samples via Type-specific Masking
- 2610.10620-When AI Finds Hidden Messages, Does It Report?
- 2610.10625-Safe at One Loop, Risky at Another: Aligning Safety Across Recurrent Depths in Looped Language Models
- 2610.10992-The Hint Weight of ML-DSA Signatures Is Key-Dependent: An Empirical Study across the Three FIPS 204 Parameter Sets
- 2610.10659-Applying Security by Design at the Point of Execution: How Governed Security Requirements Affect the Security of AI-Generated Code
- 2610.10735-DITTO: A Context-aware Pickle-based Pre-Trained Model Scanner for Effective Security Audits
- 2610.10742-BRANCH: Bypassing Multi-Scanner AI Guardrails
- 2610.10752-Detection-Guided Adaptive Purification with Diffusion Models for Robust Audio Deepfake Detection
- 2610.10766-CPU-Auth: Device Fingerprinting for Authentication via DVFS Side-Channel