<div data-gb-custom-block data-tag="hint" data-style='info'>
팁: 이전 종속성 뒤에 쉼표를 추가하는 것을 잊지 마세요.
</div>
* Node 애플리케이션을 위해 [lock 파일](https://docs.npmjs.com/files/package-lock.json)을 생성합니다:
```
npm install --package-lock
```
<div data-gb-custom-block data-tag="hint" data-style='info'>
팁: 이미 파일이 존재한다면, 제거하려면 rm package-lock.json을 실행하십시오.
</div>
### 단계 3: 변경 내용 커밋 및 검토
* 변경 사항을 로컬로 커밋하고, 로컬 git 리포지토리에서 변경 사항의 상태를 확인한 후 변경 사항을 로컬 git에 추가하고, 커밋합니다:
```
git status
git add package*
git commit -m "adding tinymce v4.1.0"
```
* 로컬 코드 변경 사항을 GitHub에 커밋하여 파일과 히스토리를 GitHub의 원격 git 리포지토리로 전달합니다:
```
git push --set-upstream origin add_vulns
```
```
GitHub에서 **add_vulns** 브랜치에 변경 사항을 받았습니다.
```
* GitHub에서 **Compare & pull request**를 클릭하여 **add_vulns** 브랜치와 **master** 브랜치를 비교하고 풀 요청을 생성합니다:
<figure><img src="../../../.gitbook/assets/click-compare.png" alt="GitHub에서 풀 요청 정보"><figcaption><p>GitHub에서 풀 요청 정보</p></figcaption></figure>
### 단계 4: Snyk PR Checks 사용
Snyk 병합 프로세스에서 풀 요청(PR)을 자동으로 스캔하여 취약점 및 라이선스 문제를 확인할 수 있습니다:
<figure><img src="../../../.gitbook/assets/snyk_vuln_lic_check (1).png" alt="GitHub에서 Snyk 풀 요청 검사"><figcaption><p>GitHub에서 Snyk 풀 요청 검사</p></figcaption></figure>
PR 작업 흐름이 완료되면, Snyk 프로젝트에 대해 설정된 취약점 및 라이선스 정책을 유효성 검사합니다. 정책에 따라 검사가 통과하거나 실패하며, 이 내용은 GitHub에 표시됩니다.
이를 통해 보안 게이트를 설정하고 새로운 취약점이나 라이선스 정책을 충족하지 못하는 새로운 오픈 소스 라이브러리를 소스 코드 기준선에 추가하는 것을 방지할 수 있습니다.