GitHubリポジトリオーナー: Gitの--authorフラグを使ってAIボットスパムをブロックせよ

Archestra(AIプラットフォームのスタートアップ)のチームは、AIボットのスパムに悩まされていました。たった1つのバウンティIssueに253件のコメント、1つの機能に対して27件のPRが送られ、そのどれもテストされておらず、毎週のクリーンアップに半日かかっていました。彼らのリポジトリは、真のコントリビューターにとって敵対的なものになっていました。彼らはホワイトリストを必要としていましたが、GitHubはパブリックリポジトリに対してネイティブにサポートしていません。彼らの巧妙なハック:Limit to prior contributors設定とGitの--authorフラグを悪用する方法です。
問題:GitHubにおけるAIスラップロッジ
ボットは無限の「実装計画」や攻撃的な返信を生成していました。@ethanwater、@developerfred、@Geetk172のような真のコントリビューターは無視されていました。彼らの最初の試みである「London-Cat」というレピュテーションボットでさえ、スパムを止めることはできませんでした。「AI保安官」ボットは正当なPRを閉じてしまいました。唯一の本当の解決策は、人間による検証の後ろにコントリビューションをゲートすることでした。
ホワイトリストハックの仕組み
GitHubの「過去のコントリビューターのみ」設定は、mainブランチにコミットを投稿したことがない人をブロックします。しかし、Gitコミットにはauthorとcommitterという2つのIDフィールドがあります。--authorを使うと、コミットを他人に帰属させることができます。GitHubは、メールアドレスが対象ユーザーのGitHub noreplyメール(<id>+<username>@users.noreply.github.com)と一致すれば、そのユーザーにコントリビューターステータスを付与します。
# ユーザーのGitHub IDを調べる
gh api users /their-username --jq '.id'
# そのユーザー名でコミット(メール = [email protected])
git commit \
--author="their-username <[email protected]>" \
-m "chore: add their-username to external contributors"
mainにプッシュすると、そのユーザーはすぐにコメント、Issueの作成、PRの提出ができるようになります。コミットは外部ユーザーを作者として表示し、あなたのアカウントがコミッターとして表示されます。これでGitHubはそのユーザーを「過去のコントリビューター」とみなすのに十分です。
完全なオンボーディングフロー
- ユーザーがarchestra.ai/contributor-onboardにアクセスし、CAPTCHAを完了し、倫理的なAIルールに同意します。
- フォーム送信時にGitHub Actionが起動し、API経由でユーザーのGitHub IDを調べ、そのハンドルを
EXTERNAL_CONTRIBUTORS.mdファイルに追加します。 - アクションは、外部ユーザーを作者としてコミットを
mainにプッシュし、即座にコントリビューターステータスを付与します。
これは、GitHubのアクティビティを測定するVC支援のスタートアップにとっては究極の選択ですが、品質は虚飾の指標に勝りました。
ハッキーですが、機能します。サードパーティのスパムフィルターは不要です。GitのIDフィールドと2段階の検証フローを賢く利用しただけです。
📖 全文を読む: HN AI Agents
👀 See Also

フローマップ:高速サンプリングのための拡散モデルの積分学習
サンダー・ディールマンがフローマップについて解説。拡散モデルのODEの積分を直接予測するニューラルネットワークにより、高速サンプリング、報酬ベース学習、制御可能性を実現する。

Claudeコードエージェントの構造化:CLAUDE.mdと.claude/ディレクトリパターン
開発者がClaude Codeを使用して複数のAIエージェントを実行するアプローチを共有しています。各エージェントには独自のディレクトリがあり、CLAUDE.mdファイルと、ルールやスキルを含む.claude/ディレクトリが配置されています。重要な洞察は、常時保持するコンテキストとオンデマンドのワークフローを分離することで、トークン使用量と応答品質を最適化することです。

OpenClawにおけるGemini CLI write_file未検出問題:二つの修正が必要
OpenClawエージェントがgoogle-gemini-cliを使用している場合、誤ったtools.profileとサブプロセスに--approval-mode auto_editフラグがないため、ファイルを書き込めません(write_file / default_api_write_fileがない)。修正方法:プロファイルをfullに設定し、cliBackends設定を介してフラグを注入します。

Claude AI実行エージェントのための実用的なプロンプト構造
開発者が、API呼び出し、データ抽出、マルチステップワークフローを実行するClaude AIエージェントの幻覚を減らしたプロンプトエンジニアリング技術を共有。主な戦略には、プロンプトを契約のように書くこと、トークンの40%をエラーハンドリングに割り当てること、『待機』と『停止』の条件を分けることが含まれます。