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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
csumguard — CVE-2026-99999 向けの制限付き eBPF TC ingress ガード、CO-RE 検出器、検証済みローダー、および C11 VMM 起動スーパーバイザー | Kitploit
ツール/GitHubGitHub/mchorfa/csumguard
防御ツールパケットスニッフィングと分析コンテナセキュリティ脆弱性分析構成監査セキュリティ仮想化ネットワークセキュリティサプライチェーンセキュリティ侵入検知インシデントレスポンス
GitHubmchorfa/csumguard
31419日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

csumguard

CVE-2026-99999 向けの制限付き eBPF TC ingress ガード、CO-RE 検出器、検証済みローダー、および C11 VMM 起動スーパーバイザー

リポジトリを見る

csumguard

CI Status Language Sanitizers License

CVE-2026-99999 向けの暫定的なパケット受け入れガードおよび監視付きランチャーです。

ホストカーネルが skb_checksum_help に到達する前に、VM の TAP インターフェース上で危険なゲストトラフィックをドロップします。純粋な C11 と eBPF で記述されており、インタプリタ型スクリプトは一切使用していません。

セキュリティステータス: GAL 1 · CVE 封じ込めは未検証 · 昇格は停止中。 オフラインのポリシー、検出器、ランチャー、およびサニタイザの全スイートは合格しています。しかし、TC ingress フィルタはパケットペイロードのバイト列を検証するものであり、virtio のチェックサムメタデータ(csum_start)を検証するものではありません。fentry 検出器は疑わしいメタデータを観測できますが、実行をブロックすることはできません。

正式な修復方法: 上流コミット 6785011f8b16 を含むベンダーのパッチ適用済みホストカーネルをインストールし、再起動してください。csumguard はゲストトラフィックの堅牢化と実行時の監視を提供するものであり、CVE の検証済み無害化を提供するものではありません。VALIDATION.md を参照してください。


アーキテクチャ

flowchart LR
    subgraph Guest["Untrusted Guest VM"]
        VMM["VMM Process<br/>QEMU or Cloud-Hypervisor"]
    end

    subgraph Interface["Host TAP Device tap0"]
        TAP["tap0 clsact"]
        TC["csumguard_in<br/>eBPF TC Ingress"]
    end

    subgraph Host["Host Linux Kernel"]
        STACK["Host Network Stack"]
        SINK["skb_checksum_help<br/>Vulnerable Sink"]
    end

    subgraph Supervisor["csumguard_launch Supervisor"]
        MON["Identity Poller<br/>6D Vector State"]
        QUAR["Quarantine Engine<br/>SIGSTOP, DOWN, SIGKILL"]
        RING["Receipt Ledger<br/>64-slot Ring Buffer"]
    end

    VMM -->|TX Frames| TAP
    TAP --> TC
    TC -->|Admitted TCP, UDP, ARP| STACK
    TC -.->|Dropped: Frag, GSO, VLAN, Options| DROP["Dropped + Counter"]
    STACK -.-> SINK
    MON -->|Polls Status| TAP
    MON -->|Attachment Drift or Loss| QUAR
    QUAR -->|Pauses & Terminates| VMM
    QUAR -->|Flushes Receipts| RING

パケット受付フロー

flowchart TD
    PKT["Ingress Frame"] --> ETH{"EtherType"}

    ETH -->|ARP 0x0806| ARP{"Request or Reply"}
    ARP -->|Valid 42B or 60B pad| PASS["PASS: Admitted"]
    ARP -->|Invalid| D_ARP["DROP: Malformed ARP"]

    ETH -->|IPv4 0x0800| IP{"IPv4 Header Checks"}
    ETH -->|Other or VLAN| D_ETH["DROP: Non-IPv4 or VLAN"]

    IP -->|Options, Frag, or GSO| D_IP["DROP: Frag, Option, GSO, or Csum"]
    IP -->|Valid IHL 5, MF 0, Offset 0| L4{"Transport Protocol"}

    L4 -->|TCP proto 6| TCP{"TCP Checks"}
    L4 -->|UDP proto 17| UDP{"UDP Checks"}
    L4 -->|Other| D_PROTO["DROP: Unsupported Protocol"]

    TCP -->|Valid ports and length| PASS
    TCP -->|Port 0 or invalid length| D_TCP["DROP: Bad TCP"]
    UDP -->|Valid dst port and length| PASS
    UDP -->|Port 0 or invalid length| D_UDP["DROP: Bad UDP"]

スーパーバイザのライフサイクルと隔離

flowchart TD
    S0["1. Preflight<br/>Validate admission.json"] --> S1["2. Attachment<br/>Verify Hash & Attach clsact"]
    S1 --> S2["3. Privilege Drop<br/>Non-root UID/GID & no_new_privs"]
    S2 --> S3["4. Running<br/>Poll 4-Tuple ID Every 200ms"]

    S3 -->|Poll Matches ID| S3
    S3 -->|Filter Loss or ID Mismatch| Q0["5. Quarantine: SIGSTOP<br/>Pause VMM Process Group"]

    Q0 --> Q1["6. Quarantine: LINK DOWN<br/>Set TAP Interface Down"]
    Q1 --> Q2["7. Quarantine: SIGKILL<br/>Terminate Process Group"]
    Q2 --> Q3["8. Exit<br/>Flush Hash-Chained Receipts"]
    S3 -->|Normal VM Exit| Q3

コンポーネント

コンポーネントファイル役割
パケットフィルタpolicy.h, csumguard_tc.bpf.cTC ingress におけるヘッダーオンリーの分類器。標準的な TCP、UDP、ARP を許可する。フラグメント、オプション、GSO、VLAN をドロップする。26 個の per-CPU カウンタが理由を追跡する。
チェックサム検出器detect_policy.h, csumguard_detect.bpf.cカーネル内の CHECKSUM_PARTIAL パケットを追跡するオプションの fentry プローブ。疑わしいオフセットでカウンタをインクリメントする。ブロックは決して行わない。
ローダーloader.cシンボリックリンク攻撃を防ぐため / からのファイルパスを検証する。SHA-256 ダイジェストを検証し、インターフェースが DOWN であることを確認し、clsact をアタッチする。
VMM ランチャーlaunch.c, launch_policy.hオペレータの証拠を検証し、非 root の UID/GID に権限を落とし、VMM を起動し、アタッチメントを監視する。フィルタがドロップした場合は VM を一時停止して強制終了する。
レシート台帳launch.cFIPS 180-4 SHA-256 ハッシュチェーン化された JSONL レコードを書き込む非同期スレッド。64 スロットのリングバッファがディスクストールを防ぐ。

クイックスタート

1. オフラインでのビルドとテスト

make EGRESS_MTU=1500 all
make test

2. フィルターをアタッチする

オブジェクトを root 所有のディレクトリ(/opt/csumguard)にステージングし、TAP インターフェースが DOWN であることを確認してから、アタッチします:

/opt/csumguard/csumguard_loader attach tap0 /opt/csumguard/csumguard_tc.bpf.o <EXPECTED_SHA256>
/opt/csumguard/csumguard_loader status tap0 <IFINDEX> <NETNS_INODE> <PROG_ID>

3. 監視付きで起動する

/etc/csumguard/admission.json を記入し、csumguard_launch の下で VMM を起動します:

/opt/csumguard/csumguard_launch \
  --interface tap0 \
  --loader /opt/csumguard/csumguard_loader \
  --object /opt/csumguard/csumguard_tc.bpf.o \
  --evidence /etc/csumguard/admission.json \
  --receipt /var/log/csumguard/tap0.jsonl \
  --uid 65534 \
  --gid 65534 \
  --interval 0.2 \
  -- /usr/bin/qemu-system-x86_64 -netdev tap,id=n0,ifname=tap0,script=no,downscript=no

パッケージングと OCI 配布

csumguard は OCI v1.1 Artifact(application/vnd.csumguard.ebpf.v1)としてパッケージ化・配布され、暗号学的証拠の referrer(SLSA v1.0 provenance、CycloneDX v1.6 SBOM、検証マトリクス)が添付されています:

# Package local OCI layout and attach all referrers
./oci/package.sh --layout-dir build/oci-layout --tag v0.2.0

# Discover attached referrers graph
oras discover --oci-layout build/oci-layout:v0.2.0

# Pull directly on hypervisor hosts without container daemon
oras pull ghcr.io/mchorfa/csumguard:v0.2.0

完全な OCI メディアタイプ、ディスクリプタ、Cosign 検証ワークフローについては oci/README.md を参照してください。


検証

# Verify all source and evidence hashes
shasum -a 256 -c SHA256SUMS

# Run offline test suite
make test

# Run AddressSanitizer and UndefinedBehaviorSanitizer
clang -std=c11 -O1 -g -fsanitize=address,undefined -DEGRESS_MTU=1500 -I. tests/test_policy.c -o /tmp/p_asan && /tmp/p_asan
clang -std=c11 -O1 -g -fsanitize=address,undefined -I. tests/test_launch.c -lpthread -o /tmp/l_asan && /tmp/l_asan
clang -std=c11 -O1 -g -fsanitize=address,undefined tests/send_frame.c -o /tmp/f_asan && /tmp/f_asan --self-test

リポジトリのレイアウト

policy.h                  Packet admission parser and reason codes
detect_policy.h           Checksum partial predicate
launch_policy.h           Admission validator, 6D vector state, and SHA-256
csumguard_tc.bpf.c        TC ingress eBPF program
csumguard_detect.bpf.c    fentry/skb_checksum_help probe
loader.c                  libbpf loader and status reporter
launch.c                  VMM supervisor, quarantine engine, and receipt writer
tests/                    Offline C11 test suites and frame generator
testbed.sh                Lab veth test harness
docs/                     Runbook, admission spec, and CVE references
evidence/                 Verification logs and test records
promotion-gates.yaml      Gate statuses and target requirements

重要な境界

ツールをダウンロード