InfoGrab Docs

의존성 스캔 트러블슈팅

의존성 스캔 트러블슈팅에 대해 설명합니다.

의존성 스캔 작업 시 다음과 같은 문제가 발생할 수 있습니다. 디버그 수준 로깅 # 디버그 수준 로깅은 트러블슈팅 시 도움이 될 수 있습니다. 자세한 내용은 디버그 수준 로깅 을 참조하세요. 로컬 환경에서 분석기 실행 # 파이프라인을 실행하지 않고 문제를 디버그하거나 동작을 확인하기 위해 의존성 스캔 분석기를 로컬에서 실행할 수 있습니다. 예를 들어 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 파일에 전용 변환기 작업을 정의합니다. 변환을 용이하게 하기 위해 적합한 Docker 이미지, 스크립트 또는 둘 다를 사용합니다. 해당 작업이 변환된 지원 파일을 아티팩트로 업로드하도록 합니다. 변환된 정의 파일을 사용하기 위해 dependency_scanning 작업에 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 lock file to be analyzed. 의존성 스캔 작업이 예기치 않게 실행됨 # 의존성 스캔 CI 템플릿 은 rules:exi