CI workflows default to write-all permissions, and a couple of compose files are worth a second look

Offen
#8,523 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
65/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
docker-compose, github-actions
Bereich
ci-cd, devops, security

Rechercherichtung

Beginne mit .github/workflows/github-labeler.yml und platform-docker-build-test-publish.yml und prüfe anschließend die anderen Workflows auf ihre erforderlichen Berechtigungen. Prüfe docker-compose.yml:9 und docker-compose.pgpool.yml:25, um zu bestätigen, dass die markierten Zugangsdaten nur lokale Standardwerte sind. Als erledigt gilt die Aufgabe, wenn die Workflows Berechtigungen nach dem Prinzip der geringsten Privilegien verwenden, mit den erforderlichen jobspezifischen Ausnahmen, und keine echten Zugangsdaten committet werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Issue Where Why it matters
No explicit least-privilege permissions: block .github/workflows/github-labeler.yml, platform-docker-build-test-publish.yml, and about a dozen other workflows Workflows default to broad write access to the repo instead of only what each job needs
Basic Auth credential pattern flagged docker-compose.yml:9, docker-compose.pgpool.yml:25 Probably local dev defaults, worth a quick look to confirm nothing real is committed here

Suggested fix for the workflows, add a scoped block near the top:

permissions:
  contents: read

Then widen only the specific jobs that need more, like pull-requests: write for the labeler.

Found this with InfraScan (https://github.com/SolDevelo/InfraScan), an open-source cost/security scanner covering Terraform, Kubernetes, Helm, CloudFormation, Ansible, and containers (Apache-2.0). If it's useful, it's a few lines to add as a GitHub Action (https://github.com/marketplace/actions/infrascan-iac-cost-security-scanner). Happy to open a PR wiring it up if you want.

Vorherrschende Sprache
Python
Sterne
7.1k
Forks
603
Ø Merge
3 T. 8 Std.
Gemergte PRs (30 T.)
102

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus Flagsmith/flagsmith

Alle Issues in Flagsmith/flagsmith

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.