一、 前言
在企业安全中,常有安全意识薄弱的员工将企业核心代码上传到了GitHub,可是当上传者无法及时定位又需要快速的删除这些代码时,GitHub提供了两个协议,用于保护被侵权者的利益。其一是大家熟知的DMCA协议,当整个仓库涉及侵权时使用,还有一个是敏感数据删除协议,当部分敏感信息(比如密码)被发布在github上时使用。
本文就将针对这两个协议做详细介绍,以及给出英文模板,以供快速的响应敏感代码泄露事件。
二、 GitHub DMCA Takedown 协议
DMCA即Digital Millennium Copyright Act,中文翻译为《数字千年版权法》,用于用户在版权遭到侵犯时的申述,DMCA定义了申述后对开发者的通知和删除规则。DMCA提供了:
1、版权所有者要求删除内容的通知程序
2、当内容因错误或错误识别而被删除时,用户可通过反通知程序重新启用内容
官方对以上两个操作的解释为:
DMCA的删除通知被版权所有者用来要求GitHub删除他们认为是侵权的内容。如果你是一名软件设计师或开发人员,你每天都会创建受版权保护的内容。如果其他人在GitHub上以未经授权的方式使用您的版权内容,您可以向我们发送DMCA删除通知,要求更改或删除侵权内容。
另一方面,反通知可以用来纠正错误。也许发送删除通知的人没有版权,或者没有意识到您有许可证,或者在他们的删除通知中犯了其他一些错误。由于GitHub通常无法知道是否有错误,DMCA计数器通知允许您让我们知道并要求我们将内容放回去。
DMCA通知和删除程序只适用于有关版权侵犯的投诉。通过我们的DMCA程序发送的通知必须识别版权作品或被指控侵权的作品。该程序不能用于其他投诉,如对涉嫌商标侵权或敏感数据的投诉;我们为这些情况提供单独的流程。
DMCA的通知程序步骤如下:
1、著作权人调查,由版权所有者进行初步调查,确认他们拥有原创作品的版权
2、版权所有者发出通知,调查完成后,版权所有者向GitHub发送一个删除通知,如果删除通知根据法定要求(https://help.github.com/en/articles/guide-to-submitting-a-dmca-takedown-notice)足够详细,GitHub会将通知发布到公共仓库中,并将链接传递给受影响的用户
3、GitHub要求用户整改,如果删除通知中表示仓库中所有内容都收到了侵犯,GitHub将跳过第6步,迅速禁用整个仓库,否则GitHub不能禁用仓库中特定文件的访问。GitHub将与创建仓库的用户联系,并给他们大约24小时的时间来删除或修改通知中的指定内容,并且这个步骤会通知版权所有者
4、用户必须根据删除通知的内容进行整改,如果24小时内没有完成整改并通知GitHub,则会被禁用仓库
5、版权所有人修改或撤回删除通知。如果用户做出了整改,版权所有者不许对其进行审查,如果整改不足,则必须更新或修改其删除通知。这一步GitHub不会采取任何进一步的行动,除非版权所有者联系GitHub更新原始的删除通知。如果版权所有者对整改满意,可以向GitHub提交正式的撤回声明,或者什么也不做。GitHub将把超过2周的沉默解读为默认撤回删除通知
6、GitHub可能会禁止对内容的访问。如果版权所有者声称对用户的整个仓库拥有版权(如步骤3所述),GitHub将禁用用户的内容;如第4步所述,使用者在获给予更改的机会后,并无作出任何更改;或在用户有机会作出更改后,版权拥有人已更新其删除通知。如果版权所有者选择修改通知,我们将回到步骤2,并重复这个过程,就像修改后的通知是一个新的通知一样。
7、用户可以发送反通知。GitHub鼓励那些内容被禁用的用户向律师咨询他们的选择。如果用户认为他们的内容因错误或错误识别而被禁用,他们可以向GitHub发送反通知。与最初的通知一样,若确保反通知足够详细,GitHub将把它发布到我们的公共存储库中,并通过发送链接将通知返回给版权所有者。
8、著作权人可以提起诉讼。如果版权所有者希望在收到反通知后禁用该内容,他们将需要发起法律行动,寻求法院命令,以阻止用户从事与GitHub上的内容相关的侵权活动。换句话说,你可能会被起诉。如果版权所有者在10-14天内没有通知GitHub,则通过向有管辖权的法院提交一份有效的法律投诉副本,GitHub将重新启用被禁用的内容。
特别要说明的,如果版权所用者认为fork也侵犯了版权,那么需要在删除通知中明确包含fork。
GitHub会在https://github.com/github/dmca中公布任何收到的法律通知(包括原始通知、反通知或者撤销)的修订副本,且会删除来源信息的联系方式。
2.1、如何提交DMCA删除通知
在DMCA删除通知中,需要包含:
1、“我已阅读并理解GitHub提交DMCA通知的指南。” "I have read and understand GitHub's Guide to Filing a DMCA Notice."
2、认证你认为被侵犯的版权作品。如果您已经发布了您的作品,您可能只需要链接回它所在的web页面。如果它是专有的而不是发布的,您可以描述它并解释它是专有的。如果你已经在版权局注册了,你应该包括注册号码。如果你声称托管的内容是对你作品的直接、文字复制,你也可以解释这个事实。
3、确认你所指控的材料侵犯了受版权保护的作品。
4、解释受影响的用户需要做什么来补救侵权。
5、提供你的联系方式。包括你的电子邮件地址,姓名,电话号码和实际地址。
6、如果你知道的话,为涉嫌侵权者提供联系方式。
7、“我深信在侵权网页上使用上述受版权保护的资料,并不获版权拥有人、其代理人或法律的授权。我已经考虑了合理使用。”I have a good faith belief that use of the copyrighted materials described above on the infringing web pages is not authorized by the copyright owner, or its agent, or the law. I have taken fair use into consideration."
8、“我宣誓,在伪证的惩罚下,本通知中的信息是准确的,我是版权所有人,或被授权代表版权所有人,对据称受到侵犯的专有权采取行动。” "I swear, under penalty of perjury, that the information in this notification is accurate and that I am the copyright owner, or am authorized to act on behalf of the owner, of an exclusive right that is allegedly infringed."
上方内容编辑好以后,最快的方式是通过https://github.com/contact/dmca来提交。
或发送到邮箱[email protected],如果需要寄件,可以使用下方地址:
GitHub, Inc
Attn: DMCA Agent
88 Colin P Kelly Jr St
San Francisco, CA. 94107
DMCA删除通知通用模板
斜体字为https://github.com/contact/dmca链接中提出的问题以及中文翻译(有错误请指正)
**Are you the copyright owner or authorized to act on the copyright owner’s behalf?**
你是版权拥有者或代表版权拥有者的行事吗?
Yes.I am at (公司名字) and its product (产品名称或项目的称呼) and authorized to act on their behalf.
**Please provide a detailed description of the original copyrighted work that has allegedly been infringed. If possible, include a URL to where it is posted online.**
请提供一份据称已被侵权的原创版权作品的详细描述。如果可能的话,包括一个在线发布的网址。
(泄露的软件名称)is a software product available at the urls. It is a commercial product and it's code is fully copyrighted and owned by (公司名字).
https://(公司官方链接或者能够证明作品的在线链接)
**What files should be taken down? Please provide URLs for each file, or if the entire repository, the repository’s URL:**
哪些文件应该被删除?请提供每个文件的链接,如果是整个存储库的话则提供存储库的链接
复制需要删除的文件GitHub链接 https://github.com/xxxx
**Have you searched for any forks of the allegedly infringing files or repositories? Each fork is a distinct repository and must be identified separately if you believe it is infringing and wish to have it taken down.**
你是否搜寻过涉嫌侵权的文件或资料库的任何forks? 每个fork都是一个不同的存储库,如果您认为它是侵权的,并且希望删除它,则必须单独标识它。
No forks were found.
(如果有fork的话需要将链接也贴上并标记是fork)
Yes, there are X forks, and the whole repository of each fork must be deleted:
https://github.com/xxx
htts://github.com/xxx)
**Is the work licensed under an open source license? If so, which open source license? Are the allegedly infringing files being used under the open source license, or are they in violation of the license?**
您的作品是否有开源许可授权? 哪个开源许可?这些涉嫌侵权的文件是在开源许可下使用的,还是违反了你的许可呢?
No, there is no open source license. 如果有开源许可的话,需要附上开源许可的链接,并指出涉嫌侵权的代码是违反了许可中的什么规定
**What would be the best solution for the alleged infringement? Are there specific changes the other person can make other than removal? Can the repository be made private?**
对于所谓的侵权行为,最好的解决办法是什么?除了删除,其他人还能做哪些具体的改变?是否可以将存储库设置为私有?
The best possible solution would be to remove the content permanently.
**Do you have the alleged infringer’s contact information? If so, please provide it:**
你有涉嫌侵权者的联络资料吗?如果是,有的话请提供:
No, the author didn't provide any valid information.
**Type (or copy and paste) the following statement: "I have a good faith belief that use of the copyrighted materials described above on the infringing web pages is not authorized by the copyright owner, or its agent, or the law. I have taken fair use into consideration."**
输入(或复制和粘贴)以下声明:“我有诚意相信,在侵权网页上使用上述受版权保护的材料是未经版权所有者、其代理人或法律授权的。我考虑过合理使用。
原话输入即可
**Type (or copy and paste) the following statement: "I swear, under penalty of perjury, that the information in this notification is accurate and that I am the copyright owner, or am authorized to act on behalf of the owner, of an exclusive right that is allegedly infringed."**
输入(或复制和粘贴)以下声明:“我宣誓,在伪证的惩罚下,本通知中的信息是准确的,我是版权所有人,或被授权代表版权所有人,就涉嫌侵犯的专有权采取行动。
原话输入即可
**Please confirm that you have you have read our Guide to Submitting a DMCA Takedown Notice: https://help.github.com/articles/guide-to-submitting-a-dmca-takedown-notice/**
请确认您已经阅读了我们提交DMCA撤单通知的指南:https://help.github.com/articles/guide-to-submitting-a-dmca-takedown-notice/
Yes, I have read the guide.
**So that we can get back to you, please provide either your telephone number or physical address:**
为方便我们与您联系,请提供您的电话号码或实际地址:
**Please type your full legal name below to sign this request:**
请在输入您的全名以签署此请求:
XXXX
DMCA删除通知邮件模板
Dear github.com,
I, XXX(姓名), member of security team of (公司名字) and as authorized by (公司名字), hereby submit the DMCA take down notice as below.
We found that our product core code were leaked on your website. After careful review of relevant posts, our security team is able to confirm that all these posts contain our source code and confidential information (e.g., system configuration, secret key, database address, etc.)(如果是泄露其他的重要数据可以修改这里的距离) that were published without appropriate authorization and thus are infringing.
In consideration of significance and urgency of the aforesaid matters, we request that you pay serious attention to this letter and respond in a timely manner as requested.
The materials infringing company's rights mentioned above are to be found in particular on the following links:
http://github.com/xxx
http://github.com/xxx
http://github.com/xxx
According to the requirements in the Guide to Submitting DMCA Take Down NoticeI render the statements as below:
I have a good faith belief that use of the copyrighted materials described above on the infringing web pages is not authorized by the copyright owner, or its agent, or the law. I have taken fair use into consideration.
I swear, under penalty of perjury, that the information in this notification is accurate and that I am the copyright owner or am authorized to act on behalf of the owner, of an exclusive right that is allegedly infringed.
I confirm that I have read and understand GitHub’s Guide to Filing a DMCA Notice.
If there’s any questions, please feel free to contact me via the information below:
Contact information:
Name: xxx
My e-mail Address: [email protected]
Cellphone: xxxx
Company Address:
(公司地址)
Website: (公司网址)
Thank you for your understanding.
三、GitHub敏感数据删除协议
GitHub上可能会出现密码泄露或者数据泄露的情况,当这种情况不适用DMCA时,GitHub向受损方提供敏感数据删除协议。
GitHub定义敏感数据为:
敏感数据指本应保密的内容以及其公开可能对个人或组织构成特定或有针对性的安全风险的内容。敏感数据删除要求适用于:
1、访问凭据:例如用户名与密码、访问令牌或其他敏感机密相结合,这些机密可以授予对组织的服务器、网络或域的访问权。AWS令牌和其他类似的访问凭据,它们授予对第三方的访问权,但需要表明该令牌的所属权;
2、对组织构成特定安全风险的文档:例如网络图。内部服务器名称、IP地址和url本身不够敏感,必须能够显示在特定文件或代码段中使用内部服务器名称会造成安全威胁。
3.1、如何提交敏感数据删除请求
请求内容需要包含:
1、指向包含敏感数据的每个文件的可单击的可用链接。
2、每个文件中包含敏感数据的特定行号。
3、简要描述已标识的每个项如何对您或您的组织构成安全风险。重要的是,您必须解释数据是如何构成安全风险的,而不仅仅是说数据存在安全风险。
4、如果您是作为面临安全风险的组织的代理的第三方,请提供一份声明,说明您有权代表该组织行事。
5、可选:如果您的请求特别紧急,请告知原因。我们会尽快回应所有敏感的资料移除要求。但是,如果这个请求对时间特别敏感,例如最近的凭证暴露,请解释原因。
上方内容编辑好以后,通过电子邮件的方式发送到[email protected]
3.2、敏感数据删除模板
邮件标题:[urgent]Sensitive data removel request by 公司名字
邮件内容:
Dear github.com,
We are writing this letter on behalf of 公司名字.
We found sensitive data of our company leaked on your website. It contains access credentials which can grant access to our product's nerwork and server.
Sensitive data found at th following locations:
http://github.com/xxxx line XX-XX
http://github.com/xxxx line XX-XX
fork:http://github.com/xxxx
That put us at great risk. Accordingly, we request github.com confirms with author and remove the sensitive data.
Any further inquiries can be directed to us. Please include this message with your inquiry to ensure a quick response.
Contact information:
Name: xxx
My e-mail Address: [email protected]
Cellphone: xxxx
Company Address:
(公司地址)
Website:(公司官网)
Thank you for your understanding.
至此,两个删除协议就介绍完了,多谢阅读。
参考链接:
https://help.github.com/en/articles/dmca-takedown-policy#f-submitting-notices
https://help.github.com/en/articles/github-sensitive-data-removal-policy#sending-a-sensitive-data-removal-reques