世界を動かす技術を、日本語で。

「vibecoded」ファザーを使用してFFmpegにゼロ除算バグを発見しました

2026年8月28日原文(code.ffmpeg.org)

概要

  • Anubis はウェブサイトを AI企業のスクレイピング から守るための防御策
  • Proof-of-Work 方式を採用し、通常利用者には負担が少ない設計
  • 現在は一時的な対策で、今後は ブラウザの指紋認証 など恒久的な手法を検討
  • 一部の JavaScript無効化プラグイン が動作を妨げる場合あり
  • 利用者は JShelter等の無効化 を推奨

Anubisによるウェブサイト保護の仕組み

  • Anubis はウェブサイト管理者が AI企業の過剰なスクレイピング からサーバーを守るために導入
  • Proof-of-Work(PoW) 方式を採用し、アクセスごとに計算処理を要求
  • Hashcash に着想を得た仕組みで、メールスパム対策の応用例
  • 通常利用者 には計算負荷がほぼ無視できるレベル
  • 大量アクセスや自動化ツール による負荷増大を防止

一時的な対策としてのAnubis

  • Anubis は恒久的な解決策ではなく、 プレースホルダー的役割
  • 今後は ヘッドレスブラウザの識別フォントレンダリングの違い などを利用した高度な判別技術を検討
  • 正規ユーザーにはProof-of-Workページを表示しない運用を目指す方針

プラグインとAnubisの互換性

  • Anubis は最新の JavaScript機能 を利用
  • JShelter などのJavaScript制限プラグインが有効だと正常動作しない場合あり
  • 対象ドメインでプラグインの無効化 を推奨

利用者への注意事項

  • Anubis による一時的なアクセス制限が発生することあり
  • 正常な閲覧のためには JavaScriptを有効化 し、 制限プラグインを一時停止 する必要
  • 今後のアップデートでより利便性の高い保護策を導入予定

Hackerたちの意見

AIがソフトウェアの質を上げたり下げたりするのは面白いよね。AIエージェントを無限にバグ探しに送り出すのは簡単だし、もし時間と労力を無駄にして何も見つからなかったとしても、大したことじゃない。人間の開発者にとっては、時間の方がずっと大事だからね。

何を「過剰設計のループマシン」と呼ぼうが、LLMを使うことには具体的なメリットがあるよ。自分でループアルゴリズムを開発するよりも速く動くし、役立つ結果を出すことが多いから。

LLMを使ってバグを見つけるのは簡単だよ。出力をレビューして、きれいに整えて、他の部分を壊さないようにするのが難しいんだ。

でも、ネットの期待値はどうなの?

AIはあんまり好きじゃないけど、もしAIが本当のバグを見つけられるなら、それは客観的に見て良いことだと思う。もちろん、本当のバグって何なのかっていうのが問題だけどね。

AIエージェントを無限にバグ探しに送り出すのは簡単だし、もし時間と労力を無駄にして何も見つからなかったとしても、大したことじゃない。大したことじゃない?無料なわけじゃないし…トークンにはお金がかかるんだよ。

私の経験では、AIの使い方は二通りあると思う:スピードかクオリティ。スピードはAIにタスクを与えて、その結果をレビューする感じ。クオリティは自分でコードを書いて、AIにレビューしてもらうスタイル。どちらも状況によって有効だよ。

疑いなく、ファズテスト(vibecodedでも他のでも)って強力だけど、すべての「/」をゼロ除算エラーの可能性としてマークするだけじゃダメなの?たまに開発者は「この変数はゼロにならない」って思い込むことがあるけど、明示的にチェックされてない限り、コンパイラでも信じるべきじゃないよね。

ガード句があるかもしれないけど、うん、これっていくつかのIDEがヌルチェックを見て、同じスコープ内でヌラビリティについて文句を言わないように静的に評価できるかもね。

何を提案してるの?SIGFPEの動作とどう違うの?

でも、すべての"/"をゼロ除算エラーの可能性があるってマークできないの?大きな誤検知率を受け入れるなら、はい。ユーザーに警告を真剣に受け取ってほしいなら、いいえ。 (細かいことを言うと、すべてをフラグ付けしたくはないよね。非ゼロ定数での除算は確実に除外すべきだし、例えば(-1での整数除算はオーバーフローを引き起こすけど、それは別の警告になるね))

ファズテストは、トリガーできない「潜在的」なエラーだけじゃなくて、入力を見つけるんだよ。

Hacker Newsで議論の続きを見る