써드 파티 (Third Party)

한눈에 보기

써드 파티는 당사자가 아닌 제3의 주체가 만든 라이브러리, 도구, 서비스를 통칭한다. 퍼스트, 세컨드 파티와의 구분, 공급망 공격 등 위험 요소, 실무에서의 의존성 관리 방법을 정리한다.

최종 업데이트 2026.09.17

써드 파티(Third Party)는 어떤 거래나 기술 생태계에서 당사자인 제1자와 제2자가 아닌 제3의 주체를 가리키며, 소프트웨어 개발에서는 플랫폼 제작사나 개발자 본인이 아닌 외부 주체가 만든 라이브러리, 도구, 서비스를 통칭한다. 써드 파티 구성 요소를 활용하면 검증된 기능을 빠르게 가져다 쓸 수 있지만, 외부 코드에 대한 의존과 그에 따른 보안, 유지보수, 라이선스 위험을 함께 떠안게 된다. 현대 애플리케이션 코드의 상당 부분이 써드 파티 의존성으로 이루어져 있어 이를 관리하는 역량이 중요해졌다.

퍼스트, 세컨드, 써드 파티의 구분

파티(Party)의 구분은 누구의 관점에서 보느냐에 따라 정해진다. 일반적으로 플랫폼이나 제품을 만드는 주체와 그것을 사용하는 주체를 당사자로 놓고, 그 바깥의 주체를 써드 파티라고 부른다.

구분의미예시
퍼스트 파티(First Party)플랫폼이나 제품을 직접 만드는 주체, 또는 그 주체가 제공하는 것애플이 만든 아이폰 기본 앱, 자바 표준 라이브러리
세컨드 파티(Second Party)당사자와 직접 계약이나 제휴 관계에 있는 주체플랫폼사와 파트너십을 맺은 협력사의 소프트웨어
써드 파티(Third Party)당사자와 직접 관계없이 생태계에 참여하는 외부 주체오픈소스 라이브러리, 외부 개발사의 앱, 외부 API

같은 논리가 데이터 영역에도 적용된다. 서비스가 직접 수집한 데이터는 퍼스트 파티 데이터, 외부 사업자가 수집해 제공하는 데이터는 써드 파티 데이터다. 웹에서는 사용자가 방문한 사이트가 아닌 다른 도메인이 심는 써드 파티 쿠키(Third-Party Cookie)가 광고 추적에 쓰여 왔는데, 개인정보 보호 강화 흐름 속에 주요 브라우저들이 이를 차단하거나 제한하는 방향으로 움직여 왔다.

개발에서 만나는 써드 파티의 형태

  • 라이브러리와 프레임워크: npm, Maven, PyPI 같은 패키지 저장소에서 받아 쓰는 오픈소스 코드다. 날짜 처리, HTTP 통신, 인증처럼 흔한 문제를 직접 구현하지 않게 해 준다. 의존성이 다시 다른 의존성을 끌어오므로, 직접 선언한 패키지 몇 개가 수백 개의 전이 의존성(Transitive Dependency)으로 불어나는 것이 보통이다.
  • 외부 API와 SaaS(Software as a Service): 결제 대행, 지도, 소셜 로그인, 문자 발송처럼 직접 구축하기 어려운 기능을 API 호출로 이용한다.
  • 개발 도구와 인프라 서비스: 오류 추적, 로그 수집, 사용자 행동 분석 도구처럼 제품 코드 밖에서 개발과 운영을 돕는 서비스다. 스크립트 한 줄로 삽입되는 경우가 많아 존재를 잊기 쉽지만 이 역시 관리 대상인 의존성이다.
  • 플랫폼 생태계의 외부 앱: 앱스토어에 올라오는 외부 개발사의 앱, 브라우저 확장 프로그램처럼 플랫폼 제작사가 아닌 주체가 만든 소프트웨어다.

장점과 위험

써드 파티 활용의 이점은 분명하다. 바퀴를 다시 발명하지 않아 개발 속도가 빨라지고, 수많은 사용자에게 검증된 코드를 쓰므로 직접 구현보다 품질이 높은 경우가 많으며, 팀은 핵심 비즈니스 로직에 집중할 수 있다. 그러나 외부 코드는 통제할 수 없다는 근본적인 위험이 따른다.

  • 보안 위험: 의존 라이브러리의 취약점이 곧 내 서비스의 취약점이 된다. 로깅 라이브러리 하나의 결함이 전 세계 서비스를 위협했던 Log4j 사태가 대표적이다. 악성 코드가 심긴 패키지를 정상 패키지와 비슷한 이름으로 배포하는 타이포스쿼팅(Typosquatting) 같은 공급망 공격(Supply Chain Attack)도 늘고 있다.
  • 유지보수 위험: 프로젝트가 방치되거나 하위 호환을 깨는 변경이 나올 수 있고, 심하면 제작자가 패키지를 삭제해 생태계 전체의 빌드가 멈추기도 한다.
  • 종속 위험: 특정 외부 서비스에 깊이 결합되면 가격 인상이나 정책 변경에 끌려가는 벤더 종속(Vendor Lock-in)이 생긴다.
  • 라이선스 위험: 오픈소스라도 GPL처럼 파생물 공개 의무가 있는 라이선스를 상용 제품에 잘못 쓰면 법적 문제가 된다.

실무에서의 관리 방법

써드 파티 의존성은 도입보다 관리가 본론이다. 첫째, 도입 전에 검토한다. 유지보수 활동이 살아 있는지, 문서와 커뮤니티가 충분한지, 라이선스가 제품과 호환되는지, 기능 대비 크기가 과하지 않은지 본다. 몇 줄이면 직접 짤 수 있는 기능을 위해 의존성을 추가하는 것은 좋지 않은 신호다. 둘째, 버전을 고정하고 추적한다. 잠금 파일(Lock File)로 빌드 재현성을 보장하고, 의존성 취약점 스캔 도구와 자동 업데이트 봇을 파이프라인에 붙여 알려진 취약점이 공개되는 즉시 알림을 받고 대응한다. 업데이트를 오래 미루면 한 번에 올리기 어려워지므로 작은 업데이트를 자주 하는 편이 안전하다. 조직 차원에서는 소프트웨어 자재 명세서(Software Bill of Materials, SBOM)로 어떤 구성 요소를 쓰고 있는지 목록화하는 관행이 확산되고 있다. 셋째, 경계를 만든다. 외부 API나 라이브러리를 코드 전반에서 직접 호출하지 않고 어댑터(Adapter) 계층 뒤에 감추면, 교체가 필요할 때 수정 범위가 그 계층으로 제한된다. 외부 서비스 호출에는 타임아웃과 재시도, 장애 시의 대체 동작을 설계해 외부 장애가 내 서비스 전체를 멈추지 않게 한다.

마지막으로 만들 것인가 살 것인가(Build vs Buy)의 판단 기준이 필요하다. 일반적인 원칙은 제품의 경쟁력을 결정하는 핵심 도메인은 직접 만들고, 결제나 인증처럼 잘 풀린 일반 문제는 외부 솔루션을 쓰는 것이다. 핵심 영역을 외부에 맡기면 차별화 능력을 잃고, 반대로 일반 문제를 직접 구현하면 본질이 아닌 곳에 유지보수 비용을 계속 지불하게 된다. 다만 외부 서비스의 비용 구조, 데이터 소유권, 규제 요건에 따라 판단이 달라질 수 있으므로 일률적인 답은 없다.

면접에서 이렇게 물어본다

  • 퍼스트 파티, 세컨드 파티, 써드 파티를 구분해 설명하고 각각의 예를 들어 보라.
  • 써드 파티 라이브러리를 도입할 때 어떤 기준으로 검토하는가.
  • 공급망 공격이란 무엇이며 어떻게 대비할 수 있는가.
  • 외부 API 장애가 서비스 전체로 번지지 않게 하려면 어떻게 설계해야 하는가.
  • 써드 파티 쿠키가 제한되는 배경과 그 영향에 대해 아는 대로 말해 보라.
소프트웨어 공학 문서 전체 보기

이 개념, 내 코드에서는 어떻게 물어볼까요

데브핏(DevFit)에 채용공고 URL을 붙여 넣고 레포지토리를 연결하면, 내가 쓴 커밋에서 예상 질문과 어필 포인트를 만듭니다. 하루 10회까지 무료입니다. 합불 판정이나 지원자 랭킹은 만들지 않고, 최종 판단은 사람이 합니다.

공고 넣고 시작하기