Dependency confusion — the package manager pulls the wrong registry
Publishing a public package with an internal package's name can make a build fetch the attacker's version, a supply-chain class that hit major companies via npm and PyPI defaults.
Not yet scoped.
Why
The PoC reproduces the name-resolution mismatch in a sandbox and the scoping/lockfile defenses, framing the registry as trusted input that is not.
How it works
Not yet built.
Where it lands in Jayverse
CI: add a scoped-registry check across every Jayverse repo. On top of the existing frozen-lockfile policy, confirm every internal-looking package name across rabbit, verex, jayverse-wallet, jayverse-token, jayverse-personas and jayverse-number is either scoped to a private registry or intentionally public, so a public namesquat can't win resolution.
gitboard: surface the last dependency-confusion audit date per repo. This class stays silent until exploited and won't show up in ordinary CI green checks — track the audit date on the dashboard so it's visibly stale rather than invisibly skipped.
Key expressions
Words and phrases from this page worth keeping, with the Korean meaning and the sentence they come from.
Expression
뜻 · 쓰이는 자리
name-resolution mismatch
이름 해석(매칭)이 어긋나는 것 · "reproduces the name-resolution mismatch in a sandbox"
supply-chain class
공급망 공격 유형 · "a supply-chain class that hit major companies"
trusted input
신뢰할 수 있다고 가정된 입력값 · "framing the registry as trusted input that is not"
scoping
패키지 이름에 네임스페이스를 지정하는 것 · "the scoping/lockfile defenses"
fetch
(패키지를) 가져오다, 당겨오다 · "can make a build fetch the attacker's version"
PyPI
파이파이(Python Package Index) · 파이썬 패키지 레지스트리, npm과 함께 디펜던시 컨퓨전 공격의 표적이 된 기본 저장소. "a supply-chain class that hit major companies via npm and PyPI defaults"
내부 패키지 이름으로 공개 패키지를 발행하면 빌드가 공격자 버전을 가져올 수 있으며, npm·PyPI 기본값을 통해 대기업을 강타한 공급망 계급입니다.
아직 범위 미정.
왜
이 PoC는 샌드박스에서 이름 해석 불일치와 스코핑/락파일 방어책을 재현하여, 레지스트리를 사실은 아닌데 신뢰되는 입력으로 규정합니다.
동작 방식
아직 만들지 않음.
Jayverse에서의 위치
CI: 모든 Jayverse 저장소에 스코프 레지스트리 체크를 추가한다. 기존 락파일 고정 정책에 더해, rabbit, verex, jayverse-wallet, jayverse-token, jayverse-personas, jayverse-number 전체에서 내부용처럼 보이는 패키지명이 프라이빗 레지스트리에 스코프되어 있거나 의도적으로 공개된 것인지 확인해, 공개 네임스쿼팅이 해석에서 이기지 못하게 한다.
gitboard: 저장소별 마지막 dependency-confusion 감사 날짜를 노출한다. 이 취약점 클래스는 악용되기 전까지 조용하며 일반 CI 초록불로는 드러나지 않는다. 감사 날짜를 대시보드에 추적해 보이지 않게 건너뛰는 대신 눈에 띄게 오래된 상태로 만든다.
핵심 표현
이 페이지의 영어 본문에서 배울 만한 단어와 표현, 뜻과 나온 자리.
Expression
뜻 · 쓰이는 자리
name-resolution mismatch
이름 해석(매칭)이 어긋나는 것 · "reproduces the name-resolution mismatch in a sandbox"
supply-chain class
공급망 공격 유형 · "a supply-chain class that hit major companies"
trusted input
신뢰할 수 있다고 가정된 입력값 · "framing the registry as trusted input that is not"
scoping
패키지 이름에 네임스페이스를 지정하는 것 · "the scoping/lockfile defenses"
fetch
(패키지를) 가져오다, 당겨오다 · "can make a build fetch the attacker's version"
PyPI
파이파이(Python Package Index) · 파이썬 패키지 레지스트리, npm과 함께 디펜던시 컨퓨전 공격의 표적이 된 기본 저장소. "a supply-chain class that hit major companies via npm and PyPI defaults"