기술 사양 및 지침

유니코드 문자 인코딩

Snyk Code와 Snyk Open Source는 모두 UTF-8 인코딩의 소스 코드 파일을 허용합니다. Snyk으로 가져오기 전에 소스 파일을 이 인코딩 유형으로 변환하는 것을 고려하십시오.

Snyk Open Source

Snyk은 프로젝트의 언어 및 패키지 관리자, 그리고 프로젝트 위치에 따라 종속성 트리를 분석하고 빌드합니다.

Snyk for Open Source 및 라이선싱 작동 방식

circle-info

제한된 예외를 제외하고, 취약점에 대해 Open Source 프로젝트를 테스트하기 전에 프로젝트를 빌드해야 합니다. 자세한 내용은 Snyk CLI로 테스트하기 전에 빌드해야 하는 오픈 소스 프로젝트를 참조하십시오.

Snyk은 종속성 그래프(dependencies tree)를 빌드하고 취약점 데이터베이스arrow-up-right를 사용하여 해당 트리 내의 모든 패키지에서 취약점을 찾습니다.

Open Source의 Snyk 정책

정책을 사용하여 개발자 워크플로우에서 종속성 및 취약점을 관리하는 방법에 대한 자세한 내용은 다음을 참조하십시오.

오픈 소스 라이선스 규정 준수

오픈 소스 라이선스 규정 준수를 확인하려면 Snyk 라이선스 규정 준수 관리를 참조하십시오.

Snyk Code

Snyk Code 분석을 위한 파일 크기 제한

Snyk Code는 분석에서 다음 파일을 자동으로 제외합니다.

  • 웹 UI에서 - 1MB보다 큰 파일.

  • CLI 및 IDE에서 - 1MB보다 큰 파일.

  • 3줄 이하의 축소된 JS 파일.

파일 이름 길이 제한

분석은 이름이 255자 이하인 파일에 대해서만 사용할 수 있습니다. 파일 이름이 이 제한을 초과하면 오류가 발생합니다. 모든 파일이 분석되도록 하려면 Snyk은 긴 파일 이름을 줄이는 것을 권장합니다.

프레임워크 지원

특정 프레임워크를 지원하려면 Snyk Code는 관련 언어를 지원하고 해당 프레임워크를 사용하는 프로젝트에 대해 교육되어야 합니다. 발견된 패턴은 보안 팀에 의해 주석 처리되고 큐레이팅된 콘텐츠에 의해 확장됩니다.

대부분의 프레임워크는 Snyk Code가 코드를 분석하기 위해 파싱하기만 하면 되므로 기본적으로 부분적으로 지원됩니다. 일부 경우 프레임워크는 특정 규칙을 필요로 하거나 특정 프로그램 분석 엔진 업데이트를 필요로 하거나 둘 다를 필요로 할 수 있습니다.

특정 프레임워크에 대한 지원에 간격이 있는 경우 Snyk Support에 문의하십시오arrow-up-right.

Snyk은 프레임워크 지원을 포괄적(Comprehensive) 및 부분적(Partial) 두 가지 수준으로 분류합니다.

포괄적 지원에는 다음이 포함됩니다.

  • 소스 및 싱크: 모든 관련 소스 및 싱크가 식별됩니다.

  • 데이터 흐름 테스트: 광범위한 테스트를 통해 철저한 데이터 흐름 범위를 제공합니다.

  • 엔진 지원: Snyk Code 엔진이 이 프레임워크에 대해 완전히 최적화되어 있습니다.

  • 제한 사항: 알려진 제한 사항이 없습니다. 오탐(false negatives)이 있으면 Snyk Supportarrow-up-right에 보고하십시오.

부분적 지원에는 다음이 포함됩니다.

  • 소스 및 싱크: 범위가 제한될 수 있으며 일부 요소가 누락될 수 있습니다.

  • 데이터 흐름 테스트: 제한된 테스트만 수행되었습니다.

  • 엔진 지원: 호환성이 제한되어 분석 정확도에 영향을 미칠 수 있습니다.

  • 제한 사항: 오염 분석 또는 소스/싱크 식별에서 오탐(false negatives) 가능성.

Snyk은 프레임워크 적용 범위를 지속적으로 확장하고 분석 정확도를 향상시킵니다.

Snyk Code 분석 작동 방식

Snyk은 다음 순서에 따라 코드베이스를 스캔합니다.

  1. 소스 코드가 분석되어 이벤트 그래프가 생성됩니다. 이벤트 그래프는 Snyk이 코드의 다른 부분이 어떻게 관련되어 있는지 이해하는 데 도움이 되는 코드 맵과 유사합니다. 두 가지 노드 유형이 있으며, 그래프의 각 노드는 코드에서 발생하는 무언가를 나타냅니다. 일부는 코드의 일부를 나타내고 다른 일부는 코드가 사용되는 방식을 나타냅니다.

  2. 규칙은 일치하는 항목을 찾기 위해 이벤트 그래프에 대해 실행됩니다. 규칙은 Snyk이 이벤트 그래프에서 찾는 알려진 취약점의 체크리스트 역할을 합니다.

  3. 일치하는 항목이 발견되면 Snyk은 이벤트 그래프에서 취약점을 찾고 코드에서 문제가 숨어 있을 수 있는 위치를 식별합니다.

자세한 내용은 Snyk Code AI Engine을 참조하십시오. Snyk Code 언어 지원에 대한 자세한 내용은 지원 언어, 패키지 관리자 및 프레임워크를 참조하십시오.

언어 지원 및 CLI, CI/CD, SCM 통합

Snyk은 다양한 프로그래밍 언어를 지원하여 CLI 명령, CI/CD 파이프라인 및 SCM 통합을 통해 개발 워크플로우에 원활하게 통합할 수 있습니다.

이러한 도구를 사용하여 소프트웨어를 개발할 때 코드의 보안 문제를 자동으로 확인할 수 있습니다. 이를 통해 강력한 보안 관행이 개발 프로세스의 일부가 됩니다.

자세한 내용은 다음 페이지를 참조하십시오.

Last updated