~/talk

How to use GitHub Actions with Security in mind

Talkat NDC Security 2022 · 2022-04-06..04-07· [security]
slides:none on file

Covers concrete risks and fixes for GitHub Actions: the marketplace has 12,500+ public actions that runners download wholesale, self-hosted runners can exfiltrate secrets and traverse internal networks, and secrets are injected as plaintext into runner processes where GitHub’s redaction regex can fail. Recommends OIDC for cloud auth, scoping the default GitHub token, pinning by commit SHA, using Dependabot-like checks, and running a fork-and-verify workflow with automated fork-updater to keep vetted action forks current.

AI-written summary · about

  1. 0:00Intro
  2. 1:12What are GitHub workflows?
  3. 2:23What are GitHub Actions?
  4. 3:50Workflow example
  5. 6:42Repository security
  6. 6:53Code - Who has access?
  7. 8:32Configuring access
  8. 8:51From the user
  9. 10:03Workflow secrets
  10. 11:42Who has access to your secrets?
  11. 18:33Your code - Best practices
  12. 21:08GitHub Actions Security
  13. 24:04Best practice: Run the action inside of a container
  14. 26:19Persisting data between runs
  15. 28:05Workflow runners - Best practice
  16. 34:08Verified Creator
  17. 35:08Protective measures
  18. 38:51Recommendation
  19. 39:31Workflow attack vectors
  20. 39:50Forks of public repos
  21. 41:18Pull Requests
  22. 43:04Common fields
  23. 44:05Remediation
  24. 44:38Forking actions
  25. 47:07Staying up to date
  26. 47:49Update action versions
  27. 48:09Option 1: Use SHA+Dependabot
  28. 49:31Use Dependabot
  29. 50:38Keep your forked action up to date
  30. 52:00Review before merging
  31. 52:22Automation
  32. 52:55Pros of forking
  33. 54:12Best practices summarized
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.