Files
starter-workflows/code-scanning/mayhem-for-api.yml
T

65 lines
2.1 KiB
YAML
Raw Normal View History

2021-04-12 14:50:41 -04:00
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
#
# This workflow starts your API and fuzzes it with ForAllSecure Mayhem for API
# to find reliability, performance and security issues before they reach
# production.
#
# To use this workflow, you will need to:
#
2024-05-21 14:32:42 -07:00
# 1. Create a Mayhem account at https://app.mayhem.security
2021-04-12 14:50:41 -04:00
#
2024-05-21 14:32:42 -07:00
# 2. Create an API token at https://app.mayhem.security/-/settings/user/api-tokens
2021-04-12 14:50:41 -04:00
#
2024-05-21 14:32:42 -07:00
# 3. Add the API token as a secret in GitHub called "MAYHEM_TOKEN"
2021-04-12 14:50:41 -04:00
#
# 4. Update the "Start your API" step to run your API in the background before
# starting the Mayhem for API scan, and update the `api-url` & `api-spec`
# field.
#
# If you have any questions, please contact us at mayhem4api@forallsecure.com
name: "Mayhem for API"
on:
push:
branches: [ $default-branch, $protected-branches ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ $default-branch ]
jobs:
mayhem-for-api:
name: Mayhem for API
# Mayhem for API runs on linux, mac and windows
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
2021-04-12 14:50:41 -04:00
steps:
- uses: actions/checkout@v4
2021-04-12 14:50:41 -04:00
# Run your API in the background. Ideally, the API would run in debug
# mode & send stacktraces back on "500 Internal Server Error" responses
# (don't do this in production though!)
- name: Start your API
run: ./run_your_api.sh & # <- ✏️ update this
- name: Mayhem for API
2024-05-21 14:32:42 -07:00
uses: ForAllSecure/mapi-action@v1
2021-04-12 14:50:41 -04:00
continue-on-error: true
with:
2024-05-21 14:32:42 -07:00
mayhem-token: ${{ secrets.MAYHEM_TOKEN }}
2021-04-12 14:50:41 -04:00
api-url: http://localhost:8080 # <- ✏️ update this
api-spec: http://localhost:8080/openapi.json # <- ✏️ update this
duration: 60
sarif-report: mapi.sarif
- name: Upload SARIF file
uses: github/codeql-action/upload-sarif@v3
2021-04-12 14:50:41 -04:00
with:
sarif_file: mapi.sarif