mirror of
https://github.com/jamiebuilds/the-super-tiny-compiler.git
synced 2024-10-27 20:34:08 +00:00
Merge 35b2ffa1c7
into d8d4013045
This commit is contained in:
commit
3bb1b1afa1
67
.github/workflows/codeql-analysis.yml
vendored
Normal file
67
.github/workflows/codeql-analysis.yml
vendored
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
# 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: '19 6 * * 4'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
analyze:
|
||||||
|
name: Analyze
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
language: [ 'javascript' ]
|
||||||
|
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
|
||||||
|
# Learn more:
|
||||||
|
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
# Initializes the CodeQL tools for scanning.
|
||||||
|
- name: Initialize CodeQL
|
||||||
|
uses: github/codeql-action/init@v1
|
||||||
|
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.
|
||||||
|
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||||
|
|
||||||
|
# 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@v1
|
||||||
|
|
||||||
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
|
# 📚 https://git.io/JvXDl
|
||||||
|
|
||||||
|
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||||
|
# and modify them (or add more) to build your code if your project
|
||||||
|
# uses a compiled language
|
||||||
|
|
||||||
|
#- run: |
|
||||||
|
# make bootstrap
|
||||||
|
# make release
|
||||||
|
|
||||||
|
- name: Perform CodeQL Analysis
|
||||||
|
uses: github/codeql-action/analyze@v1
|
48
.github/workflows/crunch42-analysis.yml
vendored
Normal file
48
.github/workflows/crunch42-analysis.yml
vendored
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
# This workflow locates REST API file contracts
|
||||||
|
# (Swagger or OpenAPI format, v2 and v3, JSON and YAML)
|
||||||
|
# and runs 200+ security checks on them using 42Crunch Security Audit technology.
|
||||||
|
#
|
||||||
|
# Documentation is located here: https://docs.42crunch.com/latest/content/tasks/integrate_github_actions.htm
|
||||||
|
#
|
||||||
|
# To use this workflow, you will need to complete the following setup steps.
|
||||||
|
#
|
||||||
|
# 1. Create a free 42Crunch account at https://platform.42crunch.com/register
|
||||||
|
#
|
||||||
|
# 2. Follow steps at https://docs.42crunch.com/latest/content/tasks/integrate_github_actions.htm
|
||||||
|
# to create an API Token on the 42Crunch platform
|
||||||
|
#
|
||||||
|
# 3. Add a secret in GitHub as explained in https://docs.42crunch.com/latest/content/tasks/integrate_github_actions.htm,
|
||||||
|
# store the 42Crunch API Token in that secret, and supply the secret's name as api-token parameter in this workflow
|
||||||
|
#
|
||||||
|
# If you have any questions or need help contact https://support.42crunch.com
|
||||||
|
|
||||||
|
name: "42Crunch REST API Static Security Testing"
|
||||||
|
|
||||||
|
# follow standard Code Scanning triggers
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
pull_request:
|
||||||
|
# The branches below must be a subset of the branches above
|
||||||
|
branches: [ master ]
|
||||||
|
schedule:
|
||||||
|
- cron: '23 16 * * 1'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
rest-api-static-security-testing:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: 42Crunch REST API Static Security Testing
|
||||||
|
uses: 42Crunch/api-security-audit-action@v1
|
||||||
|
with:
|
||||||
|
# Please create free account at https://platform.42crunch.com/register
|
||||||
|
# Follow these steps to configure API_TOKEN https://docs.42crunch.com/latest/content/tasks/integrate_github_actions.htm
|
||||||
|
api-token: ${{ secrets.API_TOKEN }}
|
||||||
|
# Fail if any OpenAPI file scores lower than 75
|
||||||
|
min-score: 75
|
||||||
|
# Upload results to Github code scanning
|
||||||
|
upload-to-code-scanning: true
|
||||||
|
# Github token for uploading the results
|
||||||
|
github-token: ${{ github.token }}
|
95
.github/workflows/fortify-analysis.yml
vendored
Normal file
95
.github/workflows/fortify-analysis.yml
vendored
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
################################################################################################################################################
|
||||||
|
# Fortify lets you build secure software fast with an appsec platform that automates testing throughout the DevSecOps pipeline. Fortify static,#
|
||||||
|
# dynamic, interactive, and runtime security testing is available on premises or as a service. To learn more about Fortify, start a free trial #
|
||||||
|
# or contact our sales team, visit microfocus.com/appsecurity. #
|
||||||
|
# #
|
||||||
|
# Use this workflow template as a basis for integrating Fortify on Demand Static Application Security Testing(SAST) into your GitHub workflows.#
|
||||||
|
# This template demonstrates the steps to prepare the code+dependencies, initiate a scan, download results once complete and import into #
|
||||||
|
# GitHub Security Code Scanning Alerts. Existing customers should review inputs and environment variables below to configure scanning against #
|
||||||
|
# an existing application in your Fortify on Demand tenant. Additional information is available in the comments throughout the workflow, the #
|
||||||
|
# documentation for the Fortify actions used, and the Fortify on Demand / ScanCentral Client product documentation. If you need additional #
|
||||||
|
# assistance with configuration, feel free to create a help ticket in the Fortify on Demand portal. #
|
||||||
|
################################################################################################################################################
|
||||||
|
|
||||||
|
name: Fortify on Demand Scan
|
||||||
|
|
||||||
|
# TODO: Customize trigger events based on your DevSecOps processes and typical FoD SAST scan time
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
pull_request:
|
||||||
|
# The branches below must be a subset of the branches above
|
||||||
|
branches: [ master ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
FoD-SAST-Scan:
|
||||||
|
# Use the appropriate runner for building your source code.
|
||||||
|
# TODO: Use a Windows runner for .NET projects that use msbuild. Additional changes to RUN commands will be required to switch to Windows syntax.
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
# Check out source code
|
||||||
|
- name: Check Out Source Code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
# Fetch at least the immediate parents so that if this is a pull request then we can checkout the head.
|
||||||
|
fetch-depth: 2
|
||||||
|
# If this run was triggered by a pull request event, then checkout the head of the pull request instead of the merge commit.
|
||||||
|
- run: git checkout HEAD^2
|
||||||
|
if: ${{ github.event_name == 'pull_request' }}
|
||||||
|
# Java 8 required by ScanCentral Client and FoD Uploader(Univeral CI Tool)
|
||||||
|
- name: Setup Java
|
||||||
|
uses: actions/setup-java@v1
|
||||||
|
with:
|
||||||
|
java-version: 1.8
|
||||||
|
|
||||||
|
# Prepare source+dependencies for upload. The default example is for a Maven project that uses pom.xml.
|
||||||
|
# TODO: Update PACKAGE_OPTS based on the ScanCentral Client documentation for your project's included tech stack(s). Helpful hints:
|
||||||
|
# ScanCentral Client will download dependencies for maven (-bt mvn) and gradle (-bt gradle).
|
||||||
|
# ScanCentral Client can download dependencies for msbuild projects (-bt msbuild); however, you must convert the workflow to use a Windows runner.
|
||||||
|
# ScanCentral has additional options that should be set for PHP and Python projects
|
||||||
|
# For other build tools, add your build commands to download necessary dependencies and prepare according to Fortify on Demand Packaging documentation.
|
||||||
|
# ScanCentral Client documentation is located at https://www.microfocus.com/documentation/fortify-software-security-center/
|
||||||
|
- name: Download Fortify ScanCentral Client
|
||||||
|
uses: fortify/gha-setup-scancentral-client@v1
|
||||||
|
- name: Package Code + Dependencies
|
||||||
|
run: scancentral package $PACKAGE_OPTS -o package.zip
|
||||||
|
env:
|
||||||
|
PACKAGE_OPTS: "-bt mvn"
|
||||||
|
|
||||||
|
# Start Fortify on Demand SAST scan and wait until results complete. For more information on FoDUploader commands, see https://github.com/fod-dev/fod-uploader-java
|
||||||
|
# TODO: Update ENV variables for your application and create the necessary GitHub Secrets. Helpful hints:
|
||||||
|
# Credentials and release ID should be obtained from your FoD tenant (either Personal Access Token or API Key can be used).
|
||||||
|
# Automated Audit preference should be configured for the release's Static Scan Settings in the Fortify on Demand portal.
|
||||||
|
- name: Download Fortify on Demand Universal CI Tool
|
||||||
|
uses: fortify/gha-setup-fod-uploader@v1
|
||||||
|
- name: Perform SAST Scan
|
||||||
|
run: java -jar $FOD_UPLOAD_JAR -z package.zip -aurl $FOD_API_URL -purl $FOD_URL -rid "$FOD_RELEASE_ID" -tc "$FOD_TENANT" -uc "$FOD_USER" "$FOD_PAT" $FOD_UPLOADER_OPTS -n "$FOD_UPLOADER_NOTES"
|
||||||
|
env:
|
||||||
|
FOD_TENANT: ${{ secrets.FOD_TENANT }}
|
||||||
|
FOD_USER: ${{ secrets.FOD_USER }}
|
||||||
|
FOD_PAT: ${{ secrets.FOD_PAT }}
|
||||||
|
FOD_RELEASE_ID: ${{ secrets.FOD_RELEASE_ID }}
|
||||||
|
FOD_URL: "https://ams.fortify.com/"
|
||||||
|
FOD_API_URL: "https://api.ams.fortify.com/"
|
||||||
|
FOD_UPLOADER_OPTS: "-ep 2 -pp 0 -I 1 -apf"
|
||||||
|
FOD_UPLOADER_NOTES: 'Triggered by GitHub Actions (${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})'
|
||||||
|
|
||||||
|
# Once scan completes, pull SAST issues from Fortify on Demand and generate SARIF output.
|
||||||
|
# TODO: Review Action inputs. For most users, these will be the same as used in the Perform SAST Scan step.
|
||||||
|
- name: Download Results
|
||||||
|
uses: fortify/gha-fod-generate-sarif@1.1.0
|
||||||
|
with:
|
||||||
|
base-url: https://ams.fortify.com
|
||||||
|
tenant: ${{ secrets.FOD_TENANT }}
|
||||||
|
user: ${{ secrets.FOD_USER }}
|
||||||
|
password: ${{ secrets.FOD_PAT }}
|
||||||
|
release-id: ${{ secrets.FOD_RELEASE_ID }}
|
||||||
|
output: ./sarif/output.sarif
|
||||||
|
|
||||||
|
# Import Fortify on Demand results to GitHub Security Code Scanning
|
||||||
|
- name: Import Results
|
||||||
|
uses: github/codeql-action/upload-sarif@v1
|
||||||
|
with:
|
||||||
|
sarif_file: ./sarif/output.sarif
|
30
.github/workflows/njsscan-analysis.yml
vendored
Normal file
30
.github/workflows/njsscan-analysis.yml
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# This workflow integrates njsscan with GitHub's Code Scanning feature
|
||||||
|
# nodejsscan is a static security code scanner that finds insecure code patterns in your Node.js applications
|
||||||
|
|
||||||
|
name: njsscan sarif
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
pull_request:
|
||||||
|
# The branches below must be a subset of the branches above
|
||||||
|
branches: [ master ]
|
||||||
|
schedule:
|
||||||
|
- cron: '42 17 * * 1'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
njsscan:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: njsscan code scanning
|
||||||
|
steps:
|
||||||
|
- name: Checkout the code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: nodejsscan scan
|
||||||
|
id: njsscan
|
||||||
|
uses: ajinabraham/njsscan-action@master
|
||||||
|
with:
|
||||||
|
args: '. --sarif --output results.sarif || true'
|
||||||
|
- name: Upload njsscan report
|
||||||
|
uses: github/codeql-action/upload-sarif@v1
|
||||||
|
with:
|
||||||
|
sarif_file: results.sarif
|
49
.github/workflows/ossar-analysis.yml
vendored
Normal file
49
.github/workflows/ossar-analysis.yml
vendored
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
# This workflow integrates a collection of open source static analysis tools
|
||||||
|
# with GitHub code scanning. For documentation, or to provide feedback, visit
|
||||||
|
# https://github.com/github/ossar-action
|
||||||
|
name: OSSAR
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
OSSAR-Scan:
|
||||||
|
# OSSAR runs on windows-latest.
|
||||||
|
# ubuntu-latest and macos-latest support coming soon
|
||||||
|
runs-on: windows-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
# Checkout your code repository to scan
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
# We must fetch at least the immediate parents so that if this is
|
||||||
|
# a pull request then we can checkout the head.
|
||||||
|
fetch-depth: 2
|
||||||
|
|
||||||
|
# If this run was triggered by a pull request event, then checkout
|
||||||
|
# the head of the pull request instead of the merge commit.
|
||||||
|
- run: git checkout HEAD^2
|
||||||
|
if: ${{ github.event_name == 'pull_request' }}
|
||||||
|
|
||||||
|
# Ensure a compatible version of dotnet is installed.
|
||||||
|
# The [Microsoft Security Code Analysis CLI](https://aka.ms/mscadocs) is built with dotnet v3.1.201.
|
||||||
|
# A version greater than or equal to v3.1.201 of dotnet must be installed on the agent in order to run this action.
|
||||||
|
# GitHub hosted runners already have a compatible version of dotnet installed and this step may be skipped.
|
||||||
|
# For self-hosted runners, ensure dotnet version 3.1.201 or later is installed by including this action:
|
||||||
|
# - name: Install .NET
|
||||||
|
# uses: actions/setup-dotnet@v1
|
||||||
|
# with:
|
||||||
|
# dotnet-version: '3.1.x'
|
||||||
|
|
||||||
|
# Run open source static analysis tools
|
||||||
|
- name: Run OSSAR
|
||||||
|
uses: github/ossar-action@v1
|
||||||
|
id: ossar
|
||||||
|
|
||||||
|
# Upload results to the Security tab
|
||||||
|
- name: Upload OSSAR results
|
||||||
|
uses: github/codeql-action/upload-sarif@v1
|
||||||
|
with:
|
||||||
|
sarif_file: ${{ steps.ossar.outputs.sarifFile }}
|
36
.github/workflows/shiftleft-analysis.yml
vendored
Normal file
36
.github/workflows/shiftleft-analysis.yml
vendored
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# This workflow integrates Scan with GitHub's code scanning feature
|
||||||
|
# Scan is a free open-source security tool for modern DevOps teams from ShiftLeft
|
||||||
|
# Visit https://slscan.io/en/latest/integrations/code-scan for help
|
||||||
|
name: SL Scan
|
||||||
|
|
||||||
|
# This section configures the trigger for the workflow. Feel free to customize depending on your convention
|
||||||
|
on: push
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
Scan-Build:
|
||||||
|
# Scan runs on ubuntu, mac and windows
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
# Instructions
|
||||||
|
# 1. Setup JDK, Node.js, Python etc depending on your project type
|
||||||
|
# 2. Compile or build the project before invoking scan
|
||||||
|
# Example: mvn compile, or npm install or pip install goes here
|
||||||
|
# 3. Invoke Scan with the github token. Leave the workspace empty to use relative url
|
||||||
|
|
||||||
|
- name: Perform Scan
|
||||||
|
uses: ShiftLeftSecurity/scan-action@master
|
||||||
|
env:
|
||||||
|
WORKSPACE: ""
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
SCAN_AUTO_BUILD: true
|
||||||
|
with:
|
||||||
|
output: reports
|
||||||
|
# Scan auto-detects the languages in your project. To override uncomment the below variable and set the type
|
||||||
|
# type: credscan,java
|
||||||
|
# type: python
|
||||||
|
|
||||||
|
- name: Upload report
|
||||||
|
uses: github/codeql-action/upload-sarif@v1
|
||||||
|
with:
|
||||||
|
sarif_file: reports
|
42
.github/workflows/snyk_infrastructure-analysis.yml
vendored
Normal file
42
.github/workflows/snyk_infrastructure-analysis.yml
vendored
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# A sample workflow which checks out your Infrastructure as Code Configuration files,
|
||||||
|
# such as Kubernetes, Helm & Terraform and scans them for any security issues.
|
||||||
|
# The results are then uploaded to GitHub Security Code Scanning
|
||||||
|
#
|
||||||
|
# For more examples, including how to limit scans to only high-severity issues
|
||||||
|
# and fail PR checks, see https://github.com/snyk/actions/
|
||||||
|
|
||||||
|
name: Snyk Infrastructure as Code
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
pull_request:
|
||||||
|
# The branches below must be a subset of the branches above
|
||||||
|
branches: [ master ]
|
||||||
|
schedule:
|
||||||
|
- cron: '31 13 * * 6'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
snyk:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Run Snyk to check configuration files for security issues
|
||||||
|
# Snyk can be used to break the build when it detects security issues.
|
||||||
|
# In this case we want to upload the issues to GitHub Code Scanning
|
||||||
|
continue-on-error: true
|
||||||
|
uses: snyk/actions/iac@master
|
||||||
|
env:
|
||||||
|
# In order to use the Snyk Action you will need to have a Snyk API token.
|
||||||
|
# More details in https://github.com/snyk/actions#getting-your-snyk-token
|
||||||
|
# or you can signup for free at https://snyk.io/login
|
||||||
|
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
|
||||||
|
with:
|
||||||
|
# Add the path to the configuration file that you would like to test.
|
||||||
|
# For example `deployment.yaml` for a Kubernetes deployment manifest
|
||||||
|
# or `main.tf` for a Terraform configuration file
|
||||||
|
file: your-file-to-test.yaml
|
||||||
|
- name: Upload result to GitHub Code Scanning
|
||||||
|
uses: github/codeql-action/upload-sarif@v1
|
||||||
|
with:
|
||||||
|
sarif_file: snyk.sarif
|
Loading…
Reference in New Issue
Block a user