go sarif
v2.3.3
SARIF는 정적 분석 결과 인터체인지 형식 이며이 프로젝트는 SARIF 형식으로 보고서를 생성하기위한 간단한 인터페이스를 제공하고자합니다.
이 예는 Microsoft Sarif 페이지에서 직접 가져옵니다.
{
"version" : " 2.1.0 " ,
"$schema" : " https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/schemas/sarif-schema-2.1.0.json " ,
"runs" : [
{
"tool" : {
"driver" : {
"name" : " ESLint " ,
"informationUri" : " https://eslint.org " ,
"rules" : [
{
"id" : " no-unused-vars " ,
"shortDescription" : {
"text" : " disallow unused variables "
},
"helpUri" : " https://eslint.org/docs/rules/no-unused-vars " ,
"properties" : {
"category" : " Variables "
}
}
]
}
},
"artifacts" : [
{
"location" : {
"uri" : " file:///C:/dev/sarif/sarif-tutorials/samples/Introduction/simple-example.js "
}
}
],
"results" : [
{
"level" : " error " ,
"message" : {
"text" : " 'x' is assigned a value but never used. "
},
"locations" : [
{
"physicalLocation" : {
"artifactLocation" : {
"uri" : " file:///C:/dev/sarif/sarif-tutorials/samples/Introduction/simple-example.js " ,
"index" : 0
},
"region" : {
"startLine" : 1 ,
"startColumn" : 5
}
}
}
],
"ruleId" : " no-unused-vars " ,
"ruleIndex" : 0
}
]
}
]
}내가 기여하고 싶은 프로젝트 중 하나는 TFSEC입니다. 이것은 여러 형식의 출력을 생성하는 Terraform의 정적 분석 도구입니다. SARIF 보고서를 생성하는 데 기능이 누락되었으며 자체 프로젝트로 옮겨 가고 있다고 느꼈습니다.
Sarif에 대한 자세한 내용은 Oasis Open 사이트를 방문하십시오.
go get github.com/owenrumney/go-sarif/sarif 에 추가하십시오
SARIF 보고서의 내용에로드하는 방법에는 여러 가지가 있습니다.
sarif.Open 파일 경로를 가져 와서 해당 위치에서 Sarif를로드합니다. 보고서와 해당 오류를 반환합니다
sarif.FromBytes 바이트 한 조각을 가져 와서 보고서와 해당 오류를 반환합니다.
sarif.FromString SARIF 내용을 사용하여 보고서와 해당 오류를 반환합니다.
새 Sarif 보고서 작성 버전을 통과하여 수행되며, 현재로서의 유일한 것은 2.1.0 입니다.
자세한 예제는 예제 폴더 예제/main.go를 확인하십시오