test(plugins): add live install verification scripts for each agent - #184
1 issue
security-review: Found 1 issue (1 medium)
Medium
Unpinned curl|bash installers run with GH_TOKEN in deploy step (supply-chain exposure) - `.github/workflows/deploy-plugins.yml:113`
Each new plugin-src/<agent>/verify-install.sh pipes an unverified remote installer (e.g. curl -fsSL https://x.ai/cli/install.sh | bash) and is invoked from the deploy workflow's Build and deploy step, which exports GH_TOKEN (a GitHub App token with contents:write on the matching plugin repo). If any of the four vendor install endpoints is compromised, the malicious installer inherits GH_TOKEN and the tokenized git remote already on the runner, allowing pushes to getsentry/plugin-<agent>. Pin the CLI install to a verified version/checksum or run the install in a step that does not have the deploy token in scope.
Also found at:
plugin-src/cursor/verify-install.sh:28plugin-src/grok/verify-install.sh:21
⏱ 1m 57s · 453.4k in / 42.4k out · $1.65
Annotations
Check warning on line 113 in .github/workflows/deploy-plugins.yml
sentry-warden / warden: security-review
Unpinned curl|bash installers run with GH_TOKEN in deploy step (supply-chain exposure)
Each new plugin-src/<agent>/verify-install.sh pipes an unverified remote installer (e.g. `curl -fsSL https://x.ai/cli/install.sh | bash`) and is invoked from the deploy workflow's `Build and deploy` step, which exports GH_TOKEN (a GitHub App token with contents:write on the matching plugin repo). If any of the four vendor install endpoints is compromised, the malicious installer inherits GH_TOKEN and the tokenized git remote already on the runner, allowing pushes to getsentry/plugin-<agent>. Pin the CLI install to a verified version/checksum or run the install in a step that does not have the deploy token in scope.
Check warning on line 28 in plugin-src/cursor/verify-install.sh
sentry-warden / warden: security-review
[TJL-YS2] Unpinned curl|bash installers run with GH_TOKEN in deploy step (supply-chain exposure) (additional location)
Each new plugin-src/<agent>/verify-install.sh pipes an unverified remote installer (e.g. `curl -fsSL https://x.ai/cli/install.sh | bash`) and is invoked from the deploy workflow's `Build and deploy` step, which exports GH_TOKEN (a GitHub App token with contents:write on the matching plugin repo). If any of the four vendor install endpoints is compromised, the malicious installer inherits GH_TOKEN and the tokenized git remote already on the runner, allowing pushes to getsentry/plugin-<agent>. Pin the CLI install to a verified version/checksum or run the install in a step that does not have the deploy token in scope.
Check warning on line 21 in plugin-src/grok/verify-install.sh
sentry-warden / warden: security-review
[TJL-YS2] Unpinned curl|bash installers run with GH_TOKEN in deploy step (supply-chain exposure) (additional location)
Each new plugin-src/<agent>/verify-install.sh pipes an unverified remote installer (e.g. `curl -fsSL https://x.ai/cli/install.sh | bash`) and is invoked from the deploy workflow's `Build and deploy` step, which exports GH_TOKEN (a GitHub App token with contents:write on the matching plugin repo). If any of the four vendor install endpoints is compromised, the malicious installer inherits GH_TOKEN and the tokenized git remote already on the runner, allowing pushes to getsentry/plugin-<agent>. Pin the CLI install to a verified version/checksum or run the install in a step that does not have the deploy token in scope.