Polyfill

회사의 폴리필을 개선한 것에 대한 간단한 기록

배경

엘박스에서는 유저에게 따로 폴리필을 제공하는데, User-Agent에 따라 동적으로 폴리필 스크립트를 만들어 제공하는 방식을 사용하고 있다. 폴리필 스크립트를 생성할 때는 polyfill-library 패키지를 사용하고 있다.

문제점

몇 달 전, polyfill.io와 관련된 폴리필 공급망 공격이 발생했다. 중국 CDN 업체가 폴리필 서비스를 인수한 후 공격을 했는데, polyfill-library 패키지의 개발자도 중국 업체에 소유권을 넘긴 것으로 보인다. (관련 SNS)

회사에서는 self-hosting 방식으로 사용하고 있기 때문에 공격할 여지는 적지만, 보안 문제와 더불어 더 이상 유지보수가 안 된다는 것이 큰 문제점이었다.

대응

토스 블로그의 글을 참고하여 core-js와 esbuild를 사용하는 방식으로 변경하고 polyfill-library를 제거했다.