지원되는 SARIF 속성 - Amazon CodeCatalyst

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

지원되는 SARIF 속성

정적 분석 결과 교환 형식(SARIF)은 Amazon CodeCatalyst의 소프트웨어 구성 분석(SCA) 및 정적 분석 보고서에서 사용할 수 있는 출력 파일 형식입니다. 다음 예시는 정적 분석 보고서에서 SARIF를 수동으로 구성하는 방법을 보여줍니다.

Reports: MySAReport: Format: SARIFSA IncludePaths: - output/sa_report.json SuccessCriteria: StaticAnalysisFinding: Number: 25 Severity: HIGH

CodeCatalyst는 다음과 같은 SARIF 속성을 지원하며, 이를 사용하여 분석 결과가 보고서에 표시되는 방식을 최적화할 수 있습니다.

sarifLog 객체

명칭 필수 설명

$schema

버전 2.1.0에 대한 SARIF JSON 스키마의 URI입니다.

version

CodeCatalyst는 SARIF 버전 2.1.0만 지원합니다.

runs[]

SARIF 파일에는 하나 이상의 실행 배열이 포함되며, 각 실행은 분석 도구의 단일 실행을 나타냅니다.

run 객체

명칭 필수 설명

tool.driver

분석 도구를 설명하는 toolComponent 객체입니다.

tool.name

아니요

분석을 수행하는 데 사용되는 도구의 이름을 나타내는 속성입니다.

results[]

CodeCatalyst에 표시되는 분석 도구의 결과입니다.

toolComponent 객체

명칭 필수 설명

name

분석 도구의 이름입니다.

properties.artifactScanned

아니요

도구에서 분석한 총 아티팩트 수입니다.

rules[]

규칙을 나타내는 reportingDescriptor 객체의 배열입니다. 이러한 규칙을 기반으로 분석 도구는 분석되는 코드에서 문제를 찾습니다.

reportingDescriptor 객체

명칭 필수 설명

id

조사 결과를 참조하는 데 사용되는 규칙의 고유 식별자입니다.

최대 길이: 1,024자

name

아니요

규칙의 디스플레이 이름입니다.

최대 길이: 1,024자

shortDescription.text

아니요

규칙에 대한 짧은 설명입니다.

최대 길이: 3,000자

fullDescription.text

아니요

규칙에 대한 전체 설명입니다.

최대 길이: 3,000자

helpUri

아니요

규칙에 대한 기본 설명서의 절대 URI를 포함하도록 현지화할 수 있는 문자열입니다.

최대 길이: 3,000자

properties.unscore

아니요

스캔 조사 결과의 점수가 매겨졌는지 여부를 나타내는 플래그입니다.

properties.score.severity

아니요

조사 결과의 심각도 수준을 지정하는 고정된 문자열 세트입니다.

최대 길이: 1,024자

properties.cvssv3_baseSeverity

아니요

일반 취약성 점수 체계 v3.1의 정성적 심각도 등급입니다.

properties.cvssv3_baseScore

아니요

CVSS v3 기본 점수 범위는 0.0~10.0입니다.

properties.cvssv2_severity

아니요

CVSS v3 값을 사용할 수 없는 경우 CodeCatalyst는 CVSS v2 값을 검색합니다.

properties.cvssv2_score

아니요

CVSS v2 기본 점수 범위는 0.0~10.0입니다.

properties.severity

아니요

조사 결과의 심각도 수준을 지정하는 고정된 문자열 세트입니다.

최대 길이: 1,024자

defaultConfiguration.level

아니요

규칙의 기본 심각도입니다.

result 객체

명칭 필수 설명

ruleId

조사 결과를 참조하는 데 사용되는 규칙의 고유 식별자입니다.

최대 길이: 1,024자

ruleIndex

도구 구성 요소 rules[]에서 연결된 규칙의 인덱스입니다.

message.text

결과를 설명하고 각 조사 결과에 대한 메시지를 표시하는 메시지입니다.

최대 길이: 3,000자

rank

아니요

결과의 우선 순위 또는 중요도를 나타내는 0.0~100.0 사이의 값입니다. 이 규모의 값은 0.0이 가장 낮은 우선 순위이고 100.0이 가장 높은 우선 순위입니다.

level

아니요

결과의 심각도입니다.

최대 길이: 1,024자

properties.unscore

아니요

스캔 조사 결과의 점수가 매겨졌는지 여부를 나타내는 플래그입니다.

properties.score.severity

아니요

조사 결과의 심각도 수준을 지정하는 고정된 문자열 세트입니다.

최대 길이: 1,024자

properties.cvssv3_baseSeverity

아니요

일반 취약성 점수 체계 v3.1의 정성적 심각도 등급입니다.

properties.cvssv3_baseScore

아니요

CVSS v3 기본 점수 범위는 0.0~10.0입니다.

properties.cvssv2_severity

아니요

CVSS v3 값을 사용할 수 없는 경우 CodeCatalyst는 CVSS v2 값을 검색합니다.

properties.cvssv2_score

아니요

CVSS v2 기본 점수 범위는 0.0~10.0입니다.

properties.severity

아니요

조사 결과의 심각도 수준을 지정하는 고정된 문자열 세트입니다.

최대 길이: 1,024자

locations[]

결과가 감지된 위치 집합입니다. 지정된 모든 위치에서 변경해야만 문제를 해결할 수 있는 경우가 아니라면 한 위치만 포함해야 합니다. CodeCatalyst는 위치 배열의 첫 번째 값을 사용하여 결과에 주석을 지정합니다.

최대 location 객체 개수: 10

relatedLocations[]

아니요

조사 결과에서 참조하는 추가 위치 목록입니다.

최대 location 객체 개수: 50

fixes[]

아니요

스캔 도구에서 제공하는 권장 사항을 나타내는 fix 객체 배열입니다. CodeCatalyst는 fixes 배열에서 첫 번째 권장 사항을 사용합니다.

location 객체

명칭 필수 설명

physicalLocation

아티팩트와 리전을 식별합니다.

logicalLocations[]

아니요

아티팩트를 참조하지 않고 이름으로 설명하는 위치 집합입니다.

physicalLocation 객체

명칭 필수 설명

artifactLocation.uri

아티팩트의 위치를 나타내는 URI로, 일반적으로 리포지토리에 있거나 빌드 중에 생성된 파일입니다.

fileLocation.uri

아니요

파일 위치를 나타내는 대체 URI입니다. artifactLocation.uri가 빈 상태를 반환하는 경우 사용됩니다.

region.startLine

리전의 첫 번째 문자의 행 번호입니다.

region.startColumn

리전의 첫 번째 문자의 열 번호입니다.

region.endLine

리전의 마지막 문자의 행 번호입니다.

region.endColumn

리전의 마지막 문자의 열 번호입니다.

logicalLocation 객체

명칭 필수 설명

fullyQualifiedName

아니요

결과의 위치를 설명하는 추가 정보입니다.

최대 길이: 1,024자

fix 객체

명칭 필수 설명

description.text

아니요

각 조사 결과에 대한 권장 사항을 표시하는 메시지입니다.

최대 길이: 3,000자

artifactChanges.[0].artifactLocation.uri

아니요

업데이트해야 하는 아티팩트의 위치를 나타내는 URI입니다.