CtrlK
BlogDocsLog inGet started
Tessl Logo

nitinjain999/platform-skills

Production-grade platform engineering handbook — Kubernetes, Terraform, Flux CD, GitHub Actions, AWS, and more.

67

Quality

84%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

README.mdexamples/demo/github-actions-supply-chain/

Demo: GitHub Actions Supply Chain

Status: Stable

A GitHub Actions workflow with four supply chain vulnerabilities. Platform-skills catches them all before the workflow is merged.

What's wrong with bad.yml

FindingSeverityRisk
actions/checkout@main — unpinned actionCriticalTag can be moved to malicious commit; SolarWinds-style attack
permissions: write-allCriticalCompromised step gets write access to entire repo
aws-access-key-id in secrets — long-lived keysHighLeaked key = permanent AWS access until manually rotated
actions/setup-node@main — unpinnedHighSame supply chain risk as checkout
aws-actions/configure-aws-credentials@main — unpinnedHighSame supply chain risk

What changed in fixed.yml

  • All actions pinned to commit SHA — immune to tag-move attacks
  • permissions: write-all replaced with id-token: write + contents: read — minimal surface
  • Long-lived AWS secrets replaced with OIDC role-to-assume — no stored credentials
  • Top-level permissions: contents: read as safe default for all jobs

Prerequisites for fixed.yml

  1. Create an IAM role with a trust policy allowing the GitHub OIDC provider
  2. Set vars.AWS_DEPLOY_ROLE_ARN and vars.S3_BUCKET as GitHub Actions variables (not secrets)

IAM trust policy snippet:

{
  "Effect": "Allow",
  "Principal": { "Federated": "arn:aws:iam::ACCOUNT:oidc-provider/token.actions.githubusercontent.com" },
  "Action": "sts:AssumeRoleWithWebIdentity",
  "Condition": {
    "StringEquals": {
      "token.actions.githubusercontent.com:aud": "sts.amazonaws.com",
      "token.actions.githubusercontent.com:sub": "repo:ORG/REPO:ref:refs/heads/main"
    }
  }
}

Try it yourself

Use $platform-skills to review this GitHub Actions workflow for supply chain security:
pinned actions, OIDC, least-privilege permissions, and secret handling.

examples

demo

github-actions-supply-chain

BEFORE_AFTER.md

CHANGELOG.md

CODE_OF_CONDUCT.md

COMMANDS.md

CONTRIBUTING.md

EDITOR_INTEGRATIONS.md

GETTING_STARTED.md

HOW_IT_WORKS.md

install.sh

INSTALLATION.md

LAUNCH.md

PROMPTS.md

QUICKSTART.md

README.md

renovate.json

SECURITY.md

SKILL.md

tessl.json

tile.json