ITADN

Security: Codecov upload token committed in plaintext in .github/workflows/coverage.yml (please rotate + move to a secret)

#10617Openkobihikri 创建于 2026-07-14
K
kobihikricommented
### What happened `.github/workflows/coverage.yml` hardcodes a **Codecov upload token in plaintext** and passes it to a third-party action: - **line 30** — `token: <redacted>` (a Codecov upload token, committed in the clear) - line 26 — `uses: codecov/codecov-action@v3` - line 16 — `uses: actions/checkout@master` (I've redacted the token value here on purpose and have not tested it against any service — I'm only reporting that a credential is committed.) ### Why it matters A credential committed to a public repository is readable by anyone and should be treated as compromised. Codecov *upload* tokens are limited in scope (they permit uploading coverage reports, not code push/read), so the blast radius is bounded — but the standard, low-risk fix is to **rotate the token and move it to a repository secret**. Every other credential in this repo's workflows already uses `${{ secrets.* }}` (e.g. `DOCKERHUB_TOKEN`, `NEXUS_PW`), so this one line is the exception. There's also a small supply-chain angle: the token is handed to `codecov/codecov-action@v3` (a mutable major tag) in a job that also uses `actions/checkout@master` (a mutable branch), so pinning those to full commit SHAs would harden the path the credential flows through. ### Suggested fix 1. **Rotate** the current Codecov token (regenerate it in Codecov). 2. Store it as a repository secret and reference it: `token: ${{ secrets.CODECOV_TOKEN }}`. 3. (Optional) Pin `codecov/codecov-action` and `actions/checkout` to full commit SHAs. Happy to send a PR for the workflow change once the token is rotated (I understand PRs need an ICLA on file). I used AI assistance to spot this; I verified the file and line numbers myself and did not exfiltrate or use the credential.
1 条评论