Snyk Code
개요
Snyk Code는 개발자 우선의 정적 애플리케이션 보안 테스트(SAST) 솔루션입니다. 실시간으로 코드를 스캔하고 IDE, 리포지토리 및 CI/CD 파이프라인 전반의 개발자 워크플로우 내에서 직접 실행 가능한 통찰력을 제공함으로써, 취약점을 조기에 식별하고 해결할 수 있습니다. AI 기반 엔진은 개발자에게 더 적은 오탐(false positives)을 제공하여 코드 품질과 보안을 향상시킵니다. 다음 옵션을 사용하여 코드를 스캔할 수 있습니다.
Snyk Web UI (PR 확인 포함)
다음 표는 분석, 코드 내 보안 문제 관리, 개발 환경 내에서의 수정 촉진을 포함한 Snyk Code 기능을 보여줍니다.
문제 필터링, 정렬 및 그룹화
가장 일반적인 문제를 식별하기 위해 심각도, 프로그래밍 언어, 우선순위 점수 및 기타 기준에 따라 문제를 필터링할 수 있습니다.
기존 프로젝트 필터링을 참조하십시오.
우선순위 점수(Priority Score)
문제 확산도, 수정 용이성 및 위험 요소를 단일 위험 점수로 통합하여 더 중요한 문제를 정렬하고 우선순위를 지정합니다.
우선순위 점수를 참조하십시오.
데이터 흐름(Data flow)
단계별 흐름으로 소스에서 싱크까지 문제의 경로를 시각화합니다.
데이터 흐름을 참조하십시오.
취약점(Vulnerability)
취약점이 어떻게 생성되었는지, 위험 요소는 무엇인지, 그리고 이에 대한 일반적인 완화 전략을 설명하는 선별된 콘텐츠를 통해 취약점에 대해 자세히 알아봅니다.
코드 취약점 관리를 참조하십시오.
수정 분석(Fix analysis)
유사한 데이터 흐름에서 동일한 문제를 해결하는 실제 코드에 대한 링크가 있는 예제를 검토하여 통찰력과 컨텍스트를 얻습니다.
코드 분석 세부 정보를 참조하십시오.
Jira 문제 생성
Snyk 문제를 추적하고 Jira 프로젝트로 내보냅니다.
Jira 문제 생성을 참조하십시오.
문제 무시(Ignore issues)
특정 경고를 억제하기 위해 문제에 대한 제안된 수정을 무시하도록 Snyk을 구성합니다. 예를 들어, 테스트 코드에서 루틴을 테스트하기 위해 하드 코딩된 암호를 의도적으로 사용했거나, 문제를 알고 있지만 수정하지 않기로 결정했을 수 있습니다.
문제 무시를 참조하십시오.
배포
전체 SaaS 솔루션
기본 Git 리포지토리 통합, 쉬운 온보딩 및 지속적인 업데이트로 Snyk Code를 최대한 활용하십시오. Snyk Code 구성을 참조하십시오.
자체 호스팅 Git 서버가 있는 SaaS (Snyk Broker 필요)
인터넷에서 SCM에 공개적으로 액세스할 수 없고 Snyk Code를 로컬 자체 호스팅 SCM과 연결하려는 고객을 위한 것입니다.
로컬 업로드 없는 구현 (Snyk Code Local Engine 필요)
더 엄격한 업로드 정책이 있는 고객을 위한 것입니다.
이 배포 방법은 SaaS 옵션보다 더 많은 유지 관리가 필요하고 업데이트가 느리지만, 코드 업로드가 필요하지 않습니다. Snyk Code Local Engine을 참조하십시오.
AI 엔진
Snyk Code는 의미론적 AI 기반 분석 엔진으로 구동되며 코드에서 다음을 분석할 수 있습니다.
API 사용: 변수 및 참조의 메모리 사용을 모델링하여 API 오용, null 역참조 및 유형 불일치를 포함한 여러 잠재적 문제를 식별합니다. 이 메커니즘은 안전하지 않은 함수의 사용도 식별할 수 있습니다.
코딩 문제: 데드 코드(dead code), 미리 정의된 분기 및 양쪽에 동일한 코드가 있는 분기와 같은 문제를 찾습니다.
제어 흐름: 애플리케이션의 가능한 각 제어 흐름을 모델링하여 null 역참조 또는 경쟁 조건을 식별합니다.
데이터 흐름: 소스에서 싱크까지 애플리케이션 내 데이터 흐름을 따라갑니다. 외부의 안전하지 않은 데이터 소스, 데이터 싱크 및 삭제(sanitation) 기능에 대한 AI 기반 학습과 결합하여 강력한 오염 분석(taint analysis)을 가능하게 합니다.
하드 코딩된 비밀: 하드 코딩된 비밀 감지 규칙은 SAST 스캔 중에 호출되지만 독립형 비밀 스캔 도구로 작동하지는 않습니다. 이는 타사 도구와의 파트너십을 통해 수행됩니다. GitGuardian 및 Nightfall AI에 대한 Snyk Learn 레슨을 참조하십시오.

포인터 분석(Point-to analysis): 변수 및 참조의 메모리 사용을 모델링하여 버퍼 오버런, null 역참조 및 유형 불일치를 포함한 여러 잠재적 문제를 식별합니다.
유형 추론: 초기 유형과 그 변경 사항을 결정합니다. 이는 동적 유형 언어에 특히 중요합니다.
값 범위: 배열의 off-by-one 오류, 0으로 나누기 오류 및 null 역참조를 추적하기 위해 함수를 호출하는 데 사용되는 변수의 가능한 값을 추론합니다.
지원되는 통합
Git 리포지토리: 리포지토리 모니터링 통합을 통해 기존 기본 가져오기 흐름 및 도구를 사용하여 코드 프로젝트를 적극적으로 관리할 수 있습니다. 소스 코드에서 발견된 보안 문제를 보고 우선순위를 지정할 수 있습니다. 또한 프로젝트의 재테스트를 시작하고 과거 스냅샷을 검토하여 시간 경과에 따른 변경 사항을 추적할 수 있습니다.
Snyk Code 분석은 대상 브랜치에 병합하기 전에 Git 리포지토리에서 생성하는 모든 풀 리퀘스트에 적용될 수 있습니다. PR 확인을 참조하십시오.
CLI 및 CI/CD: CLI 사용을 통해 로컬 머신 또는 CI/CD에서 코드의 보안 결함을 찾아 수정할 수 있습니다.
API 및 확장성: Snyk REST API를 사용하여 코드 프로젝트 및 문제를 쿼리합니다.
알림: Jira와 통합하여 데이터를 Jira 문제로 내보냅니다.
지원되는 언어
Snyk Code는 많은 언어 및 프레임워크를 지원합니다.
다음 단계는?
Last updated