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

Claudeでカスタムヒンディー語用語集システムを構築:10ヶ月で精度76%から92%へ
バンガロールの個人開発者がClaude用のカスタム用語集システムを構築し、ヒンディー語の専門用語精度を76%から92%に向上。文脈付きの用例ベースの用語が最も効果的だった。

フロントエンド最適化のためのClaude Code:88 PSIから100 PSIへ
ある開発者がClaude Codeを使用して、PageSpeed Insightsのモバイルスコアを88から100に引き上げた。主な戦術は、srcsetによるレスポンシブ画像、IntersectionObserver、フォントのプリロード除去。Claudeはワンプロンプトで修正するのではなく、デバッグパートナーとして機能した。

本番環境向けAIエージェントの信頼性のための制約設計
Redditの投稿では、Claudeを複雑なコードベース操作に使用するための制約ベースのアプローチが詳述されており、明示的な失敗モードの列挙、チェックポイントを設けた段階的実行、ショートカット防止ルールを強調し、140ファイルを削除する際にビルドの失敗をゼロにすることを達成しています。

Claude Codeの27フックライフサイクル ビジュアルガイド
コミュニティによって作成されたリソースは、Claude Codeの全27種類のフックについて、視覚的かつ音声による解説を提供しています。各フックがいつ発火するか、その順序、受け取るデータを示しています。このプロジェクトはClaude Code自体を使用して完全に構築されました。