0deps 운동: 로컬 의존성 및 불변 계약
소프트웨어 개발자들은 흔히 수백 개의 외부 라이브러리를 설치합니다. 현대적인 프레임워크는 수천 개의 전이적 의존성(transitive dependencies)에 의존합니다. 이는 여러분의 앱이 전혀 모르는 타인이 작성한 코드를 실행한다는 것을 의미합니다.
이러한 속도에는 대가가 따릅니다. 여러분은 소프트웨어 공급망 리스크에 직면하게 됩니다.
모든 의존성은 공격 표면(attack surface)을 넓힙니다. 의존성은 다음과 같은 문제를 일으킬 수 있습니다:
- 보안 결함을 유발할 수 있습니다.
- 공급망 공격의 대상이 될 수 있습니다.
- 제작자에 의해 방치될 수 있습니다.
- 공개 API를 변경할 수 있습니다.
