Improve privilege workflow detection

This commit is contained in:
Alvaro Muñoz
2024-09-24 12:12:29 +02:00
parent fe06c9e5fa
commit abd49d5b11

View File

@@ -252,26 +252,10 @@ predicate inPrivilegedExternallyTriggerableJob(AstNode node) {
)
}
predicate calledByPrivilegedExternallyTriggerableJob(AstNode node) {
exists(ReusableWorkflow rw, ExternalJob caller, Job callee |
callee = node.getEnclosingJob() and
rw.getACaller() = caller and
rw.getAJob() = callee and
caller.isPrivilegedExternallyTriggerable()
)
or
exists(LocalJob caller |
caller = node.getEnclosingCompositeAction().getACallerJob() and
caller.isPrivilegedExternallyTriggerable()
)
}
predicate inPrivilegedContext(AstNode node) {
inPrivilegedCompositeAction(node)
or
inPrivilegedExternallyTriggerableJob(node)
or
calledByPrivilegedExternallyTriggerableJob(node)
}
predicate inNonPrivilegedCompositeAction(AstNode node) {