Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .github/workflows/plugin-quality-gate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Plugin Quality Gate

on:
pull_request:
paths:
- ".codex-plugin/**"
- "skills/**"
- ".mcp.json"

jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Codex plugin quality gate
uses: hashgraph-online/hol-codex-plugin-scanner-action@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.

Bug: The workflow uses a mutable tag (@v1) for a third-party GitHub Action, creating a supply chain risk as the underlying code can be changed without notice.
Severity: CRITICAL

Suggested Fix

To mitigate the supply chain risk, replace the mutable tag @v1 with the full, immutable commit SHA of the specific version of the action you intend to use. This ensures the executed code never changes unexpectedly. Before pinning, verify the action's source code and the contributor's affiliation to ensure it is trustworthy. If the action is not necessary, remove the workflow entirely.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: .github/workflows/plugin-quality-gate.yml#L16

Potential issue: The workflow file `.github/workflows/plugin-quality-gate.yml`
introduces a dependency on a third-party GitHub Action using a mutable tag,
`hashgraph-online/hol-codex-plugin-scanner-action@v1`. This practice is insecure because
the owner of the action can update the code behind the `@v1` tag at any time without
notification. Since the workflow is triggered on changes to common files and has
repository access, a malicious update could inject arbitrary code into the CI/CD
pipeline, potentially leading to code or data exfiltration. The action is from an
unaffiliated organization, increasing the risk.

Did we get this right? 👍 / 👎 to inform future reviews.

with:
plugin_dir: "."
min_score: 80
fail_on_severity: high
Loading