From 290c35e7c686502adbc4f0af48bb8df6330a95df Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Fri, 26 Aug 2022 13:47:31 +0200 Subject: [PATCH] Java: Use negative summary models in unsupported external api telemetry query. --- .../semmle/code/csharp/frameworks/GeneratedNegative.qll | 3 --- .../code/java/dataflow/internal/NegativeSummary.qll | 9 +++++++++ .../semmle/code/java/frameworks/GeneratedNegative.qll | 6 ++++++ java/ql/src/Telemetry/UnsupportedExternalAPIs.ql | 1 + 4 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 java/ql/lib/semmle/code/java/dataflow/internal/NegativeSummary.qll create mode 100644 java/ql/lib/semmle/code/java/frameworks/GeneratedNegative.qll diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/GeneratedNegative.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/GeneratedNegative.qll index 0e1c66e251d..fffdcce3894 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/GeneratedNegative.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/GeneratedNegative.qll @@ -1,9 +1,6 @@ /** * A module importing all generated negative Models as Data models. */ - -import csharp - private module GeneratedFrameworks { private import generated.dotnet.NegativeRuntime } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/NegativeSummary.qll b/java/ql/lib/semmle/code/java/dataflow/internal/NegativeSummary.qll new file mode 100644 index 00000000000..e7b6b7b8838 --- /dev/null +++ b/java/ql/lib/semmle/code/java/dataflow/internal/NegativeSummary.qll @@ -0,0 +1,9 @@ +/** Provides modules for importing negative summaries. */ + +/** + * A module importing the frameworks that provide external flow data, + * ensuring that they are visible to the taint tracking / data flow library. + */ +private module Frameworks { + private import semmle.code.java.frameworks.GeneratedNegative +} diff --git a/java/ql/lib/semmle/code/java/frameworks/GeneratedNegative.qll b/java/ql/lib/semmle/code/java/frameworks/GeneratedNegative.qll new file mode 100644 index 00000000000..ca97ef4e516 --- /dev/null +++ b/java/ql/lib/semmle/code/java/frameworks/GeneratedNegative.qll @@ -0,0 +1,6 @@ +/** + * A module importing all generated negative Models as Data models. + */ +private module GeneratedFrameworks { + private import apache.NegativeIOGenerated +} diff --git a/java/ql/src/Telemetry/UnsupportedExternalAPIs.ql b/java/ql/src/Telemetry/UnsupportedExternalAPIs.ql index dde454dd00d..a6666637f16 100644 --- a/java/ql/src/Telemetry/UnsupportedExternalAPIs.ql +++ b/java/ql/src/Telemetry/UnsupportedExternalAPIs.ql @@ -8,6 +8,7 @@ import java import semmle.code.java.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl +import semmle.code.java.dataflow.internal.NegativeSummary import ExternalApi private predicate getRelevantUsages(ExternalApi api, int usages) {