From 7427af26b9efe09d38de106b6679dacacfe9f69d Mon Sep 17 00:00:00 2001 From: Dr Shane Green Date: Wed, 18 May 2022 16:01:55 -0700 Subject: [PATCH 1/5] Create codeql-analysis.yml This pull request enables [GitHub Advanced Security](https://docs.github.com/en/get-started/learning-about-github/about-github-advanced-security), but most importantly, enables [CodeQL](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql) on your repository. The purpose of this issue is: 1) Give you some context as to why this pull request was created. 2) Provide you with some links to help you understand what CodeQL and GitHub Advanced Security are. 3) Help you with some automated entries instead of doing this manually. As a company, we are moving towards CodeQL for our static analysis tool. We didn't want to go and raise a pull request for every repository manually, and we didn't expect you to have to go and manually create a pull request for every single repositor either. So here is a pull request for you to review and hopefully approve! We are rolling out CodeQL per language/user, so if you have only got a pull request for a few of your repositories, not to worry, more will come soon. Hopefully, you should see a nice green status tick next to CodeQL within the status section of the pull request. However, if you haven't, that's understandable. We have taken the best guess approach at configuring CodeQL for you, but 1) we are still maturing, and 2) codeql can differ repository by repository. If you have a red X next to CodeQL, that means that CodeQL is not configured for your repository. You may need to go ahead and edit the codeql-analysis.yml file to get it working with your build process/codebase. Some information on that can be found below: 1) [Complied Languages with CodeQL](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages) 2) [Configuring Code Scanning](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning). If you need any more assistance, please don't hesitate to contact the Application Security team. We are here to help. Thanks! - Application Security :) Shane.Green@treasure-data.com --- .github/workflows/codeql-analysis.yml | 72 +++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 .github/workflows/codeql-analysis.yml diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..94672e1 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,72 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ master ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ master ] + schedule: + - cron: '22 12 * * 2' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'java' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + + # ℹī¸ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + + # If the Autobuild fails above, remove it and uncomment the following three lines. + # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + + # - run: | + # echo "Run, Build Application using script" + # ./location_of_script_within_repo/buildscript.sh + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 From 0f948be209b15a51a1b91d0d9a508e263fa9acb6 Mon Sep 17 00:00:00 2001 From: Dr Shane Green Date: Thu, 2 Jun 2022 09:04:09 -0700 Subject: [PATCH 2/5] Update codeql-analysis.yml Made changes for the maven build --- .github/workflows/codeql-analysis.yml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 94672e1..20f3ded 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -39,6 +39,15 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v3 + + - name: Cache maven repository + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL @@ -51,12 +60,18 @@ jobs: # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs # queries: security-extended,security-and-quality + - name: build + env: + TD_ARTIFACTORY_USERNAME: ${{ secrets.TD_ARTIFACTORY_USERNAME }} + TD_ARTIFACTORY_PASSWORD: ${{ secrets.TD_ARTIFACTORY_PASSWORD }} + run: | + mvn -B package --file pom.xml -DskipTests + - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 + # - name: Autobuild + # uses: github/codeql-action/autobuild@v2 # ℹī¸ Command-line programs to run using the OS shell. # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun From 8c9d14bff63e7ed5fa249b049f45c909f9b2ce2b Mon Sep 17 00:00:00 2001 From: Dr Shane Green Date: Tue, 21 Jun 2022 11:06:20 -0700 Subject: [PATCH 3/5] Update codeql-analysis.yml Updated yml file to pull the build from build.sh --- .github/workflows/codeql-analysis.yml | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 20f3ded..98c63c9 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -39,14 +39,6 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v3 - - - name: Cache maven repository - uses: actions/cache@v2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- # Initializes the CodeQL tools for scanning. @@ -60,12 +52,6 @@ jobs: # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs # queries: security-extended,security-and-quality - - name: build - env: - TD_ARTIFACTORY_USERNAME: ${{ secrets.TD_ARTIFACTORY_USERNAME }} - TD_ARTIFACTORY_PASSWORD: ${{ secrets.TD_ARTIFACTORY_PASSWORD }} - run: | - mvn -B package --file pom.xml -DskipTests # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). @@ -78,7 +64,9 @@ jobs: # If the Autobuild fails above, remove it and uncomment the following three lines. # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - + - name: Run build script + run: ./.github/build.sh + shell: bash # - run: | # echo "Run, Build Application using script" # ./location_of_script_within_repo/buildscript.sh From f8e112583852648cfcfc489814c53da05b9d48da Mon Sep 17 00:00:00 2001 From: Dr Shane Green Date: Tue, 21 Jun 2022 11:12:10 -0700 Subject: [PATCH 4/5] Update codeql-analysis.yml --- .github/workflows/codeql-analysis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 98c63c9..48cc356 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -65,7 +65,7 @@ jobs: # If the Autobuild fails above, remove it and uncomment the following three lines. # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - name: Run build script - run: ./.github/build.sh + run: ./build.sh shell: bash # - run: | # echo "Run, Build Application using script" From 7c08eae1cddf06f07883c7590aaa141096b411d2 Mon Sep 17 00:00:00 2001 From: Dr Shane Green Date: Tue, 26 Jul 2022 08:49:16 -0700 Subject: [PATCH 5/5] Update codeql-analysis.yml Corrected spacing --- .github/workflows/codeql-analysis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 48cc356..03cc2db 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -64,9 +64,11 @@ jobs: # If the Autobuild fails above, remove it and uncomment the following three lines. # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + - name: Run build script run: ./build.sh shell: bash + # - run: | # echo "Run, Build Application using script" # ./location_of_script_within_repo/buildscript.sh