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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CODE-DETECTION — 정적 분석 증거에 LLM 취약점 감사자가 어떻게 의존하는지를 연구하는 재현 패키지로, tree-sitter C/C++ 프런트 엔드, 통제된 증거 조건, 통계 분석 코드를 포함합니다. | Kitploit
도구/GitHubGitHub/lzh0082-cloud/code-detection
Static AnalysisVulnerability AnalysisCode AnalysisMachine LearningPapers & ResearchLearning & EducationAI Security
GitHublzh0082-cloud/code-detection

CODE-DETECTION

정적 분석 증거에 LLM 취약점 감사자가 어떻게 의존하는지를 연구하는 재현 패키지로, tree-sitter C/C++ 프런트 엔드, 통제된 증거 조건, 통계 분석 코드를 포함합니다.

저장소 보기
111일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

도구를 신뢰하기: LLM 취약점 감사자의 정적 분석 증거에 대한 비대칭적 순응

ZhiHong Liu의 동명 논문을 위한 재현 패키지.

LLM 취약점 감사자에게 PrimeVul의 취약한 및 패치된 C/C++ 함수에 관한 정적 분석 증거가 제공되었다. 증거는 참이거나 조작되었으며, 코드와 모델은 고정되었다. 거짓 보증(누락된 검사가 존재한다고 주장)은 실제 취약점 탐지를 낮췄다. 거짓 경보(추가된 검사가 누락되었다고 주장)는 정확도를 낮추지 않았으며, 모델은 이에 훨씬 더 자주 이의를 제기했다. 일곱 개의 새로운 모델에 대한 사전 등록된 재현은 이 비대칭성을 확인했다. 별도의 호출에서 각 주장을 검증하고 반박된 주장을 보여주는 것(verify-show)은 사전 등록된 테스트에서 순응을 감소시켰다.

이 저장소에는 분석기, 실험 및 분석 코드, 사전 등록, 주석 및 요약 보고서가 포함되어 있다. 전체 실행 기록(모든 증거 노트와 모델 응답)과 LLM 응답 캐시는 별도로 보관되어 있다(전체 결과 참조).

목차

경로내용
sgv/cfront.py절차 내 C/C++ 프런트 엔드(tree-sitter): 민감한 연산, 지배적 가드, 증명 의무
sgv/evidence.py통제된 연구: 증거 조건 C0–C5, 제시 전략, 모델 구성, 러너
sgv/vuln.py감사 프롬프트, 판정 파싱 및 PrimeVul 로딩(예비 취약점 연구 포함)
sgv/contrasts.py버전별 정확도 및 매칭된 대조(C4 vs C2, C5 vs C2, …)
sgv/direction.py방향 인식 순응 측정(H3)
sgv/deference.py순응 및 어휘적 "이의" 단서
sgv/mitigation.py쌍별 McNemar 검정과 Holm 보정을 통한 제시 전략 비교
sgv/pooled.pyH2 및 데이터셋 기술 통계의 사후 통합 분석
sgv/annotate.py행동 코딩을 위한 주석 시트 및 일치도(Cohen's kappa)
sgv/figures.py, sgv/diagrams.py실행 기록에서 계산된 논문의 모든 그림
sgv/stats.pyWilson 구간, 정확 McNemar 검정, 쌍별 부트스트랩
sgv/llm.pySQLite 응답 캐시가 있는 OpenAI 호환 클라이언트
sgv/analysis.py, claims.py, verifier.py, methods.py, run.py, trace.py, labeling.py, …Python(CRUXEval, REval)에 대한 예비 연구: 주장 추출 및 구조 기반 검증
preregistration/H3의 사전 등록 및 실행 전에 고정된 분석 코드의 해시
annotation/주석 가이드, 두 LLM 주석자의 시트, 저자의 20개 항목 점검
results/*.md연구, 홀드아웃, 개발, 테스트 및 H3 세트의 요약 보고서
tests/단위 테스트 (python -m unittest discover -s tests -t .)

설정

Python 3.12 이상(3.14로 개발됨).

pip install -r requirements.txt

데이터

PrimeVul은 여기에서 재배포되지 않습니다. PrimeVul 저장소에서 쌍을 이룬 분할을 다운로드하여 다음과 같이 배치하십시오.

data/primevul/primevul_train_paired.jsonl
data/primevul/primevul_valid_paired.jsonl
data/primevul/primevul_test_paired.jsonl

쌍 선택은 파일, --pairs, --max-lines 및 --seed가 주어지면 결정적입니다. 예비 연구를 위한 데이터는 python -m sgv.data --dest data/cruxeval.jsonl 및 python -m sgv.reval --dest data/reval로 다운로드됩니다.

전체 결과

각 실행에 대한 evidence.jsonl(모든 조건 아래에 표시되는 노트)과 records.jsonl(모든 모델 응답 및 판정), 그리고 llm_cache.sqlite(모든 API 응답)가 포함된 전체 결과 디렉터리는 Zenodo에 아카이브되어 있습니다. 저장소 루트에서 압축을 풀면 results/가 생성됩니다. 캐시가 준비되면 아래의 모든 실행은 API 호출 없이 캐시에서 재생되며, 모든 분석은 논문의 수치를 재현합니다.

분석 재현하기 (API 접근 불필요)

python -m sgv.contrasts results/evidence_full_a                    # RQ1/RQ2 on the study set
python -m sgv.deference results/evidence_full_a                    # RQ3: deference and dispute cue
python -m sgv.mitigation results/evidence_full_a results/mitig_quote results/mitig_alarms \
       results/mitig_reframe results/mitig_provenance --model flash  # RQ4 on the study set
python -m sgv.direction results/h3_* --pooled                      # H3 (registered)
python -m sgv.pooled                                               # post-hoc pooled H2
python -m sgv.annotate score annotation/sheet_claude.csv annotation/sheet_deepseek.csv
python -m sgv.figures --out figures                                # data figures
python -m sgv.diagrams --out figures                               # schematic figures

실험 실행하기

모델은 OpenAI 호환 API(DeepSeek 및 Alibaba Cloud Bailian/DashScope)를 통해 호출됩니다. 모델 이름, 고정된 스냅샷 및 요청 설정은 sgv/evidence.py의 MODELS에 있습니다. API 키는 환경 변수(DeepSeek의 경우 SGV_API_KEY, DashScope의 경우 SGV_QWEN_KEY) 또는 /.sgv_deepseek_key//.sgv_qwen_key`에서 읽어옵니다. 이 키들은 저장소에 절대 기록되지 않습니다.

# Build and inspect the evidence of every condition without calling a model
python -m sgv.evidence --pairs 0 --dry-run --out results/evidence_dry

# One run: conditions, presentation strategy and models are arguments
python -m sgv.evidence --data data/primevul/primevul_test_paired.jsonl --pairs 0 \
       --models flash --conditions C2,C4,C5 --presentation plain --out results/my_run

주요 옵션: --conditions (C0–C5), --presentation (plain, quote, alarms, reframe, provenance, verify, verify-show, commit, commit-verify), --heldout (연구 세트와 분리된 쌍), --max-lines, --seed. 논문의 데이터 세트는 다음과 같다

세트소스 분할선택
Studyprimevul_test_paired구조적 CWE, ≤150줄, 모든 적격 쌍
Held-outprimevul_test_paired--heldout --max-lines 300 (모든 CWE, 연구 세트와 분리)
Developmentprimevul_valid_paired모든 적격 쌍
Test (등록됨)primevul_train_paired--pairs 300 --seed 7

run_h3.ps1은 등록된 H3 복제(일곱 개 모델, C2/C4/C5, plain 프레젠테이션)를 실행한다.

주석에 관한 참고 사항

행동 코딩은 두 개의 LLM(Claude 및 deepseek-v4-pro)이 주석을 달았다. 저자는 20개 항목을 직접 확인했다. 논문은 이를 보고한다.

라이선스

코드: MIT (LICENSE 참조). PrimeVul 및 예비 연구 데이터 세트는 자체 라이선스를 유지한다.

인용

@misc{liu2026trusting,
  title  = {Trusting the Tool: Asymmetric Deference of {LLM} Vulnerability Auditors to Static-Analysis Evidence},
  author = {Liu, ZhiHong},
  year   = {2026},
  note   = {Preprint}
}
도구 다운로드