Skip to content

Instantly share code, notes, and snippets.

@lrvick
Last active December 16, 2023 09:27
Show Gist options
  • Save lrvick/02088ee5466ca51116bdaf1e709ddd7c to your computer and use it in GitHub Desktop.
Save lrvick/02088ee5466ca51116bdaf1e709ddd7c to your computer and use it in GitHub Desktop.
Trolling Github's DMCA repo with their own security flaws.

Add new Youtube-dl copy to DMCA repo

  1. Fork https://github.com/github/dmca
  2. Download latest youtube-dl source code from https://yt-dl.org/latest
  3. Extract
    tar -xvf youtube-dl-2020.09.20.tar.gz
    
  4. Push code to your fork as the GitHub CEO
    cd youtube-dl-2020.09.20
    git init
    git add .
    git config user.email "nat@github.com"
    git config user.name "Nat Friedman"
    git commit -m "Your message to the RIAA and GitHub Here"
    git remote add origin git@github.com:YOURUSER/dmca
    git push -f origin master
    
  5. Get new URL to share!
    echo "https://github.com/github/dmca/tree/$(git rev-parse HEAD)"
    

Clone hidden repo from DMCA repo:

git clone -n https://github.com/github/dmca.git youtube-dl
cd youtube-dl
git fetch origin 416da574ec0df3388f652e44f7fe71b1e3a4701f
git checkout FETCH_HEAD
@Mhowser
Copy link

Mhowser commented Oct 28, 2020

1920px-Sample_09-F9_protest_art,_Free_Speech_Flag_by_John_Marcotte svg
Remember our flag lads!

@aveao
Copy link

aveao commented Oct 28, 2020

@lrvick

For those suggesting this is "too far" it really trolls the RIAA more than GitHub.

No, it bothers Github staff, not RIAA.

If you note, GitHub is not running around deleting the thousands of new youtube-dl copies. They deleted the ones listed in the DMCA request. Now it is the burdon of the RIAA to go find and list every single one of these new copies for a new request which is not going to be easy now.

Yes, but now github has to worry because their employees are being impersonated, and it being pushed into stuff like github/dmca means that their own repos might get dmca'd improperly. One could argue that the latter one is good as it means that it gives Github incentive to fix the issues regarding showing commits from other repos.

The impersonation bit is not useful, but also does no harm. That is just there because it is funny, and brings more attention to security and social engineering issues github refuses to fix as a bonus. They -do- deserve to be trolled for security issues they won't fix.

This is literally by design on git. You're not even successfully impersonating them. It clearly says that signature doesn't match. The only way to fix this would be to have a "don't allow pushes with my name without a valid signature" (which I'm all for) or to have a non-standard git change or something, and I don't think any of us want that latter one.

We may also be giving Github the ability to reply to a potential additional report from the RIAA that they literally are unable to rapidly comply due to the volume of the repos being added, and the complexity and removing them from some of the locations they are added.

I'll answer you with you:

For those suggesting this is "too far" it really trolls the RIAA more than GitHub.

If anything we are just complicating the entire process for the RIAA and GitHub to make censorship impractical and likely forcing it into a standoff until the pending lawsuits against the RIAA to fight back against this nonsense run their course.

You're just putting more work on Github employees to try and clean this up by deleting PRs and maybe on RIAA lawyers. Latter part is kinda neat I guess, but...

This is just a non destructive form of protest to make censorship difficult if not impossible. The more people that do it, the less likely the RIAA will have the time or resources to even attempt a round #2.

(This is a reply to last 2 quotes) Let's be honest: This is different from 09f9. This is not about the code. Youtube-dl breaks whenever the website changes, and obviously requires fixes. RIAA took down all maintained repos, and as soon as youtube updates the website, the code that's being passed around will be useless (for YouTube at least). If a new maintained repo pops up with fixes, all RIAA will need to do is take that down. Obviously this can turn into a cat and mouse where a new repo is made after one goes down, but it will still nuke issues and PRs every single time, and this will harm the project.

The best thing one could do for youtube-dl would be to provide them legal support or provide a space for a maintained repo to exist without fear of getting DMCA'd (though that might be illegal, IANAL).

@FanboyStudios
Copy link

Has this been fixed? It's not working for me.

git push -f origin master
Warning: Permanently added the RSA host key for IP address 'xxx.xx.xxx.x' to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

@Mhowser
Copy link

Mhowser commented Oct 29, 2020

@lrvick
Copy link
Author

lrvick commented Oct 29, 2020

@aveao Github does not need to change git itself here. All they need to do is deny pushes if the user.email on your commit does not match the email on the account associated with the ssh key you are using to push. People that want to push code on behalf of other people can use "git commit --author" as designed. Naturally any unsigned commits should still show a red loud warning like browsers show for unsigned (non https) websites.

Also GitHub was asked by the RIAA to take down a specific set of repos which they did. Now the RIAA has to come up with a new (huge and ambiguous) set, but they likely won't because their current set is being challenged in court and they likely don't want to incur further damages because their claim itself is very clearly illegal, not the code. Taking down a project using the clause they did requires the project explicitly market itself for copyright infringement, and they claimed a few test cases is marketing, which they -clearly- knew was bullshit.

The power of DMCA to take down a repo is a double edged sword. You must comply right away on good faith, but if it turns out the claim was fraudulent or misrepresenting facts as the RIAA takedown here was, they can be counter sued for damages. They are going to lose this one.

Github does not have to do anything here but fix their own security bugs. The RIAA is however being sent a strong message that, legal or not, the internet will not stand for censorship of open source code and any attempts to do so will only motivate far more copies than they took down.

In the mean time Youtube-DL development has moved to Gitlab: https://gitlab.com/ytdl-org/youtube-dl

@starlingvibes
Copy link

This is hilarious!

@FanboyStudios
Copy link

https://github.com/github/dmca/tree/301575613bfc161452306db20593c5f5644b4b6f

Uploaded a copy of YouTube-DL and added a little something special to the readme...

@stephen304
Copy link

It's interesting that they've been deleting PRs that pull in ytdl or warez, but not actually deleting the commits. I wonder if their strategy is to just delete PRs that make it easy to find and hope people forget that the commits are still there.

Here is one of the things that was added, where the PR was deleted but the content is still up: https://github.com/github/dmca/blob/ee25b981597634616eafce210df4d67bacf661ff/cool_stuff/github-sources.txt

@davwheat
Copy link

@dashboarder

Go back to the gist and read step 1.

@davwheat
Copy link

davwheat commented Nov 4, 2020

@NobleDraconian
Copy link

This is absolutely comedy gold. 😂

@09F911029D74E35BD84156C5635688plusC0
Copy link

@Zorono
Copy link

Zorono commented Nov 6, 2020

@FanboyStudios
Copy link

LOL!? https://www.zdnet.com/google-amp/article/github-denies-getting-hacked/

Maybe I should contact zdnet and tell them myself about my experience hacking them... that would be hilarious if GitHub then replies denying hard evidence from a few of us.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment