튜토리얼: SBOM을 사용한 종속성 스캔 설정
SBOM 분석기와 정적 도달 가능성 분석을 사용하여 종속성 스캔을 설정하고, 종속성의 취약점을 분류 및 분석하고, 종속성을 업데이트하여 취약점을 해결하는 방법을 안내하는 실습 튜토리얼입니다.
Tier: Ultimate Offering: GitLab.com 종속성 스캔은 소프트웨어 종속성의 보안 취약점을 메인 브랜치에 커밋되기 전에 자동으로 탐지할 수 있습니다. 애플리케이션을 개발하고 테스트하는 동안 워크플로 초기 단계에서 취약한 종속성을 식별하고 대응할 수 있습니다. 종속성 분석기는 애플리케이션 종속성의 소프트웨어 자재 명세서(SBOM, Software Bill of Materials)를 생성한 다음, 이를 권고문과 비교하여 취약점을 식별합니다. 정적 도달 가능성 분석(static reachability analysis)은 애플리케이션이 취약한 종속성 중 어떤 것을 임포트하는지 식별하여 취약점 위험 평가 데이터를 강화합니다. 이 튜토리얼에서는 다음을 수행하는 방법을 안내합니다. 예제 JavaScript 애플리케이션을 생성합니다. 정적 도달 가능성 분석을 포함하여 새로운 SBOM 분석기를 사용해 종속성 스캔을 설정합니다. 애플리케이션 종속성의 취약점을 분류합니다. 종속성을 업데이트하여 취약점을 해결합니다. 이 튜토리얼에서는 탐지를 시연하기 위해 알려진 취약점이 있는 오래된 종속성을 사용합니다. 시작하기 전에 # 이 튜토리얼을 시작하기 전에 다음을 준비했는지 확인하십시오. GitLab.com 계정 및 새 프로젝트를 생성할 수 있는 액세스 권한 Git Node.js(버전 14 이상) 예제 애플리케이션 파일 생성 # 이 튜토리얼의 첫 번째 작업은 예제 취약 애플리케이션을 포함한 예제 프로젝트를 설정하고 CI/CD를 구성하는 것입니다. GitLab.com에서 기본값을 사용하여 빈 프로젝트를 생성합니다. 프로젝트를 로컬 머신에 클론합니다. git clone https://gitlab.com/<your-username>/<project-name>.git cd <project-name> 로컬 머신의 프로젝트에서 다음 파일을 생성합니다. .gitlab-ci.yml package.json app.js Filename: .gitlab-ci.yml stages: - build - test include: - template: Jobs/Dependency-Scanning.v2.gitlab-ci.yml inputs: enable_static_reachability: true Filename: package.json { "name": "tutorial-ds-sbom-scanning-with-sra", "version": "1.0.0", "main": "index.js", "dependencies": { "axios": "0.21.1", "fastify": "2.14.1" } } Filename: app.js const axios = require('axios'); async function runDemo() { console.log("Starting Reachability Demo..."); try { // This specific call creates the reachability link const response =