8

GitHub で:

Eve は、人気のあるプロジェクトのフォークにコードを書き、 としてコミットし"Eve" <eve@example.com>、プル リクエストをアップストリームに送信します。

Alice は、Eve のコードに、彼女が取り組んでいる人気のあるプロジェクトへのバックドアが含まれていることに気付かず、コードが優れていると考え、プル リクエストをマージします。

後で、誰もが所有されます。

Alice の上司である Bob は、コードを入手した人を解雇したいと考えています。彼は を実行し、次のようgit log --fullに表示されます。

commit deadbeef
Author: Eve <eve@example.com>
Commit: Eve <eve@example.com>

git log --fuller役に立たず、Eve にはリポジトリへの直接のプッシュ権がありません。

Bob はプル リクエストの履歴を調べて、その方法で見つけることができますが、それは最悪です。これをローカルで把握する方法はありますか?

4

1 に答える 1

3

一般に、git では、git サインオフを使用して ( Git のサインオフ機能とは何ですか? を参照)、アップデート フックを追加して、サインオフのないプッシュを拒否できます。ただし、GitHub は一般的にカスタム フックを許可していないようですが、post-receive-hook を追加して、今後のすべてのプッシュ イベントをログに記録できます。

http://help.github.com/post-receive-hooks/

これがすでに発生したイベントである場合、追跡するのは難しい (または不可能?) 可能性があります。git reflog と ssh のログを見ることができるかもしれませんが、GitHub がそのような情報を提供しているかどうかはわかりません。それが本当にセキュリティ侵害である場合、少なくとも彼らが持っているログを尋ねる価値があるかもしれません.

于 2012-03-20T22:08:03.070 に答える