Elixir
적용 가능성 및 통합
Elixir는 Snyk 오픈소스(Open Source)에서만 지원됩니다.
사용 가능한 통합: CLI 및 IDE: 앱 테스트 또는 모니터링
사용 가능한 기능:
pkg:hex를 사용하여 앱의 SBOM 테스트pkg:hex를 사용하여 앱의 패키지 테스트
기술 사양
지원되는 패키지 레지스트리: hex.pm
Elixir의 경우, Snyk은 보고(Reports) 기능을 지원합니다.
Snyk Fix PR 기능은 Elixir에서 사용할 수 없습니다. 즉, 다음 조건이 충족될 때 PR 검사가 실패하더라도 알림을 받지 못합니다:
PR 검사(PR checks) 기능이 활성화되어 있고, **발견된 문제에 수정 사항이 있는 경우에만 실패(Only fail when the issues found have a fix available)**하도록 구성된 경우.
**"Fixed in" 사용 가능("Fixed in" available)**이 **예(Yes)**로 설정된 경우.
Elixir용 CLI 지원
종속성을 스캔하려면 먼저 Elixir 및 Mix를 설치해야 합니다. 자세한 내용은 Elixir 설치 지침을 참조하십시오.
Snyk은 CLI를 사용하여 Elixir 프로젝트의 취약점을 테스트하는 보안 스캐닝을 제공합니다.
Mix는 Elixir 프로젝트를 컴파일, 테스트 및 생성하는 빌드 도구입니다. Mix는 Hex 패키지 관리자와 통합하여 종속성을 관리합니다.
Snyk은 mix.exs 및 mix.lock 파일을 분석하여 프로젝트의 종속성 트리를 빌드합니다. mix.lock 파일이 존재해야 하며 mix.exs 파일과 동기화되어 있어야 합니다. Snyk은 트리를 빌드한 후 취약점 데이터베이스(vulnerability database)를 사용하여 종속성 트리의 모든 패키지에서 취약점을 찾습니다.
프로젝트 이름 지정
Snyk UI의 프로젝트 이름은 메인 mix.exs 파일의 Mix.Project에 의해 내보내진 project/0 함수의 app 키워드에 따라 지정됩니다.
이름을 재정의하려면 --project-name CLI 옵션을 사용하십시오.
Mix umbrella 프로젝트
Mix umbrella 프로젝트를 테스트하는 경우, Snyk은 이를 umbrella 프로젝트로 감지하고 모든 하위 앱을 자동으로 포함합니다.
메인 mix.exs와 함께 각 앱의 mix.exs가 Snyk UI에서 별도의 프로젝트로 표시되며, 앱의 경로에 따라 이름이 지정됩니다.
Snyk은 transitive 종속성 및 모든 취약점을 포함하여 Mix 프로젝트에 나열된 모든 :hex 패키지를 완벽하게 지원합니다.
Hex 지원에는 Elixir 및 Erlang 패키지가 모두 포함됩니다.
Snyk은 또한 :path, :git 및 :github 종속성에 대해 제한적인 지원을 제공하지만, 이들의 transitive 종속성이나 취약점은 지원하지 않습니다.
:path종속성은 종속성 트리에 이름으로 표시됩니다.:git및:github종속성은mix.exs파일에 정의된 대로 리포지토리 URL 및 버전(:branch,:tag또는:ref)으로 종속성 트리에 표시됩니다.
asdf를 사용하는 경우, asdf global elixir <선택한 버전>을 실행하여 버전을 설정해야 합니다.
Last updated