Re:GitHub's email correlation for authorship
by timf on Wednesday May 12, 2010 @06:13PM
(#1342438)
This was just me verifying what I saw, that if you push commits to GitHub, it correlates the email address of authors introducing commits elsewhere. You can make it look like anyone you want is contributing patches, the avatar shows up, etc. This example commit does NOT show up in dhh's timeline, though.
I am not going to start requiring PGP signing for my projects, they are not big enough to miss something fishy. This was just something I hadn't considered, it is probably an obvious issue to many already.
Re:GitHub's email correlation for authorship
by rtomayko on Wednesday May 12, 2010 @06:59PM
(#1342562)
That's mostly correct. We use the email addresses provided in the commit Author and Committer fields and correlate them with the email addresses associated with GitHub user accounts. The commit Author/Committer email addresses are also used to fetch gravatar images even when no GitHub user account exists for the email.
It's trivial to spoof these fields using the --author argument to git-commit(1), by setting the GIT_AUTHOR_EMAIL/GIT_COMMITTER_EMAIL environment variables, or by setting a different name/email using git-config(1).
Re:GitHub's email correlation for authorship
by timf on Wednesday May 12, 2010 @07:07PM
(#1342590)
Thanks. So it didn't cross my mind that this was some huge security flaw, I would have reported something like that privately. I hope starting this discussion does not cause any unecessary confusion.
GitHub rocks, it has really changed our contributor attitudes. I am a happy, paying customer (another account) and just really hope you guys are around a long time!
Re:GitHub's email correlation for authorship
by petercooper on Wednesday May 12, 2010 @06:59PM
(#1342564)
It's on a par with using a forged From header over SMTP. You can send e-mail as pretty much anyone. (Though technologies like SPF are helping clamp down on this.)
"Joe jobbing" is when spammers use real e-mail addresses in their From headers so that that person gets the flak. In a round about way, this is the same for patches/commits :-)
Re:GitHub's email correlation for authorship
by jackowayed on Wednesday May 12, 2010 @07:06PM
(#1342587)
He changed his git config so that user.email was [email protected] (The email DHH lists on GitHub). GitHub then automatically says "oh, this is by [email protected], so let's put his avatar there and link to his profile as the author."
Re:GitHub's email correlation for authorship
by technoweenie on Thursday May 13, 2010 @02:35PM
(#1345173)
Sure, all it does is links the commit to a github login. It doesn't somehow give you access to any data that's not yours. You've just discovered another way to post spam.
Re:GitHub's email correlation for authorship
by wwortiz on Wednesday May 12, 2010 @06:58PM
(#1342561)
I was simply stating that patches shouldn't be accepted just because a high profile person submitted it (which this could possible be used to spoof for malicious intent).
As for the second part I was wondering if this had any other implications such as committing to someone else repo or if it is just masking identities with another users.
Re:GitHub's email correlation for authorship
by adbge on Wednesday May 12, 2010 @06:58PM
(#1342559)
Might be an issue in that it could be used to damage someone's reputation by spoofing their avatar/etc and then trying to push malicious commits. That's what occurs to me at first glance, anyways.
Re:GitHub's email correlation for authorship
by tav on Wednesday May 12, 2010 @07:23PM
(#1342622)
I'm not really sure why this is an issue at all. Yes, "rogue" repositories could claim that you'd authored various commits. But, why would people be looking at these repos in the first place?
There's a very strong builtin trust mechanism on GitHub — mainly due to the fact that repositories hang off of "users" instead of them hanging off of "projects".
And, myself, when browsing around aimlessly on GitHub, tend to check out either reputable projects (where such behaviour is not likely to go unnoticed) or the repos of a hacker i'm interested in — who surely doesn't have much reason to fake their own commits? ;p
Heh, maybe this could be the basis for a GitHub Reality TV show. "Tonight: DHH fakes his own death!" ;p
Re:GitHub's email correlation for authorship
by jrockway on Wednesday May 12, 2010 @10:44PM
(#1343102)
Just like regular mail, e-mail, the bylines on articles, people on the phone, ...
If you don't want people to worry about the integrity of your code, then "git tag -s" to sign a tag. Signing a tag makes it possible to verify the authenticity of the entire branch to that point.
Re:GitHub's email correlation for authorship
by kneath on Wednesday May 12, 2010 @07:29PM
(#1342637)
As I recall, your account got suspended because of this and suddenly became extremely apologetic when you realized you needed your account for work the next day.
There's a big difference between a security hole and acting like a jackass.
Re:GitHub's email correlation for authorship
by JamesBastard on Wednesday May 12, 2010 @07:36PM
(#1342654)
if you look at the IRC logs for the day you'll see i specifically warned some employees what i was doing hours before i did it. you'll also see i was instantly unbanned and was making jokes about how my boss would be mad at me if i got banned from github.
i could have easily not been detected doing this. i chose to to spam the site to see how fast it could respond. i got those 2k users in about 3 minutes or so....
I am not going to start requiring PGP signing for my projects, they are not big enough to miss something fishy. This was just something I hadn't considered, it is probably an obvious issue to many already.
It's trivial to spoof these fields using the --author argument to git-commit(1), by setting the GIT_AUTHOR_EMAIL/GIT_COMMITTER_EMAIL environment variables, or by setting a different name/email using git-config(1).
GitHub rocks, it has really changed our contributor attitudes. I am a happy, paying customer (another account) and just really hope you guys are around a long time!
Thanks!
> and just really hope you guys are around a long time!
We'll be here. It's a profitable business with a straightforward model and we intend to keep it that way.
So, you aren't 'dhh' but you commited using his email address and it showed up as him?
"Joe jobbing" is when spammers use real e-mail addresses in their From headers so that that person gets the flak. In a round about way, this is the same for patches/commits :-)
Changing the config is as simple as
And you can add a --global flag if you want that to be the default for all repos instead of just the one you're on.Edit: There's also some way to do it with a --author= flag when you commit.
If this is "actually" a big issue or not is another question.
Edit: not to say this shouldn't be fixed I am curious if this implies anything else that I may be missing.
In fact, if it's not totally obvious to everyone that timf is the one that committed the latest commit, then this demonstration is noteworthy.
As for the second part I was wondering if this had any other implications such as committing to someone else repo or if it is just masking identities with another users.
There's a very strong builtin trust mechanism on GitHub — mainly due to the fact that repositories hang off of "users" instead of them hanging off of "projects".
And, myself, when browsing around aimlessly on GitHub, tend to check out either reputable projects (where such behaviour is not likely to go unnoticed) or the repos of a hacker i'm interested in — who surely doesn't have much reason to fake their own commits? ;p
Heh, maybe this could be the basis for a GitHub Reality TV show. "Tonight: DHH fakes his own death!" ;p
If you don't want people to worry about the integrity of your code, then "git tag -s" to sign a tag. Signing a tag makes it possible to verify the authenticity of the entire branch to that point.
here's a screenshot from some of my github expliots...
http://i.imgur.com/irL01.png
There's a big difference between a security hole and acting like a jackass.
i could have easily not been detected doing this. i chose to to spam the site to see how fast it could respond. i got those 2k users in about 3 minutes or so....