Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CODE-DETECTION — LLMの脆弱性監査者が静的解析の証拠にどのように従うかを研究するレプリケーションパッケージ。tree-sitter製のC/C++フロントエンド、制御された証拠条件、統計分析コードを含む。 | Kitploit
ツール/GitHubGitHub/lzh0082-cloud/code-detection
静的分析脆弱性分析コード分析機械学習論文と研究学習と教育AIセキュリティ
GitHublzh0082-cloud/code-detection

CODE-DETECTION

LLMの脆弱性監査者が静的解析の証拠にどのように従うかを研究するレプリケーションパッケージ。tree-sitter製のC/C++フロントエンド、制御された証拠条件、統計分析コードを含む。

リポジトリを見る
111日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

ツールを信頼すること:LLM 脆弱性監査者の静的解析証拠に対する非対称な服従

ZhiHong Liu による同名論文の再現パッケージ。

LLM 脆弱性監査者には、PrimeVul の脆弱な C/C++ 関数およびパッチ適用済みの C/C++ 関数に関する静的解析証拠が与えられた。証拠は真実または捏造のいずれかであり、コードとモデルは固定されたままであった。偽の保証(存在しないチェックが存在すると主張される)は、実際の脆弱性の検出率を低下させた。偽の警報(追加されたチェックが欠落していると主張される)は精度を低下させることは決してなく、モデルはそれらに対してはるかに頻繁に異議を唱えた。7 つの新しいモデルでの登録済み再現実験により、この非対称性が確認された。各主張を別々の呼び出しで検証し、反駁された主張を表示する(verify-show)ことで、登録済みテストにおいて服従が減少した。

このリポジトリには、アナライザー、実験および分析コード、登録、アノテーション、およびサマリーレポートが含まれている。完全な実行記録(すべての証拠ノートとモデル応答)および LLM 応答キャッシュは別途アーカイブされている(完全な結果を参照)。

目次

パス内容
sgv/cfront.py手続き内 C/C++ フロントエンド(tree-sitter):機密操作、支配的ガード、証明義務
sgv/evidence.py統制研究:証拠条件 C0–C5、提示戦略、モデル構成、ランナー
sgv/vuln.py監査プロンプト、判定の解析、PrimeVul の読み込み(予備的脆弱性研究も含む)
sgv/contrasts.pyバージョンごとの精度とマッチングされた対比(C4 対 C2、C5 対 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。論文のデータセットは以下のとおりです。

セットソース分割選択
研究primevul_test_paired構造的CWE、150行以下、すべての適格ペア
ホールドアウトprimevul_test_paired--heldout --max-lines 300 (すべてのCWE、研究セットと重複しない)
開発primevul_valid_pairedすべての適格ペア
テスト (登録済み)primevul_train_paired--pairs 300 --seed 7

run_h3.ps1 は登録済みのH3複製 (7モデル、C2/C4/C5、plainプレゼンテーション) を実行します。

アノテーションに関する注記

行動コーディングは2つの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}
}
ツールをダウンロード