InfoGrab Docs

튜토리얼: SBOM을 사용하여 의존성 스캔 설정

SBOM을 사용하여 의존성 스캔을 구성하고, 프로젝트 의존성의 취약점을 감지하고, 코드에서 어떤 취약점에 도달할 수 있는지 이해하는 방법을 알아봅니다.

의존성 스캔은 소프트웨어 의존성의 보안 취약점을 기본 브랜치에 커밋되기 전에 자동으로 감지할 수 있습니다. 애플리케이션을 개발하고 테스트하는 동안 워크플로우 초기에 취약한 의존성을 식별하고 해결할 수 있습니다. 의존성 분석기는 애플리케이션 의존성의 소프트웨어 자재명세서(SBOM)를 생성한 다음 권고 사항과 비교하여 취약점을 식별합니다. 정적 도달 가능성 분석은 애플리케이션이 임포트하는 취약한 의존성을 식별하여 취약점 위험 평가 데이터를 향상시킵니다. 이 튜토리얼에서는 다음을 수행하는 방법을 보여줍니다: 예시 JavaScript 애플리케이션을 만듭니다. 정적 도달 가능성 분석을 포함하여 새 SBOM 분석기를 사용하여 의존성 스캔을 설정합니다. 애플리케이션 의존성의 취약점을 분류합니다. 의존성을 업데이트하여 취약점을 수정합니다. Note 이 튜토리얼은 감지 시연을 위해 알려진 취약점이 있는 오래된 의존성을 사용합니다. 시작하기 전에 # 이 튜토리얼을 시작하기 전에 다음이 있는지 확인하세요: 새 프로젝트를 만들 수 있는 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 파일명: .gitlab-ci.yml stages: - build - test include: - template: Jobs/Dependency-Scanning.v2.gitlab-ci.yml inputs: enable_static_reachability: true 파일명: 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" } } 파일명: app.js const axios = require ( 'axios' ); async function runDemo ( ) { console . log ( "Starting Reachability Demo..." ); try { // This specific call creates the reachability link const response = await axios. get ( '<https://gitlab.com>' ); console . log ( "Request successful, status:" , response.