chore: Set permissions for GitHub actions

Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.

- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions

https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)

Signed-off-by: nathannaveen <42319948+nathannaveen@users.noreply.github.com>
This commit is contained in:
nathannaveen 2022-05-26 00:50:23 +00:00
parent 6cba851606
commit 787285e08a
4 changed files with 20 additions and 0 deletions

View File

@ -3,8 +3,15 @@ on:
workflow_dispatch: workflow_dispatch:
schedule: schedule:
- cron: '0 15 * * 6' - cron: '0 15 * * 6'
permissions:
contents: read
jobs: jobs:
codeql: codeql:
permissions:
actions: read # for github/codeql-action/init to get workflow details
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/autobuild to send a status report
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout

View File

@ -3,8 +3,13 @@ on:
workflow_dispatch: workflow_dispatch:
schedule: schedule:
- cron: '0 15 * * 6' - cron: '0 15 * * 6'
permissions:
contents: read
jobs: jobs:
create: create:
permissions:
contents: none
name: Create name: Create
runs-on: ${{ matrix.operating-system }} runs-on: ${{ matrix.operating-system }}
strategy: strategy:
@ -45,6 +50,8 @@ jobs:
name: lists name: lists
path: php${{ matrix.php-versions }}-${{ matrix.operating-system }}.md path: php${{ matrix.php-versions }}-${{ matrix.operating-system }}.md
update: update:
permissions:
contents: write # for Git to git push
name: Update name: Update
needs: create needs: create
runs-on: ubuntu-latest runs-on: ubuntu-latest

View File

@ -16,6 +16,9 @@ on:
paths-ignore: paths-ignore:
- '**.md' - '**.md'
- 'examples/**' - 'examples/**'
permissions:
contents: read
jobs: jobs:
run: run:
name: Run name: Run

View File

@ -17,6 +17,9 @@ on:
paths-ignore: paths-ignore:
- '**.md' - '**.md'
- 'examples/**' - 'examples/**'
permissions:
contents: read
jobs: jobs:
run: run:
name: Run name: Run