mirror of
https://github.com/github/codeql.git
synced 2026-02-11 20:51:06 +01:00
Allow MaD barriers relating to ExternalLocationSink
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
|
||||
import csharp
|
||||
private import semmle.code.csharp.security.dataflow.flowsources.Remote
|
||||
private import semmle.code.csharp.dataflow.internal.ExternalFlow
|
||||
private import semmle.code.csharp.frameworks.system.Web
|
||||
private import semmle.code.csharp.security.SensitiveActions
|
||||
private import semmle.code.csharp.security.dataflow.flowsinks.ExternalLocationSink
|
||||
@@ -62,3 +63,5 @@ class ProtectSanitizer extends Sanitizer {
|
||||
* An external location sink.
|
||||
*/
|
||||
class ExternalSink extends Sink instanceof ExternalLocationSink { }
|
||||
|
||||
private class ExternalSanitizer extends Sanitizer instanceof ExternalLocationSanitizer { }
|
||||
|
||||
@@ -46,3 +46,5 @@ private class PrivateDataSource extends Source {
|
||||
}
|
||||
|
||||
private class ExternalLocation extends Sink instanceof ExternalLocationSink { }
|
||||
|
||||
private class ExternalSanitizer extends Sanitizer instanceof ExternalLocationSanitizer { }
|
||||
|
||||
@@ -126,3 +126,11 @@ class LocalFileOutputSink extends ExternalLocationSink {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A sanitizer for writing data to locations that are external to the
|
||||
* application, defined through Models as Data.
|
||||
*/
|
||||
class ExternalLocationSanitizer extends DataFlow::Node {
|
||||
ExternalLocationSanitizer() { barrierNode(this, "file-content-store") }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user