Skip to content

push helm charts to quay.io - #22051

Merged
screendriver merged 21 commits into
release/q2-2025-govfrom
smatting/push-to-quay
Jul 31, 2026
Merged

screendriver merged 21 commits into
release/q2-2025-govfrom
smatting/push-to-quay

Conversation

@smatting

Copy link
Copy Markdown
Contributor

No description provided.

Comment thread .github/workflows/stefan-test.yml Outdated
echo "CHART_REPO=$CHART_REPO" >> $GITHUB_ENV

- name: Set up ORAS
uses: oras-project/setup-oras@v1

@semgrep-code-wireapp semgrep-code-wireapp Bot Jul 31, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GitHub Actions step uses a mutable tag or branch reference. Tags and branch names can be silently repointed by the action owner, enabling supply-chain attacks — as seen in the trivy-action and kics-github-action compromises. Pin the reference to a full 40-character commit SHA instead, e.g. uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608.

🧼 Fixed in commit 7a3344c 🧼

Comment thread .github/workflows/stefan-test.yml Outdated
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

@semgrep-code-wireapp semgrep-code-wireapp Bot Jul 31, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GitHub Actions step uses a mutable tag or branch reference. Tags and branch names can be silently repointed by the action owner, enabling supply-chain attacks — as seen in the trivy-action and kics-github-action compromises. Pin the reference to a full 40-character commit SHA instead, e.g. uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608.

🚀 Fixed in commit 7a3344c 🚀

version: '3.12.2'

- name: Set up ORAS
uses: oras-project/setup-oras@v1

@semgrep-code-wireapp semgrep-code-wireapp Bot Jul 31, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GitHub Actions step uses a mutable tag or branch reference. Tags and branch names can be silently repointed by the action owner, enabling supply-chain attacks — as seen in the trivy-action and kics-github-action compromises. Pin the reference to a full 40-character commit SHA instead, e.g. uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608.

🧹 Fixed in commit 7a3344c 🧹

@semgrep-code-wireapp

Copy link
Copy Markdown

Semgrep found 1 run-shell-injection finding:

Using variable interpolation ${{...}} with github context data in a run: step could allow an attacker to inject their own code into the runner. This would allow them to steal secrets and code. github context data can have arbitrary user input and should be treated as untrusted. Instead, use an intermediate environment variable with env: to store the data and use the environment variable in the run: script. Be sure to use double-quotes the environment variable, like this: "$ENVVAR".

Comment thread .github/workflows/publish.yml Outdated
on:
push:
branches: [master, dev, release/*, new-navigation]
branches: [master, dev, release/*, new-navigation, smatting/push-to-quay]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this can be removed?

Comment thread .github/workflows/stefan-test.yml Outdated
@@ -0,0 +1,79 @@
name: Stefan Test

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we rename the filename and the name of the workflow?

Comment thread .github/workflows/stefan-test.yml Outdated

jobs:
test:
runs-on: ubuntu-latest

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
runs-on: ubuntu-latest
runs-on: ubuntu-24.04

jschumacher-wire and others added 2 commits July 31, 2026 14:54
Update build.json tag field to reference the helm chart version instead of the Docker image tag, ensuring consistency with what's pushed to OCI.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Add a step to trigger the webapp-release-stream-updated dispatch event to wireapp/wire-gov-bundles after pushing the build artifact to Quay, using GitHub App authentication.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

- name: Generate GitHub App token
id: app-token
uses: actions/create-github-app-token@v1

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Semgrep identified an issue in your code:

GitHub Actions step uses mutable tag @v1 instead of a pinned commit SHA, allowing attackers who control the action to inject malicious code that exfiltrates your GitHub App credentials.

More details about this

The GitHub Actions step references actions/create-github-app-token@v1, which uses a mutable version tag instead of a pinned commit SHA. An attacker with control of the actions/create-github-app-token repository could update the v1 tag to point to a malicious version at any time. Here's how this could be exploited:

  1. Attacker gains access to the actions/create-github-app-token repository (either through compromised maintainer credentials or by forking it)
  2. Attacker updates the v1 tag to point to a new commit containing malicious code
  3. Next time this workflow runs, GitHub Actions downloads and executes the malicious version instead of the legitimate one
  4. The malicious code runs with access to ${{ secrets.WIRE_ONPREM_AUTOMATION_APP_ID }} and ${{ secrets.WIRE_ONPREM_AUTOMATION_PRIVATE_KEY }} — your GitHub App credentials
  5. Attacker uses the stolen credentials to create tokens and manipulate repositories under wireapp organization, or trigger unauthorized dispatches to wireapp/wire-gov-bundles

This is a supply-chain attack: your workflow trusts an external action that can be silently modified. The v1 tag is mutable and controlled by whoever maintains that action.

To resolve this comment:

✨ Commit fix suggestion

Suggested change
uses: actions/create-github-app-token@v1
uses: actions/create-github-app-token@4c8f2d7c5b9d6a1e3f0b2c4d6e8f1a3b5c7d9e0f
View step-by-step instructions
  1. Replace the mutable GitHub Action tag in the uses line with a full 40-character commit SHA.
    Change uses: actions/create-github-app-token@v1 to uses: actions/create-github-app-token@<full-40-char-commit-sha>.

  2. Get the SHA from the actions/create-github-app-token repository release or commit that matches the version you intend to use.
    For example, keep the same action but pin it to a specific revision instead of a moving tag like v1.

  3. Keep the rest of the step unchanged, including with: inputs such as app-id, private-key, and owner.
    Pinning to a commit SHA prevents the action owner from silently changing what code runs under the same tag.

💬 Ignore this finding

Reply with Semgrep commands to ignore this finding.

  • /fp <comment> for false positive
  • /ar <comment> for acceptable risk
  • /other <comment> for all other reasons

Alternatively, triage in Semgrep AppSec Platform to ignore the finding created by github-actions-mutable-action-tag.

You can view more details about this finding in the Semgrep AppSec Platform.

@screendriver
screendriver merged commit 9ddef1a into release/q2-2025-gov Jul 31, 2026
6 of 8 checks passed
@screendriver
screendriver deleted the smatting/push-to-quay branch July 31, 2026 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants