jd-opensource / jd-opensource/jd-github-template

Security issue: possible command injection in GitHub Actions workflow

Open
#2 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Hello maintainers,

I would like to report a potential command-injection vulnerability in your GitHub Actions workflow.

The affected workflow file(s) invoke an LLM to process and summarize issues, and then directly concatenate the LLM output into a shell command argument for gh issue comment --body. Because untrusted model output is inserted into a shell command context, an attacker may craft a malicious issue so that the LLM response contains an injection payload.

Impact:

  • Possible command injection during workflow execution.
  • Possible leakage of sensitive environment variables (for example GITHUB_TOKEN or GH_TOKEN).
  • Although these tokens are typically short-lived and scoped to workflow job/step execution, an attacker may attempt to prolong execution time (for example via sleep-based techniques) and abuse the token during that window.

Recommended remediation:

  • Do not place ${{ steps.inference.outputs.response }} directly in a shell command argument.
  • Pass it through a step environment variable first (for example RESPONSE).
  • In shell, reference it only as a double-quoted variable (for example "$RESPONSE").

Affected workflow file(s) observed:

Thank you for your time and for maintaining this project.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading .github/workflows/summary.yml at the referenced commit, focusing on how the inference response is passed to gh issue comment --body. Confirm that untrusted output is transferred through an environment variable and referenced as a quoted shell variable. Done means the workflow no longer places the inference output directly in a shell command context.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, shell
Domain
ci-cd, security
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.