Skip to content

Commit 61be37d

Browse files
committed
Formatting
1 parent da05992 commit 61be37d

6 files changed

Lines changed: 22 additions & 56 deletions

File tree

javascript/ql/lib/semmle/javascript/frameworks/Anthropic.qll

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,13 @@ private import javascript
1313

1414
module Anthropic {
1515
/** Gets a reference to the `Anthropic` client instance. */
16-
private API::Node classRef() {
17-
result = API::moduleImport("@anthropic-ai/sdk").getInstance()
18-
}
16+
private API::Node classRef() { result = API::moduleImport("@anthropic-ai/sdk").getInstance() }
1917

2018
/** Gets a reference to the messages.create params (both stable and beta). */
2119
private API::Node messagesCreateParams() {
2220
result = classRef().getMember("messages").getMember("create").getParameter(0)
2321
or
24-
result =
25-
classRef().getMember("beta").getMember("messages").getMember("create").getParameter(0)
22+
result = classRef().getMember("beta").getMember("messages").getMember("create").getParameter(0)
2623
}
2724

2825
/**
@@ -52,4 +49,4 @@ module Anthropic {
5249
result = msg.getMember("content")
5350
)
5451
}
55-
}
52+
}

javascript/ql/lib/semmle/javascript/frameworks/GoogleGenAI.qll

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ private import javascript
1414
module GoogleGenAI {
1515
/** Gets a reference to the `GoogleGenAI` client instance. */
1616
private API::Node clientRef() {
17-
result =
18-
API::moduleImport("@google/genai").getMember("GoogleGenAI").getInstance()
17+
result = API::moduleImport("@google/genai").getMember("GoogleGenAI").getInstance()
1918
}
2019

2120
/**

javascript/ql/lib/semmle/javascript/frameworks/OpenAI.qll

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -225,17 +225,11 @@ module AgentSDK {
225225
*/
226226
API::Node getSystemOrAssistantPromptNode() {
227227
// Agent({ instructions: (runContext) => returnValue }) — callback form
228-
result = moduleRef()
229-
.getMember("Agent")
230-
.getParameter(0)
231-
.getMember("instructions")
232-
.getReturn()
228+
result = moduleRef().getMember("Agent").getParameter(0).getMember("instructions").getReturn()
233229
or
234230
// run(agent, [{ role: "system"/"developer", content: ... }])
235231
exists(API::Node msg |
236-
msg = run()
237-
.getParameter(1)
238-
.getArrayElement() and
232+
msg = run().getParameter(1).getArrayElement() and
239233
isSystemOrDevMessage(msg)
240234
|
241235
result = msg.getMember("content")
@@ -270,18 +264,11 @@ module AgentSDK {
270264
or
271265
// GuardrailAgent.create(config, ...) without input/pre_flight guardrails
272266
exists(API::Node createCall |
273-
createCall =
274-
moduleRef()
275-
.getMember("GuardrailAgent")
276-
.getMember("create") and
267+
createCall = moduleRef().getMember("GuardrailAgent").getMember("create") and
277268
result = createCall.getParameter(0) and
278269
exists(result.getMember("version")) and
279-
not exists(
280-
result.getMember("input").getMember("guardrails").getArrayElement()
281-
) and
282-
not exists(
283-
result.getMember("pre_flight").getMember("guardrails").getArrayElement()
284-
)
270+
not exists(result.getMember("input").getMember("guardrails").getArrayElement()) and
271+
not exists(result.getMember("pre_flight").getMember("guardrails").getArrayElement())
285272
)
286273
}
287274
}

javascript/ql/lib/semmle/javascript/frameworks/OpenRouter.qll

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,8 @@ module OpenRouterAgent {
9191
result = moduleRef().getMember("callModel").getParameter(0)
9292
or
9393
// import { OpenRouter } from '@openrouter/agent'; new OpenRouter(...).callModel({ ... })
94-
result = moduleRef().getMember("OpenRouter").getInstance().getMember("callModel").getParameter(0)
94+
result =
95+
moduleRef().getMember("OpenRouter").getInstance().getMember("callModel").getParameter(0)
9596
}
9697

9798
/**

javascript/ql/lib/semmle/javascript/security/dataflow/SystemPromptInjectionCustomizations.qll

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
*/
66

77
import javascript
8-
98
private import semmle.javascript.dataflow.DataFlow
109
private import semmle.javascript.Concepts
1110
private import semmle.javascript.security.dataflow.RemoteFlowSources
@@ -40,8 +39,7 @@ module SystemPromptInjection {
4039
/**
4140
* An active threat-model source, considered as a flow source.
4241
*/
43-
private class ActiveThreatModelSourceAsSource extends Source, ActiveThreatModelSource {
44-
}
42+
private class ActiveThreatModelSourceAsSource extends Source, ActiveThreatModelSource { }
4543

4644
/**
4745
* A prompt to an AI model, considered as a flow sink.
@@ -51,9 +49,7 @@ module SystemPromptInjection {
5149
}
5250

5351
private class SinkFromModel extends Sink {
54-
SinkFromModel() {
55-
this = ModelOutput::getASinkNode("system-prompt-injection").asSink()
56-
}
52+
SinkFromModel() { this = ModelOutput::getASinkNode("system-prompt-injection").asSink() }
5753
}
5854

5955
private class PromptContentSink extends Sink {
@@ -73,8 +69,7 @@ module SystemPromptInjection {
7369
}
7470

7571
private class ConstCompareAsSanitizerGuard extends Sanitizer {
76-
ConstCompareAsSanitizerGuard()
77-
{
72+
ConstCompareAsSanitizerGuard() {
7873
this = DataFlow::MakeBarrierGuard<ConstCompareBarrierGuard>::getABarrierNode()
7974
}
8075
}
@@ -100,14 +95,10 @@ module SystemPromptInjection {
10095
/**
10196
* A comparison with a constant, considered as a sanitizer-guard.
10297
*/
103-
private class ConstCompareBarrierGuard extends DataFlow::ValueNode
104-
{
98+
private class ConstCompareBarrierGuard extends DataFlow::ValueNode {
10599
override EqualityTest astNode;
106100

107-
ConstCompareBarrierGuard()
108-
{
109-
astNode.hasOperands(_, any(ConstantString cs))
110-
}
101+
ConstCompareBarrierGuard() { astNode.hasOperands(_, any(ConstantString cs)) }
111102

112103
predicate blocksExpr(boolean outcome, Expr e) {
113104
outcome = astNode.getPolarity() and

javascript/ql/src/experimental/semmle/javascript/security/PromptInjection/UserPromptInjectionCustomizations.qll

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
*/
66

77
import javascript
8-
98
private import semmle.javascript.dataflow.DataFlow
109
private import semmle.javascript.Concepts
1110
private import semmle.javascript.security.dataflow.RemoteFlowSources
@@ -30,8 +29,7 @@ module UserPromptInjection {
3029
/**
3130
* A data flow sink for "user prompt injection" vulnerabilities.
3231
*/
33-
abstract class Sink extends DataFlow::Node {
34-
}
32+
abstract class Sink extends DataFlow::Node { }
3533

3634
/**
3735
* A sanitizer for "user prompt injection" vulnerabilities.
@@ -41,8 +39,7 @@ module UserPromptInjection {
4139
/**
4240
* An active threat-model source, considered as a flow source.
4341
*/
44-
private class ActiveThreatModelSourceAsSource extends Source, ActiveThreatModelSource {
45-
}
42+
private class ActiveThreatModelSourceAsSource extends Source, ActiveThreatModelSource { }
4643

4744
/**
4845
* A prompt to an AI model, considered as a flow sink.
@@ -52,9 +49,7 @@ module UserPromptInjection {
5249
}
5350

5451
private class SinkFromModel extends Sink {
55-
SinkFromModel() {
56-
this = ModelOutput::getASinkNode("user-prompt-injection").asSink()
57-
}
52+
SinkFromModel() { this = ModelOutput::getASinkNode("user-prompt-injection").asSink() }
5853
}
5954

6055
private class PromptContentSink extends Sink {
@@ -76,14 +71,10 @@ module UserPromptInjection {
7671
/**
7772
* A comparison with a constant, considered as a sanitizer-guard.
7873
*/
79-
private class ConstCompareBarrierGuard extends DataFlow::ValueNode
80-
{
74+
private class ConstCompareBarrierGuard extends DataFlow::ValueNode {
8175
override EqualityTest astNode;
8276

83-
ConstCompareBarrierGuard()
84-
{
85-
astNode.hasOperands(_, any(ConstantString cs))
86-
}
77+
ConstCompareBarrierGuard() { astNode.hasOperands(_, any(ConstantString cs)) }
8778

8879
predicate blocksExpr(boolean outcome, Expr e) {
8980
outcome = astNode.getPolarity() and
@@ -92,4 +83,4 @@ module UserPromptInjection {
9283
not e instanceof ConstantString
9384
}
9485
}
95-
}
86+
}

0 commit comments

Comments
 (0)