feat(web2-vuln-classes): add dependency confusion / supply chain class#69
Open
letztek wants to merge 1 commit into
Open
feat(web2-vuln-classes): add dependency confusion / supply chain class#69letztek wants to merge 1 commit into
letztek wants to merge 1 commit into
Conversation
Add a new numbered bug class (24. DEPENDENCY CONFUSION / SUPPLY CHAIN) to web2-vuln-classes covering internal-package-name discovery, unclaimed-name confirmation, the callback-only responsible-disclosure PoC, npm/pip/Maven/RubyGems variants, and the strict scope/N-A boundary. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
letztek
force-pushed
the
feat/web2-dependency-confusion-class
branch
from
June 30, 2026 08:34
ac7fd60 to
f859b7a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds a new numbered bug class 24. DEPENDENCY CONFUSION / SUPPLY CHAIN to
skills/web2-vuln-classes/SKILL.md, and bumps the file title from "23 Classes" to "24 Classes".The new class follows the existing house style (Root Cause → Detection → Variants → callback-only PoC → Real Paid Examples → Chains → Triage):
package.json/ lockfiles on GitHub,require('@org/internal-pkg')strings scraped from public JS bundles,.npmrc/.pip.confregistry refs, error messages and404 Not Foundfrom internal registries, source maps.npm view,pip index, RubyGems/Maven Central checks) — the kill switch: if the name is already taken, it is N/A.preinstall/postinstallhook to prove execution. Strong, repeated emphasis on callback only, never a real payload (no reverse shell, no file read, no env exfil beyond the minimal hostname/whoami needed to prove a real corporate host fired — and only where program policy allows). Includes ARIN/source-IP analysis to rule out registry-scanner false positives.setup.pyexecution), Maven (groupId/internal repo), RubyGems (Gemfile/gemspec), with cross-language notes documented by Snyk and SystemsHardening.This change uses standard CLI tooling only — no new MCP dependency.
Why
The skill had no supply-chain / dependency-confusion coverage despite it being a high-payout, low-dup class. Alex Birsan's original research paid $130k+ across 35 companies and the technique is still live — Microsoft Security documented 33 malicious npm packages abusing it in May 2026.
References
No dollar figures or CVEs were fabricated.
Merge order
Touches only
skills/web2-vuln-classes/SKILL.md. If another in-flight PR also adds a numbered class to this file, the loser should renumber this to the next free integer and bump the "N Classes" header/frontmatter count accordingly (same convention used for prior class additions).