Skip to content

Conversation

@aschackmull
Copy link
Contributor

What the title says. This adds the basic plumbing, but doesn't update any queries yet.

@github-actions github-actions bot added the C# label Jan 9, 2026
…w.qll

Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
@aschackmull aschackmull marked this pull request as ready for review January 13, 2026 08:15
@aschackmull aschackmull requested a review from a team as a code owner January 13, 2026 08:15
Copilot AI review requested due to automatic review settings January 13, 2026 08:15
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for MaD (Models-as-Data) barriers and barrier guards in C#. This is foundational infrastructure that enables modeling of security barriers and barrier guards through external data models, though queries are not updated yet to use this functionality.

Changes:

  • Added ParameterizedBarrierGuard module for parameterized barrier guard support
  • Implemented barrierElement and barrierGuardModel predicates to interpret MaD barrier specifications
  • Extended model validation to cover barrier and barrier guard models
  • Added public API for barrier nodes

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
csharp/ql/lib/semmle/code/csharp/dataflow/internal/SsaImpl.qll Adds ParameterizedBarrierGuard module with signature support for parameterized guard checks
csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImpl.qll Implements barrierElement and barrierGuardElement predicates to interpret barrier models from MaD specifications
csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll Adds validation logic for barrier models, accepting value conversion, and cached barrier node predicates
csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll Exposes public API for ParameterizedBarrierGuard module with comprehensive documentation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@aschackmull aschackmull merged commit 8257475 into github:main Jan 13, 2026
28 of 29 checks passed
@aschackmull aschackmull deleted the csharp/mad-barriers branch January 13, 2026 10:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants