Skip to content

Commit 6c5c87e

Browse files
committed
Fix projcet build errors
1 parent b30444b commit 6c5c87e

File tree

4 files changed

+24
-8
lines changed

4 files changed

+24
-8
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
category: minorAnalysis
3+
---
4+
* Added propmpt injection query
5+
* Added taint flow model and type model for `agents` and `openai` modules.

python/ql/lib/semmle/python/security/dataflow/PromptInjectionCustomizations.qll

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1+
/**
2+
* Provides default sources, sinks and sanitizers for detecting
3+
* "prompt injection"
4+
* vulnerabilities, as well as extension points for adding your own.
5+
*/
6+
17
import python
28
private import semmle.python.dataflow.new.DataFlow
39
private import semmle.python.Concepts
410
private import semmle.python.dataflow.new.RemoteFlowSources
511
private import semmle.python.dataflow.new.BarrierGuards
612
private import semmle.python.frameworks.OpenAI
713

8-
/**
9-
* Provides default sources, sinks and sanitizers for detecting
10-
* "prompt injection"
11-
* vulnerabilities, as well as extension points for adding your own.
12-
*/
1314
module PromptInjection {
1415
/**
1516
* A data flow source for "prompt injection" vulnerabilities.
@@ -31,6 +32,9 @@ module PromptInjection {
3132
*/
3233
private class ActiveThreatModelSourceAsSource extends Source, ActiveThreatModelSource { }
3334

35+
/**
36+
* Agent prompt sinks, considered as a flow sink.
37+
*/
3438
class SystemPromptSink extends Sink {
3539
SystemPromptSink() { this = Agent::sink().asSink() or this = OpenAI::sink().asSink() }
3640
}

python/ql/lib/semmle/python/security/dataflow/PromptInjectionQuery.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
/**
2+
* Provides taint-tracking configurations for detecting "prompt injection" vulnerabilities.
3+
*
4+
* Note, for performance reasons: only import this file if
5+
* `PromptInjection::Configuration` is needed, otherwise
6+
* `PromptInjectionCustomizations` should be imported instead.
7+
*/
8+
19
private import python
210
import semmle.python.dataflow.new.DataFlow
311
import semmle.python.dataflow.new.TaintTracking

python/ql/src/Security/CWE-1427/PromptInjection.qhelp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@
55

66
<overview>
77
<p>Prompts can be constructed to bypass the original purposes of an agent and lead to sensitive data leak or
8-
operations that were not intended.
9-
</p>
8+
operations that were not intended.</p>
109
</overview>
1110

1211
<recommendation>
13-
Sanitize user input and also avoid using user input in developer or system level prompts.
12+
<p>Sanitize user input and also avoid using user input in developer or system level prompts.</p>
1413
</recommendation>
1514

1615
<example>

0 commit comments

Comments
 (0)