Dependency Confusion¶
Birsan, A. (2021). Dependency Confusion: How I Hacked Into Apple, Microsoft and Dozens of Other Companies. Medium.
Retired. This entry was not a citation. Our extractor stored an inline prose definition from the article as though it were a bibliographic record: the title names a concept rather than a published work, and the citation text names no work at all. The page is kept because links to it still resolve, but it is withdrawn from the reference list. This entry is kept so the citations that pointed at it still resolve, and so the correction is visible rather than silent.
Cited by¶
4 citations across 4 artifacts.
Each citation links to the sentence it supports in the citing article.
Mechanisms¶
- Defensive Identifier Reservation
- Its strength is cheap, durable pre-emption: a placeholder costs almost nothing to hold, and holding it denies an attacker a recognition site they would otherwise weaponize — a phishing look-alike, a malicious dependency, an impersonating handle.
This sourceDemonstrates dependency-confusion attacks in which same-named public packages are selected instead of private internal dependencies.
- Its strength is cheap, durable pre-emption: a placeholder costs almost nothing to hold, and holding it denies an attacker a recognition site they would otherwise weaponize — a phishing look-alike, a malicious dependency, an impersonating handle.
- Namespace Collision Scan
- Nothing was "merged" or "computed" — the scan simply proved that two distinct things were competing for one name, which is precisely the condition a naming scope is supposed to forbid.
This sourceDemonstrates dependency confusion arising when the same package identifier exists in private and public registries and the resolver selects the unintended source.
- Nothing was "merged" or "computed" — the scan simply proved that two distinct things were competing for one name, which is precisely the condition a naming scope is supposed to forbid.
- Package Namespace Confusion Guard
- The classic misuse is assuming a private registry alone solves the problem while leaving public fallback enabled — the exact gap dependency-confusion attacks exploit.
This sourceShows how public-package fallback can override intended private dependencies and enable dependency-confusion attacks.
- The classic misuse is assuming a private registry alone solves the problem while leaving public fallback enabled — the exact gap dependency-confusion attacks exploit.
- Package Repository
- The classic misuse is trusting name resolution blindly, which opens the door to a dependency confusion attack, in which a malicious public package with an internal-sounding name is resolved in place of the private one it impersonates.
This sourceDemonstrates dependency confusion by publishing public packages under internal dependency names so automated resolution installs the external package in place of the intended private dependency.
- The classic misuse is trusting name resolution blindly, which opens the door to a dependency confusion attack, in which a malicious public package with an internal-sounding name is resolved in place of the private one it impersonates.
Verification¶
Does it exist? Not checked yet. This entry carries no identifier to resolve. It was extracted from the citation as written in the article, normalized, and deduplicated against the rest of the registry.
Does it back the claim? Not recorded. Neither this nor any other of the 4 citations of this work carries a recorded support check.
Was it audited? Yes. A second, independent pass read the citation against the article text and recorded a verdict.
Support is checked per citation rather than per work — the same source can be cited soundly in one article and wrongly in another. Per-citation recording began recently, so a citation with no recorded check is a gap in the record rather than evidence it went unchecked.
See how references were verified.
Links previously used in the corpus¶
Before the registry existed this work was also linked 1 other way.
Registry ID ref:31a8917c1092 · see in the full table