Snyk CLI 시작하기
Snyk CLI 소개
Snyk은 보안 취약점에 대한 소프트웨어 개발 프로젝트를 스캔하고 모니터링하는 개발자 우선 클라우드 네이티브 보안 도구입니다. Snyk은 보안 문제에 대해 여러 콘텐츠 유형을 스캔합니다.
Snyk 오픈소스: 오픈소스 취약점 찾기 및 자동 수정
Snyk Code: 실시간으로 애플리케이션 코드의 취약점 찾기 및 수정
Snyk Container: 컨테이너 이미지 및 Kubernetes 애플리케이션의 취약점 찾기 및 수정
Snyk IaC: Terraform 및 Kubernetes 코드의 안전하지 않은 구성 찾기 및 수정
Snyk CLI는 Snyk의 기능을 개발 워크플로로 가져옵니다. 명령줄 또는 IDE에서 CLI를 로컬로 실행할 수 있습니다. CI/CD 파이프라인에서도 CLI를 실행할 수 있습니다. 다음은 Snyk CLI 테스트 명령 출력 예시를 보여줍니다.

Snyk CLI 스캔은 많은 언어 및 도구를 지원합니다. 자세한 내용은 다음을 참조하십시오.
지원되는 언어, 패키지 관리자 및 프레임워크 (오픈소스 및 Snyk Code용)
이 페이지에서는 CLI를 사용하여 설치, 인증 및 스캔 시작 방법을 설명합니다. Snyk은 이러한 단계를 안내하는 온보딩 마법사도 제공합니다. 데모는 Snyk 시작하기: CLI 온보딩 흐름 개요를 참조하십시오.
Snyk CLI 설치 및 시스템 인증
CLI를 사용하려면 CLI를 설치하고 시스템을 인증해야 합니다. Snyk CLI 설치 또는 업데이트 및 계정으로 CLI 인증을 참조하십시오. 각 릴리스의 변경 사항 요약은 릴리스 노트를 참조하십시오. 코드를 스캔하기 전에 Snyk CLI에 대한 코드 실행 경고를 검토하십시오.
오픈소스 스캔을 위해 CLI를 사용하기 전에 패키지 관리자를 설치해야 합니다. Gradle 또는 Maven과 같은 필요한 타사 도구는 PATH에 있어야 합니다.
IDE 또는 CI/CD 환경에도 CLI를 설치할 수 있습니다. 자세한 내용은 각 통합에 대한 지침은 IDE 및 CI/CD 설명서를 참조하십시오.
설치 테스트
인증 후 설치를 테스트할 수 있습니다. 빠른 테스트를 위해 snyk --help를 실행하십시오.
또는 공개 npm 패키지(예: snyk test ionic)에 대한 빠른 테스트를 수행할 수 있습니다.
터미널에서 test 명령 보고서를 살펴보십시오. 보고서에는 Snyk이 패키지에서 발견한 취약점이 표시됩니다. 발견된 각 문제에 대해 Snyk은 문제의 심각도를 보고하고, 자세한 설명에 대한 링크를 제공하며, 취약한 모듈이 시스템에 유입된 경로를 보고하고, 문제를 해결하는 방법에 대한 지침을 제공합니다.
개발 프로젝트 스캔
Snyk CLI를 사용하여 오픈소스 프로젝트의 취약점을 테스트하기 전에 제한된 예외를 제외하고 프로젝트를 빌드해야 합니다. 자세한 내용은 테스트 전에 빌드해야 하는 오픈소스 프로젝트를 참조하십시오.
또한 오픈소스 프로젝트의 언어에 따라 Snyk CLI를 사용하기 전에 언어 환경을 설정해야 할 수도 있습니다. 자세한 내용은 지원되는 언어, 패키지 관리자 및 프레임워크를 참조하십시오.
CLI를 설치하고 시스템을 인증한 후 오픈소스 프로젝트를 스캔하려면 cd /my/project/를 사용하여 package.json, pom.xml 또는 composer.lock과 같은 지원되는 패키지 매니페스트 파일이 포함된 폴더로 현재 디렉토리를 변경합니다. 그런 다음 snyk test를 실행합니다. 식별된 모든 취약점은 경로 및 수정 지침과 함께 나열됩니다.
소스 코드를 스캔하려면 snyk code test를 실행하십시오.
예를 들어 snyk container test ubuntu:18.04를 실행하여 Docker 이미지를 태그로 스캔할 수 있습니다.
Kubernetes (K8s) 파일을 스캔하려면 다음을 실행하십시오. snyk iac test /path/to/kubernetes_file.yaml
각 콘텐츠 유형을 스캔하기 위해 Snyk CLI를 사용하는 방법에 대한 자세한 내용은 다음을 참조하십시오.
Snyk 오픈소스용 Snyk CLI 및
test및monitor명령에 대한 CLI 도움말Docker 스캔을 포함한 Snyk 컨테이너용 Snyk CLI 및 Snyk 컨테이너 CLI 도움말
Terraform 및 Kubernetes (K8s) 프로젝트를 포함한 Snyk IaC용 Snyk CLI 및 Snyk IAC CLI 도움말
오픈소스 또는 컨테이너 프로젝트 모니터링
Snyk은 오픈소스 또는 컨테이너 통합 SCM 프로젝트를 주기적으로 모니터링하고 새로운 취약점에 대해 경고할 수 있습니다. 프로젝트를 모니터링하도록 설정하려면 snyk monitor 또는 snyk container monitor를 실행하십시오.
이렇게 하면 현재 종속성 스냅샷이 생성되므로 Snyk은 코드를 정기적으로 스캔할 수 있습니다. 그러면 Snyk은 새로운 취약점이 도입되거나 이전에 사용할 수 없었던 패치 또는 업그레이드 경로가 생성될 때 새로 공개된 취약점에 대해 경고할 수 있습니다. 다음 코드는 snyk monitor 명령의 출력 예시를 보여줍니다.
Snyk 계정에 로그인하여 프로젝트 페이지로 이동하여 최신 스냅샷 및 스캔 결과를 찾을 수 있습니다.

자세한 내용은 정기적으로 프로젝트 모니터링을 참조하십시오.
테스트 부족
테스트 제한은 공개 리포지토리에는 적용되지 않습니다. 개인 리포지토리(해당하는 경우)와 관련된 테스트 제한이 공개 리포지토리 테스트에 의해 사용되고 있음을 확인하면 Snyk CLI가 스캔하는 리포지토리의 공개 URL을 Snyk에 알려 이 문제를 해결할 수 있습니다. 이렇게 하면 Snyk은 공개 리포지토리를 테스트 제한에 포함하지 않습니다.
오픈소스 프로젝트에서 테스트가 부족한 경우 다음 단계를 따르십시오.
snyk monitor를 실행합니다.Snyk 웹 UI에서 프로젝트 설정으로 이동합니다.
Git 원격 URL 아래에 오픈소스 리포지토리의 URL을 입력합니다.
Snyk CLI에 대한 추가 정보
snyk help를 실행하거나 CLI 명령 및 옵션 요약을 참조하십시오.
빠른 비디오 교육 세션은 Snyk CLI 소개 과정을 참조하십시오.
Snyk은 또한 치트 시트 (블로그 게시물)를 제공합니다.
특히 다음 옵션에 대한 정보가 유용할 수 있습니다.
--severity-threshold=low|medium|high|critical: 지정된 수준 이상의 취약점만 보고합니다.--json: 결과를 JSON 형식으로 인쇄합니다.--all-projects: 작업 디렉토리의 모든 프로젝트를 자동으로 감지합니다.
CLI에 대한 자세한 내용은 CLI 설명서를 참조하십시오.
Snyk CLI 지원 받기
Snyk CLI 또는 Snyk 일반 사용에 대한 도움말은 Snyk 지원 페이지의 리소스를 사용하십시오. Snyk은 Snyk 개발 프로젝트의 GitHub Issues를 적극적으로 모니터링하지 않습니다.
Snyk CLI는 기여를 받지 않습니다.
2024년 7월 22일부터 Snyk CLI는 더 이상 외부 기여를 받지 않습니다.
CLI의 광범위한 사용 및 복잡한 특성으로 인해 사소한 수정조차도 예측할 수 없는 결과를 초래할 수 있습니다. 2024년 4월에 CLI 코드에 릴리스 채널을 도입한 이후 Snyk의 초점은 릴리스 안정화에 있었습니다. Snyk은 이 오픈소스, 비기여 모델이 이 목표를 가장 잘 달성한다고 믿습니다.
Snyk 고객 및 CLI 사용자에게 투명성을 제공하기 위해 Snyk은 계속 공개적으로 작업할 것입니다. 그러나 앞으로 Snyk CLI는 기여를 받지 않습니다.
Snyk은 Snyk 커뮤니티에 감사와 존경을 표합니다.
보안
보안 문제나 우려 사항은 GitHub 리포지토리의 SECURITY.md 파일을 참조하십시오.
Last updated