What problem does it solve?
During authorized penetration tests, organizations often unknowingly expose internal package names that can be claimed on public registries, allowing attackers to execute code on build servers and CI/CD runners. This Skill guides testers through finding, confirming, and safely demonstrating dependency confusion vulnerabilities before real attackers do.
Core Features & Use Cases
- Internal Package Enumeration: Extract internal package names from leaked manifests, JS bundles, sourcemaps, CI logs, and exposed .git directories across npm, PyPI, NuGet, Maven, Gradle, Go, Cargo, and RubyGems.
- Six Attack Variants: Covers non-existent names, version-preference takeover, typosquatting, npx binary-name takeover, transitive dependency hijacking, and namespace squatting.
- Out-of-Band Confirmation: Uses DNS/HTTP callbacks via interactsh or Burp Collaborator to prove install-time code execution on CI runners without exfiltrating real secrets.
- Use Case: A public JavaScript bundle references @acme/telemetry, which is unclaimed on npm. You publish a benign proof-of-concept package with a preinstall beacon, and the target's next CI build triggers a callback confirming remote code execution.
Quick Start
Ask the AI to check the recovered package.json and JS bundles from the target for internal package names that are unclaimed on public registries and plan a dependency confusion proof-of-concept.