From 341ed3b311ad04c17874f6b1d302138a95267b01 Mon Sep 17 00:00:00 2001
From: naveen <172697+naveensrinivasan@users.noreply.github.com>
Date: Sun, 8 May 2022 01:00:16 +0000
Subject: [PATCH] chore: Set permissions for GitHub actions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

 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: naveen <172697+naveensrinivasan@users.noreply.github.com>
---
 .github/workflows/build-docs.yml    | 3 +++
 .github/workflows/build-gluon.yml   | 6 ++++++
 .github/workflows/check-patches.yml | 3 +++
 .github/workflows/labels.yml        | 6 ++++++
 .github/workflows/lint.yml          | 3 +++
 5 files changed, 21 insertions(+)

diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml
index d05ffaa28..c20fcb14a 100644
--- a/.github/workflows/build-docs.yml
+++ b/.github/workflows/build-docs.yml
@@ -9,6 +9,9 @@ on:
     paths:
       - 'docs**/'
       - '.github/workflows/build-docs.yml'
+permissions:
+  contents: read
+
 jobs:
   build-documentation:
     name: docs
diff --git a/.github/workflows/build-gluon.yml b/.github/workflows/build-gluon.yml
index 141d6d83e..561ff0ccc 100644
--- a/.github/workflows/build-gluon.yml
+++ b/.github/workflows/build-gluon.yml
@@ -8,8 +8,14 @@ on:
   pull_request:
     types: [opened, synchronize, reopened]
 
+permissions:
+  contents: read
+
 jobs:
   changed:
+    permissions:
+      contents: read  # for dorny/paths-filter to fetch a list of changed files
+      pull-requests: read  # for dorny/paths-filter to read pull requests
     runs-on: ubuntu-latest
     outputs:
       targets: ${{ steps.filter.outputs.changes }}
diff --git a/.github/workflows/check-patches.yml b/.github/workflows/check-patches.yml
index ba46d4079..303ef7aca 100644
--- a/.github/workflows/check-patches.yml
+++ b/.github/workflows/check-patches.yml
@@ -12,6 +12,9 @@ on:
       - 'modules'
       - 'patches/**'
       - '.github/workflows/check-patches.yml'
+permissions:
+  contents: read
+
 jobs:
   check-patches:
     name: Check patches
diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml
index 67f9302d3..edd88a25f 100644
--- a/.github/workflows/labels.yml
+++ b/.github/workflows/labels.yml
@@ -4,8 +4,14 @@ on:
   # only execute base branch actions
   pull_request_target:
 
+permissions:
+  contents: read
+
 jobs:
   labels:
+    permissions:
+      contents: read  # for actions/labeler to determine modified files
+      pull-requests: write  # for actions/labeler to add labels to PRs
     runs-on: ubuntu-latest
     if: github.repository_owner == 'freifunk-gluon'
     steps:
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 8acba44af..ce830eff6 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -3,6 +3,9 @@ on:
   push:
   pull_request:
     types: [opened, synchronize, reopened]
+permissions:
+  contents: read
+
 jobs:
   lua:
     name: Lua
-- 
GitLab