Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/completetech-security/scan-results-bridge
Defensive ToolsStatic AnalysisVulnerability AnalysisCode AnalysisDevSecOpsPrivacyUtilities & Frameworks
GitHubcompletetech-security/scan-results-bridge

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

scan-results-bridge

스키마 검증과 증거 출처 보존 기능을 갖춘 SARIF 2.1.0 및 NDJSON용 오프라인 보안 보고서 변환기입니다. 스캔이나 업로드는 없습니다.

저장소 보기웹사이트
15일 전아직 검토되지 않음

CompleteTech LLC의 scan-results-bridge

Tests Python 3.10+ 런타임 의존성 없음 AGPL-3.0 또는 상용 라이선스

scan-results-bridge

CompleteTech 보안 검사기 JSON 보고서를 SARIF 2.1.0 또는 NDJSON으로 오프라인 변환하며, 기본적으로 프라이버시를 보존하는 프로젝션을 적용합니다.

목차

  • 개요
  • 요구 사항
  • 빠른 시작
  • 오프라인 워크플로
  • 사용법
  • 입력 계약
  • 출력 형식
  • 프라이버시와 증거
  • 제한 사항
  • 결과 해석
  • 개발
  • 기여 및 보안
  • 라이선스 및 브랜드 자산

개요

scan_results_bridge.py는 기존 로컬 JSON 보고서를 읽어 SARIF 2.1.0 또는 NDJSON을 작성합니다. 이 도구는 선택 사항이며, 개별 검사기는 이 도구에 의존하지 않습니다.

  • 오프라인. 대상 스캔, 코드 실행, 패키지 로드, 자격 증명 읽기, 데이터 업로드를 수행하지 않습니다. HEC/syslog 전송이나 자격 증명 구성은 구현되어 있지 않습니다.
  • 메타데이터 전용. 제공된 로컬 증거만 변환합니다. 모든 관찰 결과는 exploitability: not_tested를 유지하며, 출력되는 어떤 것도 익스플로잇을 확인하지 않으며, 보고된 수정 버전은 검증된 배포 패치나 안전성 주장이 아닙니다.
  • 기본적으로 비공개. 상대 소스 경로 게시를 선택하지 않는 한 자산 레이블, URL, 경로, 증거 설명 및 유사한 값은 SHA-256 식별자로 대체됩니다. 프라이버시와 증거를 참조하세요.
  • 폐쇄적 실패. 지원되지 않는 도구나 버전, 그리고 형식이 잘못되었거나 모순되는 입력은 부분 변환을 생성하는 대신 종료 코드 2로 종료됩니다.

요구 사항

  • Python 3.10 이상 (CI는 Linux, Windows, macOS에서 3.10 및 3.14를 실행합니다).
  • 설치할 항목 없음: 표준 라이브러리만 사용하는 단일 독립 파일입니다.
  • jsonschema는 출력된 SARIF의 선택적 개발 검사에만 필요합니다.

빠른 시작

번들로 제공되는 예제는 합성 데이터입니다.

# Convert a report to SARIF (the output file must not already exist)
python scan_results_bridge.py --input examples/report.json --format sarif --output report.sarif

# NDJSON to stdout, publishing reported relative source paths
python scan_results_bridge.py --input examples/report.json --format ndjson --include-relative-paths

# A legacy node2shell-check report (placeholder file name), failing CI on findings or unknowns
python scan_results_bridge.py --input node-report.json --input-schema node2shell-v1 --fail-on either

# Run the tests and show all options
python -m unittest -v
python scan_results_bridge.py --help

관련 없는 보고서는 커밋에 포함하지 마세요.

오프라인 워크플로

Scan Results Bridge 오프라인 워크플로

이 도구는 제공된 로컬 증거만 사용합니다. 대상에 접속하거나 평가 중인 소프트웨어를 실행하지 않습니다.

사용법

python scan_results_bridge.py --input REPORT [--input REPORT ...]
    [--input-schema PROFILE] [--format {sarif,ndjson}] [--include-relative-paths]
    [--fail-on {none,findings,unknown,either}] [--output FILE [--force]]

옵션

옵션의미
--input FILE필수. 기존 보고서 JSON 파일이며, 최대 20개의 입력에 대해 반복할 수 있습니다.
--input-schema PROFILE입력 계약이며, 기본값은 contract-v1.0입니다. 하나의 프로필이 호출 내 모든 입력에 적용됩니다.
--format {sarif,ndjson}출력 형식이며, 기본값은 sarif입니다.
--include-relative-paths유효하게 보고된 소스 경로의 게시를 선택합니다. 인벤토리에서 파생된 위치는 절대 게시되지 않습니다. 개인정보 보호 및 증거를 참조하세요.
--fail-on {none,findings,unknown,either}성공적인 출력 후 정책 종료 코드 1이며, 기본값은 none입니다. 종료 코드를 참조하세요.
--output FILEstdout 대신 새 파일에 씁니다.
--force기존 --output 파일을 원자적으로 교체합니다. 입력이나 검사기 자체는 절대 교체하지 않습니다.

출력 및 중단

  • 출력은 기본적으로 stdout으로 전송됩니다. 기존 --output 파일은 --force가 주어지지 않는 한 거부됩니다.
  • 검사기와 모든 입력은 심볼릭 링크 또는 하드 링크 별칭을 통한 경우에도 --force가 있더라도 덮어쓰기로부터 보호됩니다.
  • 전체 보고서는 게시되기 전에 렌더링되며, 파일 출력은 원자적으로 게시됩니다.
  • 잘못된 형식, 지원되지 않거나 한도를 초과한 입력은 출력 전에 거부됩니다.
  • 중단 시 130으로 종료되며 출력은 재시도되지 않습니다. 중단된 stdout 또는 파일 커밋 경계에서의 중단은 불완전하거나 불확정한 게시를 남길 수 있으므로 확인하거나 폐기하세요.

종료 코드

코드의미
0변환이 성공했고, 모든 입력이 complete: true를 보고했으며, 선택된 --fail-on 정책이 충족되었습니다.
1변환이 성공하고 작성되었지만 --fail-on이 일치했습니다.
2운영 실패: 잘못된 형식, 지원되지 않거나 한도를 초과한 입력, 보호되었거나 쓸 수 없는 출력, 또는 complete: false를 보고하는 입력. 불완전한 입력은 종료 전에 여전히 변환되고 작성되며, 출력에서 불완전으로 표시됩니다.
130중단됨.

--fail-on 정책:

정책출력에 다음이 포함될 때 종료 1
none (기본값)절대 아님.
findingspotentially_affected, precondition_present 또는 likely_exposed.
unknownunknown, unsupported_runtime 또는 source_discrepancy.
either위 중 하나라도 해당.

정책 종료는 결과를 절대 억제하지 않습니다. 종료 코드 2는 1보다 우선합니다. 운영 실패는 평가 결과와 구별됩니다.

입력 계약

--input-schema로 프로필을 명시적으로 선택하며, 하나의 프로필이 호출 내 모든 입력에 적용됩니다. 지원되지 않는 도구 또는 버전과 잘못된 형식이거나 모순되는 정규 증거는 종료 2로 실패 폐쇄됩니다. 정규 검증기는 Sharp의 공통 계약에서 동일한 코드 라이선스로 번들로 제공되며, 설치된 공유 패키지는 필요하지 않습니다.

프로필입력
contract-v1.0 (기본값)tool/rules/results를 포함한 완전한 스키마 1.0 객체이며, 의미론적 증거 참조 검증을 포함합니다
node2shell-v1레거시 버전 없는 node2shell-check tool_version 1.0.0 JSON이며, 명명된 어댑터일 뿐 보편적 스키마가 아닙니다
copyescape-v1.1copyescape-check schema_version 1.1
vm2-v1.1vm2-nesting-check report_schema_version 1.1
simplegit-v1.1simplegit-rce-check report_schema_version 1.1
atlassian-v1atlassian-cve-2026-21589-check 정수 schema_version 1
flowise-v1flowise-cve-2026-69254-check 정수 schema_version 1이며, version_status는 정규화된 상태로 매핑됩니다

모든 프로필에 공통:

  • 게시된 도구 버전은 정규 보고서와 빈 실행을 포함하여 공개 숫자 major.minor.patch 형식을 사용해야 합니다. 자유 형식 버전 레이블은 비공개 메타데이터를 포함할 수 있으므로 출력 전에 거부됩니다.
  • 모든 결과는 exploitability: not_tested를 포함해야 합니다. 위협 메타데이터는 이와 별도로 유지되며, 어떤 입력 상태도 확인된 악용으로 간주되지 않습니다.
  • 신뢰도는 어휘가 일치할 때 유지되며, 그렇지 않으면 unknown입니다.
  • 원본 증거는 로컬 조정을 위해 결정적 다이제스트를 받습니다.
  • 정규 버전 평가는 명시적으로 유지됩니다.
  • 레거시 어댑터는 소비된 envelope, 상태, 악용 가능성 및 버전 필드를 검증합니다. 사용되지 않는 모든 레거시 보고서 필드의 검증을 주장하지는 않습니다.

출력 형식

출력은 결정적입니다. 결과, 규칙 및 보고서 envelope는 안정적으로 정렬되며, 타임스탬프는 생성되지 않고, 모든 출력은 JSON 이스케이프됩니다. JSON 지수 오버플로를 포함한 비유한 수는 게시 전에 실패합니다.

SARIF

  • 도구 및 버전당 하나의 실행으로, 각각 자체 결합 완료 상태를 가집니다. 여기에는 결과 행이 없는 입력 보고서를 가진 도구도 포함됩니다. 불완전한 실행은 실패한 호출로 표시됩니다.
  • 분류 수준: potentially_affected, precondition_present 및 likely_exposed의 경우 warning; unknown, 지원되지 않음, 수정됨 또는 완화된 관찰의 경우 note. 이는 분류 수준이며 CVSS 점수나 악용 가능성 주장이 아닙니다.
  • 원본 상태, 신뢰도 및 완료 상태는 결과 속성에 유지됩니다.
  • 소스 위치는 적격 증거가 존재하고 경로가 선택된 경우에만 출력됩니다. 유효한 유니코드 경로는 URI에서 퍼센트 인코딩됩니다.
  • 각 결과는 checkerIdentity/v1 부분 지문을 가집니다.

NDJSON

관찰당 하나의 JSON 객체와 그 뒤에 명시적 summary 레코드가 오며, 이는 빈 변환이나 불완전한 변환에도 작성됩니다. 요약에는 complete, result_count, observation_count 및 보고서 envelope(reports)가 포함됩니다.

보고서 envelope

검증된 각 입력은 결과 행과 독립적으로 보고서 envelope에도 기여합니다. SARIF는 이를 각 일치하는 실행의 properties.input_reports 아래에 저장하고, NDJSON 요약은 이를 reports에 저장합니다.

envelope는 다음을 유지합니다:

  • 공개 도구, 버전 및 입력 프로필;
  • 명시적 완료 상태;
  • 전체 정규화된 입력의 다이제스트인 report_sha256;
  • 보고서 수준 메타데이터의 다이제스트인 evidence_sha256; 및
  • 프라이버시가 투영된 evidence 객체.

따라서 정규 규칙 스냅샷과 제한 사항은 빈 실행에서도 유지됩니다. 입력 파일 이름은 절대 게시되지 않습니다. 반복된 동일 입력은 반복된 상태로 유지되며, 서로 다른 입력은 다이제스트로 귀속 가능하게 유지됩니다. 이는 콘텐츠 정체성이며, 진위나 배포된 패치 증명이 아닙니다. 보고서 메타데이터는 관찰 증거와 동일한 구조적 프라이버시 투영을 사용합니다.

지문 및 중복 제거

도구 다운로드