자동화된 흐름을 통해 소스 코드의 보안 문제와 품질 결함을 수정합니다. Snyk Agent Fix는 문제에 가장 적합한 솔루션을 계산하고 자동으로 적용합니다.
왜 Snyk Agent Fix를 사용해야 합니까?
Snyk Agent Fix는 철저한 프로그램 분석 엔진의 성능과 자체 딥러닝 기반 대규모 언어 모델(LLM)의 기능을 결합합니다. 이러한 결합을 통해 오픈소스 코드에서 대량의 비정형 언어 정보를 컴파일할 수 있습니다.
주요 기능은 Snyk Agent Fix를 차별화합니다. 수백만 줄의 코드로 훈련된 신경망을 보유하고 있어 더 큰 다재다능함과 창의성을 제공합니다. Snyk Code 엔진은 신경망의 제안을 엄격하게 확인하여 모든 자동화된 수정이 작고 각 취약점 또는 코드 문제에 맞춰지도록 보장합니다.
어떤 문제를 자동으로 수정할 수 있습니까?
품질, 모범 코드 관행 장려 및 보안 취약점 측면에서 Snyk Code 엔진이 감지한 다양한 문제를 해결할 수 있습니다. Snyk Agent Fix는 현재 파일 간 수정을 지원하지 않습니다.
Snyk Agent Fix 언어 지원
지원됨 (Supported)
제한적 지원 (Limited support)
지원됨과 제한적 지원의 차이점은 무엇입니까?
지원됨: Snyk Agent Fix는 Snyk Code 규칙의 대다수에 대해 일관되게 수정을 생성합니다.
제한적 지원: Snyk Agent Fix는 수정을 일관되게 생성하지 못할 수 있으며 더 적은 수의 Snyk Code 규칙을 다룹니다.
Snyk Agent Fix는 어떤 데이터를 수집합니까?
Snyk은 허용적 라이선스(permissively-licensed) 공개 리포지토리를 사용하여 LLM(Large Language Model)을 훈련합니다. Snyk은 LLM을 훈련하기 위해 고객이 입력한 코드를 사용하지 않습니다.
데이터 수집 프로세스는 철저하며 다음을 포함합니다.
훈련 데이터는 LLM의 성능을 최적화하기 위해 정기적으로 품질이 확인됩니다.
Snyk은 훈련 목적으로 Snyk Agent Fix에 제출된 고객 코드를 사용하지 않습니다.
Snyk이 데이터를 관리하는 방법에 대한 자세한 내용은 Snyk이 데이터를 처리하는 방법을 참조하십시오.
Snyk Agent Fix 작동 방식
하나의 문제를 수정하는 것과 관련된 정보 흐름의 표현은 다음 표에 나와 있습니다.
Static Code Analysis Engine
IDE에서 코드를 스캔하는 일반적인 흐름에 해당합니다.
특정 문제 I의 데이터 흐름과 관련된 코드 전처리 및 최소화
Static Code Analysis Engine
I의 데이터 흐름이 분석되고 관련 컨텍스트만 유지하면서 코드가 최소화됩니다.
주어진 문제 I에 대해 k개의 후보 수정 생성
Neural Network (Generative LLM)
Static Code Analysis Engine
k개의 각 수정은 Code 엔진에 의해 평가되어 유효하지 않은 코드를 렌더링하거나 문제를 수정하지 못하는(문제가 지속되는) 수정은 필터링됩니다.
Snyk Agent Fix 요구 사항
Snyk Agent Fix 활성화
Snyk Web UI에서 Group/Organization > Settings > Snyk Agent Fix로 이동하여 그룹 또는 조직에 대해 Snyk Agent Fix를 활성화하십시오.
패널을 통해 또는 Code Lens에서 Fix this issue를 클릭하여 문제를 찾아 수정합니다.
수정 사항이 적용된 후 저장하고 다시 스캔합니다.
예시: 코드 문제 자동 수정
Snyk Agent Fix는 자동으로 수정할 수 있는 확인된 모든 취약점을 강조 표시합니다. 이는 번개(zap) 아이콘으로 강조 표시됩니다. 예를 들어, 이 시나리오에서는 정보 노출(Information Exposure) 취약점을 식별했습니다.
취약점을 열면 문제의 위치에 대한 세부 정보를 제공하고 Snyk Agent Fix를 사용하여 수정을 생성할 수 있습니다.
Snyk DeepCode AI를 사용하여 수정 생성(Generate Fix using Snyk DeepCode AI)을 선택하면 시스템이 코드를 분석하고 최대 5개의 잠재적 수정을 생성합니다. 수정을 적용한 후 Snyk Agent Fix는 Snyk Code 엔진을 사용하여 자동으로 수정 품질을 다시 테스트합니다.
이 경우 결과는 5개의 수정 사항이며, 탐색하여 가장 적합한 것을 결정할 수 있습니다. 첫 번째 수정은 기본적으로 X-Powered-By 헤더를 비활성화하는 Helmet 미들웨어 패키지를 추가하여 공격자가 앱이 Express를 실행 중임을 알 수 없도록 하는 것입니다.
수정을 적용하면 새 코드가 도입된 위치로 안내됩니다. 저장하고 다시 스캔하면 취약점이 사라집니다.
Snyk Agent Fix는 AI의 최전선에 있지만 AI 엔진에 기반한 제한 사항이 여전히 존재합니다. 사용자는 항상 Snyk Agent Fix 제안을 검토하여 결과적인 수정 구현이 애플리케이션을 손상시키지 않는지 확인해야 합니다.
Snyk Agent Fix 제안은 애플리케이션이 제대로 작동하지 않는 결과를 초래하는 코드를 생성할 수 있습니다.
Snyk Agent Fix 제안은 구문상 올바르지 않은 코드를 생성할 수 있습니다.
Snyk Agent Fix는 취약점이 수정되었는지, 새로운 취약점이 도입되지 않았는지 확인합니다. 즉, AI 엔진이 충분히 좋은 결과를 생성하지 못했기 때문에 유효한 제안이 이루어지지 않을 때도 있습니다.