diff --git a/.github/workflows/ci-owasp-dep-check.yaml b/.github/workflows/ci-owasp-dep-check.yaml
new file mode 100644
index 0000000000000..2677705deb518
--- /dev/null
+++ b/.github/workflows/ci-owasp-dep-check.yaml
@@ -0,0 +1,94 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+name: CI - Misc - OWASP Dependency Check
+on:
+ pull_request:
+ branches:
+ - master
+ push:
+ branches:
+ - branch-*
+
+env:
+ MAVEN_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.http.retryHandler.class=standard -Dmaven.wagon.http.retryHandler.count=3
+
+jobs:
+
+ owasp-dep-check:
+ name:
+ runs-on: ubuntu-latest
+ timeout-minutes: 120
+
+ steps:
+ - name: checkout
+ uses: actions/checkout@v2
+
+ - name: Tune Runner VM
+ uses: ./.github/actions/tune-runner-vm
+
+ - name: Detect changed pom files
+ id: changes
+ uses: apache/pulsar-test-infra/paths-filter@master
+ with:
+ filters: |
+ poms:
+ - 'pom.xml'
+ - '**/pom.xml'
+
+ - name: Cache local Maven repository
+ if: ${{ steps.changes.outputs.poms == 'true' }}
+ uses: actions/cache@v2
+ with:
+ path: |
+ ~/.m2/repository/*/*/*
+ !~/.m2/repository/org/apache/pulsar
+ key: ${{ runner.os }}-m2-dependencies-all-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-m2-dependencies-core-modules-${{ hashFiles('**/pom.xml') }}
+ ${{ runner.os }}-m2-dependencies-core-modules-
+
+ - name: Set up JDK 11
+ uses: actions/setup-java@v2
+ if: ${{ steps.changes.outputs.poms == 'true' }}
+ with:
+ distribution: 'temurin'
+ java-version: 11
+
+ - name: clean disk
+ if: ${{ steps.changes.outputs.poms == 'true' }}
+ run: |
+ sudo swapoff -a
+ sudo rm -rf /swapfile /usr/share/dotnet /usr/local/lib/android /opt/ghc
+ sudo apt clean
+ docker rmi $(docker images -q) -f
+ df -h
+
+ # Projects dependent on flume, hdfs, hbase, and presto currently excluded from the scan.
+ - name: run "clean install verify" to trigger dependency check
+ if: ${{ steps.changes.outputs.poms == 'true' }}
+ run: mvn -q -B -ntp clean install verify -PskipDocker,owasp-dependency-check -DskipTests -pl '!pulsar-sql,!distribution/io,!distribution/offloaders,!tiered-storage/file-system,!pulsar-io/flume,!pulsar-io/hbase,!pulsar-io/hdfs2,!pulsar-io/hdfs3,!pulsar-io/docs'
+
+ - name: Upload report
+ uses: actions/upload-artifact@v2
+ if: ${{ cancelled() || failure() }}
+ continue-on-error: true
+ with:
+ name: dependency report
+ path: target/dependency-check-report.html
diff --git a/distribution/io/pom.xml b/distribution/io/pom.xml
index b0abad738c67a..15fea18cd18fa 100644
--- a/distribution/io/pom.xml
+++ b/distribution/io/pom.xml
@@ -125,6 +125,31 @@
+
+
+ owasp-dependency-check
+
+
+
+ org.owasp
+ dependency-check-maven
+ ${dependency-check-maven.version}
+
+
+
+ aggregate
+
+ none
+
+
+
+
+
+
diff --git a/distribution/pom.xml b/distribution/pom.xml
index ee0a3c32decd6..f8b1a484b99a4 100644
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -53,7 +53,6 @@
server
-
diff --git a/pom.xml b/pom.xml
index 86bc285f7b1d3..1412831470f60 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2326,6 +2326,7 @@ flexible messaging model and an intuitive client API.
${pulsar.basedir}/src/owasp-dependency-check-false-positives.xml
${pulsar.basedir}/src/owasp-dependency-check-suppressions.xml
+ 7
false
false
false
diff --git a/pulsar-io/docs/pom.xml b/pulsar-io/docs/pom.xml
index 3b234fbf84720..c9a593a2685f9 100644
--- a/pulsar-io/docs/pom.xml
+++ b/pulsar-io/docs/pom.xml
@@ -215,5 +215,32 @@
+
+
+
+ owasp-dependency-check
+
+
+
+ org.owasp
+ dependency-check-maven
+ ${dependency-check-maven.version}
+
+
+
+ aggregate
+
+ none
+
+
+
+
+
+
+
diff --git a/pulsar-io/flume/pom.xml b/pulsar-io/flume/pom.xml
index dfa3047d8e628..881648f37e548 100644
--- a/pulsar-io/flume/pom.xml
+++ b/pulsar-io/flume/pom.xml
@@ -138,5 +138,32 @@
+
+
+
+ owasp-dependency-check
+
+
+
+ org.owasp
+ dependency-check-maven
+ ${dependency-check-maven.version}
+
+
+
+ aggregate
+
+ none
+
+
+
+
+
+
+
diff --git a/pulsar-io/hbase/pom.xml b/pulsar-io/hbase/pom.xml
index 4f8986541ebe7..21a95a77c799e 100644
--- a/pulsar-io/hbase/pom.xml
+++ b/pulsar-io/hbase/pom.xml
@@ -95,5 +95,32 @@
+
+
+
+ owasp-dependency-check
+
+
+
+ org.owasp
+ dependency-check-maven
+ ${dependency-check-maven.version}
+
+
+
+ aggregate
+
+ none
+
+
+
+
+
+
+
diff --git a/pulsar-io/hdfs2/pom.xml b/pulsar-io/hdfs2/pom.xml
index 903c386098923..984d22e26acda 100644
--- a/pulsar-io/hdfs2/pom.xml
+++ b/pulsar-io/hdfs2/pom.xml
@@ -92,5 +92,32 @@
-
+
+
+
+ owasp-dependency-check
+
+
+
+ org.owasp
+ dependency-check-maven
+ ${dependency-check-maven.version}
+
+
+
+ aggregate
+
+ none
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pulsar-io/hdfs3/pom.xml b/pulsar-io/hdfs3/pom.xml
index d1b91600a6458..dbaca3c9d9909 100644
--- a/pulsar-io/hdfs3/pom.xml
+++ b/pulsar-io/hdfs3/pom.xml
@@ -97,5 +97,32 @@
-
+
+
+
+ owasp-dependency-check
+
+
+
+ org.owasp
+ dependency-check-maven
+ ${dependency-check-maven.version}
+
+
+
+ aggregate
+
+ none
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pulsar-io/pom.xml b/pulsar-io/pom.xml
index 2fec8d4591467..b0983456085de 100644
--- a/pulsar-io/pom.xml
+++ b/pulsar-io/pom.xml
@@ -88,7 +88,6 @@
data-generator
-
diff --git a/pulsar-sql/pom.xml b/pulsar-sql/pom.xml
index a4eb11ae1f2ac..e9bca818988bf 100644
--- a/pulsar-sql/pom.xml
+++ b/pulsar-sql/pom.xml
@@ -167,4 +167,32 @@
+
+
+
+ owasp-dependency-check
+
+
+
+ org.owasp
+ dependency-check-maven
+ ${dependency-check-maven.version}
+
+
+
+ aggregate
+
+ none
+
+
+
+
+
+
+
+
diff --git a/tiered-storage/file-system/pom.xml b/tiered-storage/file-system/pom.xml
index c5da91959eba9..810d15dbc1fbf 100644
--- a/tiered-storage/file-system/pom.xml
+++ b/tiered-storage/file-system/pom.xml
@@ -179,4 +179,31 @@
+
+
+
+ owasp-dependency-check
+
+
+
+ org.owasp
+ dependency-check-maven
+ ${dependency-check-maven.version}
+
+
+
+ aggregate
+
+ none
+
+
+
+
+
+
+