Skip to content

feat(scanner): reject plugin gradle publish and luarocks upload - #1187

Draft
seonghobae wants to merge 2 commits into
feat/claude-plugin-cabal-mvn-1099from
feat/claude-plugin-gradle-luarocks-1099
Draft

feat(scanner): reject plugin gradle publish and luarocks upload#1187
seonghobae wants to merge 2 commits into
feat/claude-plugin-cabal-mvn-1099from
feat/claude-plugin-gradle-luarocks-1099

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Successor of #1186 / issue #1099. Does not Close those. cabal/mvn stay #1186. hex/conda stay #1185. dart/flutter pub stay #1184. gem/nuget stay #1183. Pass is not Noema admission.

Unique delta

Fail closed when a plugin hook or manifest runs remaining Gradle and LuaRocks writes that #1186 left as inventory:

  • gradle publish and wrapper gradlew publish as claude-plugin-gradle-publish-command (CWE-269)
  • luarocks upload as claude-plugin-luarocks-upload-command (CWE-250)
  • gradle tasks, gradle publishToMavenLocal, and luarocks list stay inventory
  • cabal upload stays claude-plugin-cabal-upload-command
  • unquoted # comments, echo/printf lookalikes, assignment values, and marketplace description prose are not this class
  • README gradle/luarocks wording is not a hook command
  • snippets are command labels, not tokens or secrets
  • composer publish and go upload are not invented; they are not real package-manager CLIs

Also drop the terraform/helm leftover scan_result == pass lock on vercel deploy / fly deploy; those commands are already fail-closed by #1174 and are not this class.

#1186 remains owner of cabal/mvn publish.

Evidence

  • RED 83a9abd then GREEN a2a800a
  • tests/test_claude_plugin_gradle_luarocks.py plus sibling cabal/hex/gem lock
  • plugin coverage suite 556 passed on Python 3.13

Relates to #1099. Relates to #1186.

Hook and manifest gradle publish, gradlew publish, and luarocks upload
must fail closed. gradle tasks, gradle publishToMavenLocal, luarocks
list, comments, echo lookalikes, assignment values, and README wording
stay inventory. Relates to #1099.
Fail closed on executable gradle publish, gradlew publish, and
luarocks upload. gradle tasks, gradle publishToMavenLocal, and
luarocks list stay inventory. cabal upload stays the Hackage class.
Drop the terraform/helm leftover pass lock that vercel/fly successors
already fail-closed. Relates to #1099.
@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

seonghobae added a commit that referenced this pull request Sep 8, 2026
Snapshot 2026-09-08 08:39 UTC. Draft #1187 a2a800a stacked on #1186
fb44e77 fail-closes gradle publish, gradlew publish, and luarocks
upload. Remaining unique leftover is sbt publish / conan upload.
Does not Close #1099, #1186, or #1185.
seonghobae added a commit that referenced this pull request Sep 8, 2026
Snapshot 2026-09-08 08:46 UTC. Draft #1188 34ef68b stacked on #1187
a2a800a fail-closes sbt publish, sbt publishSigned, and conan upload.
Remaining unique leftover is deno publish / pod trunk push.
Does not Close #1099, #1187, or #1186.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request priority: high

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

1 participant