InfoGrab DocsInfoGrab Docs

튜토리얼: 의존성 스캐닝 설정

의존성 스캐닝을 구성하고, 프로젝트 의존성의 취약성을 감지하고, 단계별 실용적 가이드를 통해 해결하는 방법을 알아봅니다.

의존성 스캐닝은 애플리케이션을 개발하고 테스트하는 동안 소프트웨어 의존성의 보안 취약점을 자동으로 찾을 수 있습니다. 예를 들어, 의존성 스캐닝은 애플리케이션이 취약한 것으로 알려진 외부(오픈 소스) 라이브러리를 사용하는 경우 알려줍니다. 그런 다음 애플리케이션을 보호하기 위한 조치를 취할 수 있습니다. 이 튜토리얼은 취약한 샘플 애플리케이션을 생성하는 방법을 보여준 후 다음을 설명합니다: 애플리케이션의 의존성에서 취약점을 탐지, 분류 및 해결하는 방법. 머지 리퀘스트에서 취약점을 탐지하는 방법. 의존성 스캐닝을 설정하려면: 예제 애플리케이션 파일 생성 . 취약점 분류 . 높은 심각도 취약점 해결 . 머지 리퀘스트에서 취약점 탐지 테스트 . 시작하기 전에 # Gitpod이 활성화되어 있는지 확인하세요. Gitpod은 온디맨드 클라우드 개발 환경입니다. 자세한 내용은 Gitpod 을 참조하세요. 또는 자체 개발 환경을 사용할 수도 있습니다. 이 경우 Yarn과 Node.js가 설치되어 있어야 합니다. 예제 애플리케이션 파일 생성 # 먼저 새 프로젝트에서 파이프라인을 구성하는 파일을 생성하고, 취약점 스캐닝 대상이 되는 의존성을 추가합니다. 기본값을 사용하여 빈 프로젝트를 생성합니다. main 브랜치에 다음 파일들을 생성합니다. 파일명: .gitlab-ci.yml stages: - build - test include: - template: Jobs/Dependency-Scanning.gitlab-ci.yml # override the dependency scanning job gemnasium-dependency_scanning: tags: [ saas-linux-large-amd64 ] rules: - if: $CI_COMMIT_BRANCH == "main" - if: $CI_MERGE_REQUEST_IID 파일명: index.js // Require the framework and instantiate it const fastify = require('fastify')({ logger: true }) const path = require('path') //const fetch = require('node-fetch') fastify.register(require('fastify-static'), { root: path.join(__dirname, 'public'), prefix: '/' }) fastify.register(require('./routes'), { message: "hello" }) // fastify.register(require('fastify-redis'), { url: constants.redisUrl, /* other redis options */ }) // Run the server! const start = async () => { try { await fastify.listen(8080, "0.0.0.0") fastify.log.info(`server listening on ${fastify.server.a