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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/fzakaria/anubis-fetch
スクリプトと自動化WAFバイパスウェブセキュリティユーティリティとフレームワークアンチボットフィンガープリントスプーフィング
GitHubfzakaria/anubis-fetch

anubis-fetch

curlと似ていますが、AnubisやCloudflareのボット対策を回避します。

リポジトリを見る
301102日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

anubis-fetch

Built with Nix CI License: MIT

root@kitploit:~
$ nix run github:fzakaria/anubis-fetch -- https://lore.kernel.org/linux-mm/some-thread/T/

高速な(Go製)CLIツール。Anubis のProof-of-Wall(PoW)と Cloudflare のフィンガープリントチェックをかいくぐってURLを取得します。チャレンジをプロセス内で解決し、本当に必要なときだけ実際のブラウザにフォールバックします。

lore.kernel.org、GNOME、kernel.org など、ますます多くのサイトが Anubis の背後にあります。Anubis は、コンテンツを提供する前にブラウザに SHA-256 の proof-of-work を解かせるボット対策壁です。スクレイパーを止めるには最適ですが、単にメーリングリストのスレッドを curl で取得したいだけの あなた を止めるのにも最適です。

root@kitploit:~
$ curl -s https://lore.kernel.org/linux-mm/some-thread/T/ | grep -o '<title>.*</title>'
<title>Making sure you&#39;re not a bot!</title>   # 🤢

anubis-fetch なら実際のページを取得できます:

root@kitploit:~
$ anubis-fetch https://lore.kernel.org/linux-mm/some-thread/T/ | grep -o '<title>.*</title>'
<title>[PATCH 0/2] ...</title>                     # 🥳

仕組み

ボット対策壁は2つの異なる層に存在し、anubis-fetch は両方を、最もコストの低い手順から順に処理します。

  1. 保存されたCookieを再利用する。 Anubis は一度通過すると署名付き認証Cookie(techaro.lol-anubis-auth)を発行します。ブラウザは次回訪問時に再チャレンジされません。私たちも同様です。Cookie はホストごとに永続化されます(Cookie の永続化 参照)。
  2. Proof-of-work をプロセス内で解決する。 リクエストは req を通して、実際のChromeになりすまして送信されます(同一の TLS/JA3 + HTTP/2 フィンガープリント)。これにより Cloudflare の受動的なフィンガープリント もクリアされます。応答が Anubis チャレンジだった場合、nonce を総当たりで見つけ出し、送信します。ブラウザ不要、約0.6秒。
  3. 実際のブラウザにフォールバックする。 高速パスでは対応できない場合、chromedp を使ってヘッドレス Chromium を操作し、サイトが提供する任意のJavaScriptを実行します。

[!NOTE] フォールバックは以下の場合に発動します:Anubis の preact / metarefresh チャレンジ方式、未知または将来の方式、総当たりが困難な難易度、解決策の拒否、または Cloudflare の アクティブ JS チャレンジ(Managed Challenge / Turnstile / "I'm Under Attack")。なりすましは 受動的 Cloudflare をクリアします。アクティブなJS層をクリアできるのはブラウザだけです。そのため anubis-fetch は「遅くなる」だけで「壊れる」ことはありません。

なぜすべてをブラウザで行わないのか?

ブラウザを使うと約4倍遅くなり、毎回約200MBのChromiumを読み込む必要があるからです。プロセス内ソルバーが一般的なケースであり、ブラウザはセーフティネットです。

パス実時間Chromium が必要
ソルバー(Anubis proof-of-work)~0.6sいいえ
ブラウザフォールバック~2.0sはい

Anubis proof-of-work の簡単な説明

Anubis はチャレンジをJSONとしてページに埋め込みます:

root@kitploit:~
{"rules":{"algorithm":"fast","difficulty":4},
 "challenge":{"id":"…","method":"fast","randomData":"6214bd88…","difficulty":4}}

解決するには、hex(sha256(randomData ‖ nonce)) の先頭が difficulty 個のゼロ文字で始まるような nonce を見つける必要があります(nonce は10進数の文字列です)。その後、答えを次のように送り返します:

root@kitploit:~
GET /.within.website/x/cmd/anubis/api/pass-challenge?id=…&response=<hash>&nonce=<n>&redir=<url>&elapsedTime=<ms>

…これにより認証Cookieが設定され、実際のページにリダイレクトされます。難易度4(lore/kernel.org/GNOME のデフォルト)は約65,000ハッシュで、Goでは1ミリ秒未満です。

インストール

直接実行:

root@kitploit:~
$ nix run github:fzakaria/anubis-fetch -- <url>

プロファイルにインストール:

root@kitploit:~
$ nix profile install github:fzakaria/anubis-fetch

または自分のflakeに追加:

root@kitploit:~
{
  inputs.anubis-fetch.url = "github:fzakaria/anubis-fetch";
  # その後、例えば home.packages / environment.systemPackages に:
  #   inputs.anubis-fetch.packages.${system}.default
}

使い方

root@kitploit:~
$ anubis-fetch [flags] URL
root@kitploit:~
# HTML を標準出力へ
$ anubis-fetch https://lore.kernel.org/linux-mm/some-thread/T/

# 読みやすいプレーンテキスト
$ anubis-fetch --text https://lore.kernel.org/linux-mm/some-thread/T/

# 軽量/高速のみ — スクリプト内で便利。ブラウザが必要になる場合、終了コード3で終了
$ anubis-fetch --no-browser https://example.com/ && echo "got it"

Cookie の永続化

正常に取得した後、認証Cookieは $XDG_CACHE_HOME/anubis-fetch/cookies/<host>.json に書き込まれます (~/.cache/… にフォールバック)。 次回そのホストにアクセスするときは、proof-of-workもブラウザも不要で直接通過できます。 ちょうどブラウザの再訪問と同じです。 ブラウザフォールバック経由で得られたCookieも保存されるため、次回以降は高速なHTTPパスを使用できます。 無効にするには --no-cache を使用するか、ファイルを削除して再解決を強制します。

開発

すべてはflakeを通じて配線されています:

root@kitploit:~
$ nix develop          # 開発シェル:go、gopls、chromium、treefmt
$ go test ./...        # ユニットテスト(ネットワークなしの密閉環境)
$ nix build            # ラップされたバイナリをビルド
$ nix flake check      # ビルド + テスト + 書式チェック
$ nix fmt              # treefmt を使って Go + Nix をフォーマット(gofmt + alejandra)

proof-of-workの実装は、Anubis自身が公開しているテストベクトル(sha256("hunter" + "0"))に対して固定されており、ハッシュ構築のずれがあれば、無言で不正な結果を返すのではなくユニットテストで失敗します。

先行事例と謝辞

  • TecharoHQ/anubis — このツールが礼儀正しく交渉するボット対策壁。
  • imroc/req — Chrome なりすましにより受動的なCloudflareフィンガープリントをクリアするHTTPクライアント。
  • chromedp/chromedp — ヘッドレスブラウザのフォールバックを駆動。
ツールをダウンロード
フラグ意味
--textHTML ではなく読みやすいプレーンテキストを出力
--timeout MSステップごとのタイムアウト(ミリ秒、デフォルト 30000)
--ua STRINGUser-Agent を上書き
--browserソルバーをスキップし、即座にヘッドレスブラウザを使用
--no-browserブラウザを使用しない。ソルバーが適用できない場合は終了コード 3 で終了
--no-cache永続的なCookie jarの読み書きを行わない