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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
gha-lab-6904b2ccbe — セキュリティ研究ラボ: CVE-2025-61584 (GHSA-9g7x-737f-5xpc) の再現 — pull_request_target ワークフロー (.github/workflows/pr.yml) における github.head_ref を介したコマンドインジェクション | Kitploit
ツール/GitHubGitHub/pvharmo2/gha-lab-6904b2ccbe
脆弱性分析エクスプロイト学習と教育厳選リソース
GitHubpvharmo2/gha-lab-6904b2ccbe

gha-lab-6904b2ccbe

セキュリティ研究ラボ: CVE-2025-61584 (GHSA-9g7x-737f-5xpc) の再現 — pull_request_target ワークフロー (.github/workflows/pr.yml) における github.head_ref を介したコマンドインジェクション

リポジトリを見る
191ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

自動化された研究アーティファクト — 上流プロジェクトではありません。

このリポジトリは、ラヴァル大学の修士論文のために、公開されているGitHub Actionsワークフローの脆弱性を再現することを目的として、自動化ハーネスによって構築された使い捨てラボです。これは serverless-dns/serverless-dns のコミット b0b1a1538aeb1991b5bc13dfe4e18e686913b12e(2025-04-26)の逐語的なスナップショットであり、そのプロジェクト自身のライセンスの下で再配布されています。そのライセンスファイルはこのスナップショットに変更なしで含まれています。

上流プロジェクトは関与しておらず、決して標的にはなりません。ここで研究されている脆弱性はすでに公開されています。このリポジトリ内のすべてのシークレットと変数はランダムに生成されたダミー値であり、実際の認証情報は存在しません。アクションの参照とランナーイメージは、2025-04-26に解決されたものに固定されています。スナップショットに加えられたすべての変更については、ハーネス出力の pinning.md を参照してください。

質問や異議がある場合: [email protected]


鳥だ、飛行機だ、いや…セルフホスト型のPi-hole風DNSリゾルバーだ

serverless-dns は、Pi-Hole風のコンテンツブロッキング機能を持つ、サーバーレスでスタブ型のDNS-over-HTTPS (DoH) およびDNS-over-TLS (DoT) リゾルバーです。Cloudflare Workers、Deno Deploy、Fastly Compute@Edge、Fly.io ですぐに動作します。これらのサービスの無料枠はすべて、月間10〜20台のデバイス分のDNSトラフィックをカバーするのに十分なはずです。

RethinkDNSリゾルバー

RethinkDNSは、以下のエンドポイントで本番環境において serverless-dns を実行しています:

クラウドプラットフォームサーバー所在地プロトコルドメイン使用方法
⛅ Cloudflare Workers280以上 (ping)DoHsky.rethinkdns.com設定
🦕 Deno Deploy30以上 (ping)DoH非公開ベータ
⏱️ Fastly Compute@Edge80以上 (ping)DoH非公開ベータ
🪂 Fly.io30以上 (ping)DoHおよびDoTmax.rethinkdns.com設定

サーバー側の処理時間は0ミリ秒(ms)から2ms(中央値)で、エンドツーエンドのレイテンシー(地域やネットワークによって異なります)は10msから30ms(中央値)です。

FOSS United 

Fly.io上の Rethink DNS リゾルバーは、FOSS United によってスポンサーされています。

セルフホスト

Cloudflare Workersは、serverless-dns をセットアップするのに最も簡単なプラットフォームです:

Deploy to Cloudflare Workers

Deploy to Fastly

ステップバイステップの手順については、以下を参照してください:

プラットフォーム難易度ランタイムドキュメント
⛅ Cloudflare簡単v8 IsolatesCloudflare Workersでのホスティング
🦕 Deno.com普通Deno IsolatesDeno.comでのホスティング
⏱️ Fastly Compute@Edge簡単Fastly JSFastly Compute@Edgeでのホスティング
🪂 Fly.io難しいNode MicroVMFly.ioでのホスティング

ブロックリストを設定するには、ブラウザから https://<my-domain>.tld/configure にアクセスしてください(RethinkDNSの_設定_ページと同様のものが読み込まれるはずです)。

ヘルプやサポートが必要な場合は、お気軽にissueを開くか、パッチを送信してください。


開発

OpenSSF Scorecard

セットアップ

コード:

# 作業ディレクトリに移動
cd /my/work/dir

# このリポジトリをクローン
git clone https://github.com/serverless-dns/serverless-dns.git

# serverless-dnsに移動
cd ./serverless-dns

Node:

# 必要に応じてnvm経由でnode v22+をインストール
# https://github.com/nvm-sh/nvm#installing-and-updating
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
nvm install --lts

# 依存関係をダウンロード
npm i

# (任意) 依存関係を更新
npm update

# node上でserverless-dnsを実行
./run n

# clinicjs.orgプロファイラーを実行
./run n [cpu|fn|mem]

Deno:

# deno.land v2+をインストール
# https://github.com/denoland/deno/#install
curl -fsSL https://deno.land/install.sh | sh

# deno上でserverless-dnsを実行
./run d

Fastly:

# 必要に応じてnvm経由でnode v22+をインストール
# Fastly CLIをインストール
# https://developer.fastly.com/learning/tools/cli

# Fastly Compute@Edge上でserverless-dnsを実行
./run f

Wrangler:

# Cloudflare Workers (cli) 別名Wranglerをインストール
# https://developers.cloudflare.com/workers/cli-wrangler/install-update
npm i wrangler --save-dev

# Cloudflare Workers (cli) 上でserverless-dnsを実行
# 最初にWranglerをセットアップしてください:
# https://developers.cloudflare.com/workers/cli-wrangler/authentication
./run w

# Chrome DevToolsでwranglerをプロファイリング
# blog.cloudflare.com/profiling-your-workers-with-wrangler

コードスタイル

このリポジトリへのコミットは、Google JavaScriptスタイルガイドを強制します(参照: .eslintrc.cjs)。 .js ファイルに対してリンター(eslint)とフォーマッター(prettier)を実行するgit pre-commit フックがあります。このフックをバイパスするには git commit --no-verify を使用してください。

プルリクエストもコードスタイル違反がないかチェックされ、可能な場合は自動的に修正されます。

環境変数

デフォルトを調整する必要がある場合は、env.js を設定してください。 Cloudflare Workersの場合は、代わりに wrangler.toml で環境変数を設定してください。 Fastly Compute@Edgeの場合は、代わりに fastly.toml で環境変数を設定してください。

リクエストフロー

  1. リクエスト/レスポンスフロー: クライアント <-> src/server-[node|workers|deno] <-> doh.js <-> plugin.js
  2. plugin.js フロー: user-op.js -> cache-resolver.js -> cc.js -> resolver.js

認証

serverless-dnsは、DoHとDoTの両方で英数字ベアラートークンによる認証をサポートしています。トークンについては、msg-key(シークレット)を、hex(hmac-sha256(msg-key|domain.tld), msg) の出力に追加し、ACCESS_KEYS 環境変数にcsv形式で設定します。注: msg は現在 sdns-public-auth-info に固定されています。

  1. DoH: msg-key をブロックスタンプの末尾に配置します。例: 1:1:4AIggAABEGAgAA:<msg-key> (ここで 1 はバージョン、1:4AIggAABEGAgAA はブロックスタンプ、<msg-key> は認証シークレット、: は区切り文字です)。
  2. DoT: msg-key をブロックスタンプを含むSNI(ドメイン名)の末尾に配置します: 1-4abcbaaaaeigaiaa-<msg-key> (ここで 1 はバージョン、4abcbaaaaeigaiaa はブロックスタンプ、<msg-key> は認証シークレット、- は区切り文字です)。

DoTでも認証を使用する場合は、サブドメインは合計63文字までしか使用できないため、msg-key を短く(8〜24文字)してください。

フォークのアクセスキーは、max.rethinkdns.com から次のように生成できます:

msgkey="ShortAlphanumericSecret"
domain="my-serverless-dns-domain.tld"
curl 'https://max.rethinkdns.com/genaccesskey?key='"$msgkey"'&dom='"$domain"
# 出力
# {"accesskey":["my-serverless-dns-domain.tld|deadbeefd3adb33fa2bb33fd3eadf084beef3b152beefdead49bbb2b33fdead83d3adbeefdeadb33f"],"context":"sdns-public-auth-info"}

ログと分析

serverless-dnsは、Cloudflare Logpush を介してログをアップロードするように設定できます。

ツールをダウンロード