InfoGrab DocsInfoGrab Docs

종속성 스캐닝 문제 해결

GitLab 종속성 스캐닝 사용 중 발생할 수 있는 일반적인 문제와 해결 방법을 설명합니다.

종속성 스캐닝을 사용할 때 다음과 같은 문제가 발생할 수 있습니다. 디버그 수준 로깅 # 디버그 수준 로깅은 문제 해결 시 유용합니다. 자세한 내용은 디버그 수준 로깅 을 참조하세요. 로컬 환경에서 분석기 실행 # 파이프라인을 실행하지 않고 로컬에서 종속성 스캐닝 분석기를 실행하여 문제를 디버깅하거나 동작을 확인할 수 있습니다. 예를 들어, Python 분석기를 실행하려면 다음 명령을 사용합니다. cd project-git-repository docker run \ --interactive --tty --rm \ --volume "$PWD":/tmp/app \ --env CI_PROJECT_DIR=/tmp/app \ --env SECURE_LOG_LEVEL=debug \ -w /tmp/app \ registry.gitlab.com/security-products/gemnasium-python:5 /analyzer run 이 명령은 디버그 수준 로깅으로 분석기를 실행하고 로컬 리포지터리를 마운트하여 의존성을 분석합니다. registry.gitlab.com/security-products/gemnasium-python:5 를 프로젝트 언어와 의존성 관리자에 맞는 스캐너 image:tag 조합으로 교체할 수 있습니다. 특정 언어 또는 패키지 관리자 미지원 문제 우회 # 지원되는 언어 에 명시된 것처럼 일부 의존성 정의 파일은 아직 지원되지 않습니다. 그러나 해당 언어, 패키지 관리자 또는 서드파티 도구를 사용하여 정의 파일을 지원되는 형식으로 변환할 수 있다면 종속성 스캐닝을 수행할 수 있습니다. 일반적인 접근 방식은 다음과 같습니다. .gitlab-ci.yml 파일에 전용 변환 job을 정의합니다. 적합한 Docker 이미지, 스크립트 또는 둘 다를 사용하여 변환을 수행합니다. 해당 job이 변환된 지원 파일을 아티팩트로 업로드하도록 설정합니다. 변환된 정의 파일을 사용하기 위해 dependency_scanning job에 dependencies: [<your-converter-job>] 를 추가합니다. 예를 들어, pyproject.toml 파일만 있는 Poetry 프로젝트는 다음과 같이 poetry.lock 파일을 생성할 수 있습니다. include: - template: Jobs/Dependency-Scanning.gitlab-ci.yml stages: - test gemnasium-python-dependency_scanning: # Work around https://gitlab.com/gitlab-org/gitlab/-/issues/32774 before_script: - pip install "poetry>=1,<2" # Or via another method: https://python-poetry.org/docs/#installation - poetry update --lock # Generates the lockfile to be analyzed. 종속성 스캐닝 job이 예상치 않게 실행됨 # 종속성 스캐