(Untitled)
hello world
hello
Hello world
This is the code block
woror
fasdfasdf
asdfasdfasf
커뮤니티가 작을수록 더 많은 신뢰를 얻을 수 있으며, npm 레지스트리가 개발되는 동안에도 대부분이 오픈 소스로 제공되어 자유롭게 기여하고 코드를 검사할 수 있었습니다. 그러나 시간이 지나면서 생태계가 성장함에 따라 소프트웨어 뭉치를 사용하는 조직의 정책과 관행도 변화했습니다.
처음부터 npm 프로젝트는 레지스트리의 클라이언트와 서버측 모두에 많은 신뢰를 두었습니다. 지금 돌이켜보면 데이터의 유효성 검사를 처리하는 데 클라이언트에 지나치게 의존하는 관행은 분명 문제가 많지만, 그 전략 덕분에 자바스크립트 도구 생태계가 유기적으로 성장하고 데이터의 형태로써 참여할 수 있었습니다.
무엇이 문제인가요?
공개 npm 레지스트리는 실제 패키지 tarball의 내용으로 매니페스트 정보의 유효성을 검사하지 않고, npm 호환 클라이언트를 사용해 유효성 검사 및 일관성을 해석하고 시행합니다. 실제로 제가 이 문제를 조사한 결과 서버에서 유효성 검사를 수행한 적이 없는 것으로 보입니다. (따라서 이를 “기능”이라 부를 수 있습니다.)