VNX-SEC-079 – GitHub Fine-Grained Personal Access Token

Overview

This rule detects github fine-grained personal access token matching the github_pat_... pattern hardcoded anywhere in source files. Detects GitHub fine-grained personal access tokens (github_pat_ prefix) hardcoded in source code.

Severity: Critical | CWE: CWE-798 – Use of Hard-coded Credentials

Why This Matters

Hardcoded github fine-grained personal access token values are routinely scraped by automated bots within minutes of a public push, and then used to access the account, exfiltrate data, or pivot into downstream services. Once the credential is in git history it is permanently in third-party hands.

Remediation

  1. Revoke the leaked credential in the provider’s console immediately.
  2. Replace with a short-lived alternative — OAuth 2.0 access tokens, IAM role assumption, OIDC federation — wherever the platform supports it.
  3. Store the new credential in a secrets manager (AWS Secrets Manager, HashiCorp Vault, GitHub Actions secrets, Doppler).
  4. Audit the provider’s access logs for activity you did not initiate between the leak and the revocation.
  5. Purge from git history with git filter-repo or BFG, then re-scan with gitleaks/truffleHog to confirm no other secrets remain.
  6. Enable push protection so future commits are blocked at the developer machine.

References