diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml
new file mode 100644
index 0000000..bb8536e
--- /dev/null
+++ b/.github/workflows/security.yml
@@ -0,0 +1,58 @@
+---
+##########################
+##########################
+## CodeQL Security Scan ##
+##########################
+##########################
+name: CodeQl Analysis
+
+#
+# Documentation:
+# https://help.github.com/en/articles/workflow-syntax-for-github-actions
+# https://github.com/github/codeql-action
+#
+
+#############################
+# Start the job on all push #
+#############################
+on:
+  push:
+    branches-ignore:
+      - 'master'
+      - 'main'
+
+###############
+# Set the Job #
+###############
+jobs:
+  scan:
+    # Name the Job
+    name: CodeQL Analysis
+    # Set the agent to run on
+    runs-on: ubuntu-latest
+    ##################
+    # Load all steps #
+    ##################
+    steps:
+      ##########################
+      # Checkout the code base #
+      ##########################
+      - name: Checkout Code
+        uses: actions/checkout@v2.3.4
+        with:
+          # Full git history is needed to get a proper list of changed files
+          fetch-depth: 0
+
+      #####################
+      # Initialize CodeQL #
+      #####################
+      - name: Initialize CodeQL
+        uses: github/codeql-action/init@v1
+        with:
+          languages: python
+
+      #######################
+      # Run CodeQL Analysis #
+      #######################
+      - name: Perform CodeQL Analysis
+        uses: github/codeql-action/analyze@v1