BIZMETRIC

보안 칼럼PHP·Node사실 확인 2026-10-31 · 기관 3곳

npm audit 취약점 확인 · audit fix와 --force의 차이

세 줄 요약

  1. npm audit으로 알려진 취약점을 확인합니다.
  2. npm audit fix로 고칠 수 있는 것부터 고칩니다.
  3. --force는 깨지는 변경이 들어올 수 있어 테스트와 함께 신중하게 씁니다.

Node.js 프로젝트는 수많은 외부 패키지를 가져다 씁니다. 그중 하나에 알려진 취약점이 있으면 내 서비스도 위험해질 수 있습니다. npm audit으로 확인하고 고치는 방법과, 조심해야 할 옵션을 정리했습니다.

npm audit은 무엇을 하나

npm audit은 프로젝트가 쓰는 패키지 목록을 레지스트리에 보내 알려진 취약점이 있는지 보고서를 받아 옵니다.

프로젝트 폴더에서 npm audit을 실행하면 취약한 패키지, 심각도, 고칠 방법이 함께 나옵니다.

npm audit 사용법 안내 확인하기

npm audit fix로 고치기

npm audit fix를 실행하면 고칠 수 있는 취약점에 대한 수리를 패키지에 적용합니다.

먼저 이 명령으로 고칠 수 있는 것부터 고치고, 남은 항목을 하나씩 살펴보는 순서가 무난합니다.

고친 뒤에는 잠금 파일(package-lock.json)이 바뀌므로 변경 내용을 함께 저장합니다.

--force는 신중하게

npm audit fix --force는 메이저 버전 변경처럼 기존 코드와 맞지 않을 수 있는 업데이트까지 설치할 수 있습니다.

그래서 무엇이 바뀌는지 모르는 상태라면 --force는 쓰지 않는 편이 좋습니다.

꼭 써야 한다면 작업 내용을 먼저 저장해 두고, 실행 후 테스트를 돌려 동작을 확인합니다.

심각도 기준 정하기

--audit-level 옵션으로 어느 심각도부터 실패로 볼지 정할 수 있습니다.

배포 전에 자동 점검을 돌리는 팀이라면 높음 이상만 실패로 처리하는 식으로 기준을 정해 두면 관리가 편합니다.

npm audit-level 설정 안내 확인하기

주의할 점

보고서에 나온 취약점이 내 서비스에서 실제로 쓰이는 기능과 관련 없을 때도 있습니다. 심각도와 실제 영향 범위를 함께 봅니다.

오래 업데이트되지 않은 패키지는 수리 버전이 아예 없을 수 있습니다. 이럴 때는 대체 패키지를 찾는 것이 근본 해결입니다.

npm audit은 알려진 취약점만 찾습니다. 아직 알려지지 않은 문제까지 막아 주지는 않습니다.

자주 묻는 질문

Q. 취약점이 너무 많이 나와요.

개발할 때만 쓰는 패키지에서 나온 것도 섞여 있습니다. 실제 서비스에 들어가는 패키지의 높은 심각도부터 처리하세요.

Q. audit fix를 해도 안 고쳐져요.

수동 확인이 필요한 항목은 자동으로 고쳐지지 않습니다. 해당 패키지의 새 버전이나 대체 패키지를 직접 확인합니다.

Q. 얼마나 자주 돌려야 하나요?

패키지를 새로 설치하거나 업데이트할 때, 그리고 배포 전에 한 번씩 돌리는 습관이 좋습니다.

출처

사실 확인표

npm audit은 프로젝트가 쓰는 패키지 목록을 레지스트리에 보내 알려진 취약점이 있는지 보고서를 받아 옵니다.npm 공식 문서 npm audit · Reintech npm 보안 점검 글 · DEV Community npm audit fix 해설
npm audit fix를 실행하면 고칠 수 있는 취약점에 대한 수리를 패키지에 적용합니다.npm 공식 문서 npm audit · Reintech npm 보안 점검 글 · DEV Community npm audit fix 해설
npm audit fix --force는 메이저 버전 변경처럼 기존 코드와 맞지 않을 수 있는 업데이트까지 설치할 수 있습니다.npm 공식 문서 npm audit · Reintech npm 보안 점검 글 · DEV Community npm audit fix 해설
그래서 무엇이 바뀌는지 모르는 상태라면 --force는 쓰지 않는 편이 좋습니다.npm 공식 문서 npm audit · DEV Community npm audit fix 해설 · Reintech npm 보안 점검 글
--audit-level 옵션으로 어느 심각도부터 실패로 볼지 정할 수 있습니다.npm 공식 문서 npm audit · Reintech npm 보안 점검 글 · DEV Community npm audit fix 해설