From 84f823f540d02a5df6019785b4ecd0ea908cde5a Mon Sep 17 00:00:00 2001 From: jkrandom Date: Tue, 15 Sep 2026 09:12:10 +0800 Subject: [PATCH] chore: fix HOL plugin scanner findings (score 79 -> 100) Address findings from the HOL centralized scan on hashgraph-online/awesome-ai-plugins#302 (score 79, below the 80 minimum; advisory only): - Add SECURITY.md with supported versions and private reporting process - Pin all third-party GitHub Actions to commit SHAs (with version comments) - Add .github/dependabot.yml for github-actions and npm ecosystems - Add scanner CI workflow (.github/workflows/plugin-scanner.yml) using hashgraph-online/ai-plugin-scanner-action, per awesome-ai-plugins' SCANNER_GUIDE.md, to keep the full trust score Verified locally: plugin-scanner scan now reports 100/100 (A), 0 findings; npm test: 190/190 pass. Co-Authored-By: Claude Code --- .github/dependabot.yml | 13 +++++++++++++ .github/workflows/auto-fix-issue.yml | 8 ++++---- .github/workflows/ci.yml | 4 ++-- .github/workflows/plugin-scanner.yml | 22 ++++++++++++++++++++++ SECURITY.md | 19 +++++++++++++++++++ 5 files changed, 60 insertions(+), 6 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/plugin-scanner.yml create mode 100644 SECURITY.md diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..0e63aeb --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,13 @@ +version: 2 +updates: + # Keep GitHub Actions pinned SHAs up to date + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + + # Keep npm dependencies up to date + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" diff --git a/.github/workflows/auto-fix-issue.yml b/.github/workflows/auto-fix-issue.yml index 24dcdeb..4a0c0c7 100644 --- a/.github/workflows/auto-fix-issue.yml +++ b/.github/workflows/auto-fix-issue.yml @@ -20,10 +20,10 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 30 # hard cap so a stuck agent cannot burn runner minutes steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Setup Node (project test environment) - uses: actions/setup-node@v4 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: 22 cache: npm @@ -31,7 +31,7 @@ jobs: - run: npm ci - name: Setup Python & mini-swe-agent - uses: actions/setup-python@v5 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: '3.12' @@ -104,7 +104,7 @@ jobs: - name: Upload trajectory if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: traj-${{ github.event.issue.number }} path: traj-*.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0f021be..59263bc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,8 +13,8 @@ jobs: matrix: node-version: [18, 20, 22] steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: ${{ matrix.node-version }} cache: npm diff --git a/.github/workflows/plugin-scanner.yml b/.github/workflows/plugin-scanner.yml new file mode 100644 index 0000000..1f11eb3 --- /dev/null +++ b/.github/workflows/plugin-scanner.yml @@ -0,0 +1,22 @@ +name: Plugin Security Scan + +# HOL Plugin Scanner CI, as recommended by awesome-ai-plugins' SCANNER_GUIDE.md. +# Keeps the listing's full trust score and surfaces findings in PR checks. + +on: [pull_request, push] + +permissions: + contents: read + +jobs: + scan: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + - uses: hashgraph-online/ai-plugin-scanner-action@46ad86451b45941cd853a03ee6ccdb55f3dbee28 # v1.2.683 + with: + plugin_dir: "." + min_score: 80 + fail_on_severity: high diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..100062a --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,19 @@ +# Security Policy + +## Supported Versions + +Only the latest published version on npm receives security fixes. + +| Version | Supported | +| ------- | ------------------ | +| latest | :white_check_mark: | +| older | :x: | + +## Reporting a Vulnerability + +Please do **not** open a public issue for security vulnerabilities. + +- Preferred: use [GitHub private vulnerability reporting](https://github.com/jkrandom-sudo/opencode-plugin-loop/security/advisories/new) to file a private advisory. +- Include: affected version, a description of the issue, steps to reproduce, and potential impact. + +We will acknowledge reports within 72 hours and aim to ship a fix (or a mitigation note) within 7 days of confirmation. Once a fix is released we will credit the reporter in the release notes unless they prefer to remain anonymous.