Skip to content

feat(scanner): reject plugin gem push and nuget push - #1183

Draft
seonghobae wants to merge 11 commits into
feat/claude-plugin-alt-publish-1099from
feat/claude-plugin-gem-nuget-1099
Draft

feat(scanner): reject plugin gem push and nuget push#1183
seonghobae wants to merge 11 commits into
feat/claude-plugin-alt-publish-1099from
feat/claude-plugin-gem-nuget-1099

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Successor of #1182 / issue #1099. Does not Close those. pnpm/uv/poetry stay #1182. npm/twine/cargo stay #1180. Pass is not Noema admission.

Unique delta

Fail closed when a plugin hook or manifest runs remaining language-registry writes that #1182 left as inventory:

  • gem push as claude-plugin-gem-push-command (CWE-269)
  • nuget push and dotnet nuget push as claude-plugin-nuget-push-command (CWE-250)
  • gem list and nuget list stay inventory
  • unquoted # comments, echo/printf lookalikes, and marketplace description prose are not this class
  • README gem wording is not a hook command
  • pnpm publish stays claude-plugin-pnpm-publish-command
  • snippets are command labels, not tokens or secrets

#1182 remains owner of pnpm/uv/poetry publish.

Evidence

  • RED 6d1afd3 then GREEN 798da47
  • tests/test_claude_plugin_gem_nuget.py plus sibling alt-publish/registry lock
  • plugin coverage suite 495 passed on Python 3.13

Relates to #1099. Relates to #1182.

Current quoted-command context repair

This descendant inherits #1173 RED d7384e53d44a426356a73e24b2b9cc3fe153de27 and final canonical repair 3a5b14771cc7abb6553fa1ec9bcd8b62acc947ac without copying a leaf workaround. Exact head: 53cd89ec3dcc20d8cfd6c7ad355b705c3d2704c2; current parent: e9df55d04e2563ad90a574d4f2f5685fa52754af; Git compare is 0 behind and preserves this PR's unique detector/test delta. The top #1183 source AST and extracted helper probes pass quoted/reporting negatives while preserving direct and command-substitution positives. This custom-base PR stays Draft until its own hosted integration and independent review are terminal.

Current assignment-value context repair — 2026-09-08

This normal two-parent descendant inherits canonical #1173 RED 90ae232e852b3d01463d978f9bccd9157c341fe7 and GREEN 1e6a3eb43a5bc2d146656af13e7fa6cad2a77315 without a leaf workaround. Exact head: 3e571723a65266c086912b9f3bf1de648150cc01; current parent: 058051f72e7a953905bafcf5142eb93f7698e863; Git compare is 0 behind and preserves this PR's unique detector/test delta. Assignment-value negatives and environment-prefix/direct/substitution positives are present in the exact tree. This custom-base PR remains Draft until its own hosted integration and independent current-head review are terminal. Earlier head strings in this body are historical evidence only.

Current heredoc-safe restack — 2026-09-08

Canonical #1173 exact head 184b4b4f55906284ac1d8059e46cec8f0d9cfc9a fixes closed literal here-document payload false positives with RED 6f6be77d... → GREEN 12faf2f.... This branch was integrated non-destructively on parent 2c7b0656fdd9e1977483fb007e3173d387254893; exact head is 4253ddeb380245db514c885fc6bf26662515211c. GitHub compare reports behind_by=0, ahead_by=11; the PR's unique detector delta remains in the tree. Exact-head hosted integration and independent review are not terminal, so this PR remains Draft. Earlier head strings are historical evidence only.

Lock executable gem push, nuget push, and dotnet nuget push.
Keep gem list, nuget list, comments, echo lookalikes, and pnpm
publish on their existing classes. Relates to #1099.
Fail closed on executable gem push as
claude-plugin-gem-push-command and nuget push as
claude-plugin-nuget-push-command. Reads, comments, and echo
lookalikes stay inventory. 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
Summary:
- Snapshot 2026-09-08 06:17 UTC records Draft #1183 `798da47` stacked on #1182.
- Executable gem push and nuget push fail closed.
- Remaining leftover: composer/pub/go upload.

Rationale:
- #999 is the single writer of the product-technical gap baseline.
- Do not Close #1099 or #1182.

Tests:
- documentation-only; detector evidence lives on #1183 (495 passed)
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