Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
FLAWED — 埋め込み欠陥を持つFix-Likeアーティファクト | Kitploit
ツール/GitHubGitHub/off-by-1-labs/flawed
防御ツール静的分析脆弱性スキャナー動的分析 (サンドボックス)脆弱性分析コード分析ファジング機械学習論文と研究学習と教育AIセキュリティ
GitHub
22551ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
off-by-1-labs/flawed

FLAWED

埋め込み欠陥を持つFix-Likeアーティファクト

リポジトリを見る
FLAWED

Fix Like Artifacts with Embedded Defects

AIエージェントが脆弱性をどれだけうまく修正できるかを測定するための研究ハーネス。

License MIT Python 3.11+ Requires Docker Agents Claude, Codex, Gemini

クイックスタート · データセット · ドキュメント · セキュリティモデル · コントリビューション


FLAWEDは、既知の脆弱なコミット時点でオープンソースプロジェクトをチェックアウトし、AIエージェントにバグの説明を渡してパッチを書くよう依頼します。エージェントが実際のアップストリームの修正を目にすることはありません。

その後、すべてのパッチは隔離されたコンテナ内で検証、監査、採点されるため、モデルがバグを修正したかどうかだけでなく、その過程で新たなバグを混入させなかったかどうかも確認できます。

仕組み

root@kitploit:~
flowchart LR
    spec[bug spec] --> clone
    clone["clone<br/>(open net)"] --> generate
    generate["generate<br/>(offline)"] --> validate
    validate["validate<br/>(offline)"] --> ast["ast<br/>(offline)"]
    generate -.->|"patch.diff"| store[(Postgres)]
    validate -.->|"verdict"| store
    ast -.->|"summary"| store
    store --> ui[web UI + notebook]

各ステージはそれぞれ独自のコンテナ内で実行されます。ネットワークアクセスを持つのはcloneだけです。それ以降のすべてのステージはLLMプロバイダーのAPIのみに制限されているため、エージェントは実行中にヒントやアップストリームの修正を取得できません。

機能

FLAWEDはClaude、Codex、GeminiのCLIを同じ入力で直接対決させます。

クイックスタート

[!WARNING] FLAWEDはDockerソケット(ホスト上ではroot相当)をマウントし、ステージコンテナ内で信頼できないサードパーティのコードを実行します。そのワークロードを処理できると信頼できるマシン上で実行してください。詳細は docs/security-model.mdを参照してください。

Dockerが必要で、デーモンソケットにアクセスできる必要があります。

root@kitploit:~
# 1. Configure. Writes .env for you (data dir + provider API keys)
./setup.sh

# 2. Bring up the stack (Postgres, API + worker, web UI, notebook)
docker compose up --build

# 3. Open http://127.0.0.1:8080

次に最初の実行を行います。

  1. バグスペックをインポートします。 サンプルスペックはbugs/以下に同梱されています。Web UIのBug Specsページにドラッグするか、CLIを使用します。
    root@kitploit:~
    ./scripts/import-all-bugs.sh
    
  2. Web UIから実行を起動します。 スペック、エージェント+モデル、バリアント、反復回数を選択します。実行ページは進捗をライブでストリーミングします。

[!NOTE] 大規模なアップストリーム(例: Chromium)に対する最初の実行は遅くなります。validateステージは、実際のアップストリームパッチと差分を取るためにリポジトリ全体を一度クローンします。クローンはキャッシュされ、その後再利用されます。

ホスト上での開発セットアップ(composeなし)

Docker、Node 20+、pnpm、uv、および@devcontainers/cli(npm i -g @devcontainers/cli)が必要です。NixユーザーはDocker以外のすべてをnix-shellで用意できます。

root@kitploit:~
make dev                        # uv sync + web deps
docker compose up -d postgres   # FLAWED needs a Postgres to talk to
cp .env.example .env            # points FLAWED_DB_URL at it
uv run flawed init              # builds base images, creates the schema
uv run flawed serve             # API + worker + webapp on port 8080

Webの開発ループには、2つ目のターミナルでmake web-devを実行します。UIをポート5173で提供し、/apiをflawed serveにプロキシします。

このリポジトリに対してAIコーディングエージェントを安全に実行するための隔離されたdevcontainerは、.devcontainer/README.mdに文書化されています。

バグスペック

バグスペックは入力の単位です。リポジトリ、脆弱なコミット、バグの説明、オプションの再現手順、およびバグが現実的にどのように報告されるかをモデル化した一連のプロンプトバリアント(SASTの検出結果、バグバウンティレポート、 embargoされたアドバイザリ、生のPoCなど)を保持します。スペックはバージョン管理され不変であるため、過去の実行のプロンプトと判定が黙って変わることはありません。

JSONコントラクトはbugs.schema.jsonにあり、docs/bug-specs.mdに文書化されています。同梱されているすべてのスペックは、公開開示され、アップストリームで修正された脆弱性を記述しています。

ストレージ

Postgresが唯一の信頼できる情報源です。実行メタデータおよびアーティファクトのバイト列(パッチ、判定、トランスクリプト、ログ)はデータベース内に存在するため、デプロイメントはそのDBによって完全に捕捉されます。data/ディレクトリは、ステージが実行時にマウントする一時的なスクラッチ領域です。

  • デプロイメント全体のバックアップ/リストアはscripts/export_dataset.pyとscripts/import_dataset.pyで行います(Web UIからも利用可能)。
  • オフライン検査用にディスク上のアーティファクトツリーを再構築するにはscripts/export_artifacts.pyを使用します。
  • スキーマ変更はAlembicで管理されます(uv run alembic upgrade headは起動時に自動的に実行されます)。

データセット

すべてを自分で実行する代わりに、完了したキャンペーンをロードできるよう、事前構築済みのデータセットを公開しています。各データセットは1つの完全なスナップショットの.tar.gzで、**https://flawed.s3.us-east-1.amazonaws.com**でホストされています。

単一のバンドル内のすべてのキャンペーン。

バンドルアーカイブ
すべてのキャンペーンfull.tar.gz
キャンペーンごとのアーカイブ、パッチャーモデルごとに1つ(13)

Web UIから(推奨)

Snapshots → Import datasetsで、上記のアーカイブリンクのいずれかを貼り付け、Find archivesをクリックします。FLAWEDは直接の.tar.gzリンクをそのままインポートし、スナップショットに展開します。その後、スナップショットリストからリストアします(リストアは別の、明示的に確認されるステップです)。

インポートが複数のアーカイブを一度に検出するのは、URLがリスト可能なバケットまたはディレクトリインデックスページである場合のみです。ここではどちらにも該当しないため、リンクを1つずつインポートしてください。

手動で

アーカイブをダウンロードし、スナップショットディレクトリ(FLAWED_HOST_SNAPSHOT_DIR、デフォルトでは./flawed-snapshots)に展開すると、スナップショットリストに表示され、リストアできる状態になります。

root@kitploit:~
curl -LO https://flawed.s3.us-east-1.amazonaws.com/compressed/campaigns/full/cve-2026-45185-exim-bdat-uaf_full_gpt-5.5_1782988292.tar.gz
mkdir -p "$FLAWED_HOST_SNAPSHOT_DIR"
tar -xzf cve-2026-45185-exim-bdat-uaf_full_gpt-5.5_1782988292.tar.gz -C "$FLAWED_HOST_SNAPSHOT_DIR"

インポートはバンドルをディスク上にステージングするだけです。現在のデプロイメントを置き換えるリストアは、スナップショットページから別途行います。

ドキュメント

リポジトリレイアウト

root@kitploit:~
packages/
  flawed-core/             models, DB schema, settings
  flawed-orchestrator/     run lifecycle, worker pool, devcontainer driver
  flawed-stage-*/          the pipeline stages (clone, generate, validate, …)
  flawed-agent-runner/     runs INSIDE the container (Claude / Codex / Gemini CLIs)
  flawed-api/              FastAPI + SSE + notebook proxy
  flawed-cli/              the `flawed` CLI
apps/web/                  React + Vite + Tailwind webapp
containers/                base image, network lockdown, notebook container
bugs/                      example bug specs
docs/                      documentation (see above)

開発

テストにはDockerが必要です。テストはtestcontainersを介して独自のPostgresを起動します。

ライセンスとコントリビューション

FLAWEDはMIT Licenseの下でリリースされています。コントリビューションを歓迎します。CONTRIBUTING.mdを参照し、セキュリティ問題はSECURITY.mdに従って非公開で報告してください。

ツールをダウンロード
機能得られるもの
反復サンプリング1回の実行で同じ入力をN回反復するため、結果は逸話ではなく分布になります。
キャンペーン1つのバグをパッチャーのバリアントとプロンプトスタイル(曖昧な*「これ直して」*から完全なアドバイザリまで)にわたってスイープし、ライブダッシュボードで結果を比較できます。
結果の採点すべてのパッチは5つのシナリオのいずれかに分類されます。S1(クリーンな修正)からS5(バグを修正せず、新たな脆弱性を混入させた)まで。
クロスバリデーションパッチは他のモデルによって再判定され、主要な数値は自己検証とクロスバリデーションの両方の視点を平均するため、単一の判定者のバイアスが支配的になることはありません。
チート検出監査者が、エージェントがバグ自体を解決する代わりにアップストリームの修正を見つけてしまった反復をフラグ付けします。
キャンペーンパッチャーモデルサイズアーカイブ
CVE-2026-22738 (Spring AI SpEL injection)claude-opus-4-8515.0 MB.tar.gz
CVE-2026-22738 (Spring AI SpEL injection)gpt-5.5663.9 MB.tar.gz
CVE-2026-31431 (Linux algif_aead)claude-opus-4-81.1 GB.tar.gz
CVE-2026-31431 (Linux algif_aead in-place)gpt-5.5966.9 MB.tar.gz
CVE-2026-34197 (ActiveMQ Jolokia RCE)claude-opus-4-8645.2 MB.tar.gz
CVE-2026-34197 (ActiveMQ Jolokia RCE)gpt-5.5819.0 MB.tar.gz
CVE-2026-45185 (Exim BDAT use-after-free)claude-opus-4-81.1 GB.tar.gz
CVE-2026-45185 (Exim BDAT use-after-free)gpt-5.51.0 GB.tar.gz
CVE-2026-8512 (Chromium fsevents UAF)claude-opus-4-8500.7 MB.tar.gz
CVE-2026-8512 (Chromium fsevents UAF)gpt-5.5342.7 MB.tar.gz
freenginx-26 (Perl SV refcount UAF)gpt-5.5166.4 MB.tar.gz
GHSA-wpqr-6v78-jr5g (Gemini CLI trust model)claude-opus-4-81.2 GB.tar.gz
GHSA-wpqr-6v78-jr5g (Gemini CLI trust model)gpt-5.51.3 GB.tar.gz
ドキュメント内容
docs/architecture.mdコンポーネント、データフロー、ストレージレイアウト
docs/pipeline.mdステージ、反復のセマンティクス、コンテナレイアウト
docs/security-model.mdステージごとのネットワークポリシー、サンドボックス化、脅威モデル
docs/bug-specs.md入力コントラクト、プロンプト構成、バージョン管理
docs/cli.mdflawedコマンドリファレンス + 環境変数
docs/webapp.mdUIツアー
docs/notebook.mdJupyterLab統合 + flawedヘルパーモジュール
タスクコマンド
すべてのPython + Node依存関係を同期make dev
テストを実行make test
リントmake lint
自動フォーマットmake format
Web開発サーバー(ポート5173)make web-dev
E2Eスモークテストmake e2e