前言

缘由

在一个月黑风高的夜晚,正准备休息的我忽然接到之前外包老总的亲切问候。一顿输出才知道三年前为了建立流程化布置,将公司的测试代码放到github上后忘记删去。现在被甲方的代码扫描机制扫到,而且检查到代码已经被其他用户fork,虽没有形成损失,但要求清除github一切数据及被fork的代码。以此为戒,特来跟我们共享一下处理流程,重点是GitHub的DMCA 下架告诉提交攻略


⏲️本文阅览时长

约10分钟


主要方针

  1. 熟悉GitHub的DMCA 下架告诉提交攻略
  2. 代码涉密别人fork如何在GitHub安全下架
  3. 掌握申述流程申述时刻点把控

正文

1.判断方针分类

DMCA 下架方针包括如下两种,依据自己状况如是挑选。

1.GitHub 私家信息删去方针

“私家信息”是指契合以下条件的内容:应该保密,而且一旦揭露,会对您或您的安排形成特定安全危险。

文言:浅显来讲便是没有版权,触及到个人私密的文件。假如想删去库中单个文件审阅比较轻松,若是想删去整个库或许难度较大。所需资料如下:

  1. 可拜访您安排的服务器、网络或域的拜访凭据,例如用户名与暗码组合、拜访令牌或其他灵敏密钥
  2. 可代表您拜访第三方的 AWS 令牌和其他相似拜访凭据。 您有必要能够证明该令牌的确归于您。
  3. 对安排构成特定安全危险的文档(例如网络图或架构)。
  4. 与您个人相关并对您构成安全危险的信息(如社会保证号码或其他政府身份号码)。

2.GitHub 商标方针

在运用公司或企业称号、徽标或其他受商标维护的资料时,假如运用方法或许使他人对品牌或业务从属关系产生误解或感到困惑,则此类运用或许被视为违背商标方针。

文言:浅显来讲便是侵犯到版权,被人告发侵权等,此审阅所需资料较多,如下:

  1. 被告发帐户的用户名
  2. 贵公司称号
  3. 您的公司 GitHub 帐户(假如有)
  4. 公司网站
  5. 您商标中运用的词语、符号等。
  6. 商标注册号
  7. ……等等

2.处理步骤

GitHub 私家信息删去方针

1.拜访GitHub 私家信息删去方针恳求地址

support.github.com/contact/pri…

【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私

2.解析每条问题如何挑选及回复
  1. Company GitHub account (if applicable) ️‍翻译:公司 GitHub 帐户(假如适用)

此处挑选【Not Applicable/Other】(不适用/其他)

  1. Is the content you’re reporting copyrighted work that you own? ️‍翻译:您陈述的内容是您拥有的受版权维护的著作吗?

此处挑选【No】(不是)。此处也可挑选YES,假如有版权维护能够直接经过【GitHub 商标方针】恳求即可

  1. Is your request related to a full repository or a specific file(s)? ️‍翻译:您的恳求与完整存储库或特定文件相关吗?

此处依据个人状况挑选,若要删去整个库或许审阅费力,若挑选删去独自文件则比较好经过。

  1. Please identify the content you are reporting. Select all that apply. ️‍翻译:请指明您告发的内容。 挑选一切契合条件的。

此处依据个人状况挑选,其中包括如下5种选项,切记假如勾选,请把项目中触及的灵敏内容详细分布及多少行写清楚,有助于审阅经过

  • Access Credentials.【拜访凭据】
  • AWS tokens and other similar access credentials.【AWS 令牌和其他相似的拜访凭据】
  • Documentation (such as network diagrams or architecture) that poses a specific security risk for an organization. 【对安排构成特定安全危险的文档】
  • Information related to, and posing a security risk to, you as an individual (such as social security numbers or other government identification numbers).【与您个人相关并构成安全危险的信息(例如社会安全号码或其他政府身份证号码)】

举个本狗恳求比方,本人勾选了Access Credentials,然后填写了详细内容

It contains a lot of private information.
For example, the application-prod.yml configuration file under the path /src/main/resources/contains personal private database configuration information (address, account, password). For example, the sixth line of the application-prod.yml file contains the url of the database, and the seventh and eighth lines contain the database account password username: hrgc, password: xxx xxx. For another example, line 70 contains the key information of my bug component apikey: xxx.Also, in/src/main/java/com/xxx/user/api/XXXApi.java, line 12 and 13 contain the KEY and SECRET required by the user center, completely exposing private information. Others can break my server and database information through the information in the application-prod.yml file, which involves personal privacy and constitutes a security risk.
All contents of the following repository have been deleted.
https://github.com/xxxx/xxxx
However, the content can still be found in the link below. If personal information is involved, please delete it.
https://github.com/xxx/xxxxx-trunk
https://github.com/xxx/xxxxx-trunk

翻译如下

它包括许多私家信息。
例如/src/main/resources/途径下的application-prod.yml装备文件包括个人私有数据库装备信息(地址、账号、暗码)。 例如application-prod.yml文件第六行包括数据库的url,第七行和第八行包括数据库账号暗码username:hrgc,password:xxx xxx。 再比方,第70行包括了我的bug组件apikey的关键信息:xxx.别的,在/src/main/java/com/xxx/user/api/XXXApi.java中,第12行和13行包括了需求的KEY和SECRET 经过用户中心,彻底暴露隐私信息。 其他人能够经过application-prod.yml文件中的信息破解我的服务器和数据库信息,触及个人隐私,存在安全隐患。
以下存储库的一切内容已被删去。
https://github.com/xxxx/xxxx
可是,依然能够鄙人面的链接中找到内容。 如触及个人信息,请删去。
https://github.com/xxx/xxxxx-trunk
https://github.com/xxx/xxxxx-trunk
  1. Have you attempted to contact the GitHub user(s) who uploaded the sensitive data? ️‍翻译:您是否测验联络上传灵敏数据的 GitHub 用户?

此处依据个人状况挑选,问询是否自己测验联络过fork自己代码的GitHub用户,无关紧要,本狗挑选【No】

  1. Is the request particularly time-sensitive? ️‍翻译:该恳求是否对时刻特别灵敏?

问询是否着急,对时刻要求紧。本狗挑选【No】假如写Yes还需求描绘:陈述的数据暴露了多长时刻? 您是否能够共享任何您以为会使此恳求特别紧迫的信息?

  1. Are you a third party acting as an agent for an organization facing a security risk? ️‍翻译:您是作为面临安全危险的安排的署理的第三方吗?

本狗挑选【No】假如写Yes还需求描绘:请附上一份声明,说明您有合法权利代表该安排行事。

  1. How long has the reported content been publicly available? ️‍翻译:告发的内容揭露多久了?

本狗挑选【24+ months】由于是三年前项目了,揭露了3年之久了。此处可依据自己实践状况挑选即可。

  1. I confirm that I have read the GitHub Private Information Removal Policy ️‍翻译:我承认我已阅览 GitHub 私家信息删去方针

此处勾选同意即可

3.恳求总览图

【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私

4.点击【发送恳求】

假如成功GitHub会回执一分邮件,告知你已经接受到

【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私


GitHub 商标方针

1.拜访GitHub 商标方针恳求地址

support.github.com/contact/dmc…

2.解析每条问题如何挑选及回复
  1. Are you the copyright holder or authorized to act on the copyright owner’s behalf? ️‍翻译:您是版权一切者或授权代表版权一切者行事吗?

此处挑选【Yes, I am the copyright holder.】是的,我是版权一切者。

  1. Are you submitting a revised DMCA notice after GitHub Trust & Safety requested you make changes to your original notice? ️‍翻译:在 GitHub Trust & Safety 要求您更改原始告诉后,您是否提交了修订后的 DMCA 告诉?

此处挑选【No】

  1. Does your claim involve content on GitHub or npm.js? ️‍翻译:您的声明是否触及 GitHub 或 npm.js 上的内容?

此处挑选【GitHub】,假如有其他状况可依据实践状况挑选

  1. Please describe the nature of your copyright ownership or authorization to act on the owner’s behalf. ️‍翻译:请描绘您的版权一切权或授权代表一切者行事的性质。

此处进行填入自己版权所属权的相关信息,如下包括示例及翻译

We have software(github.com/xxxx/xxxx) that was developed in-house and one of our developers uploaded it to GitHub and made it public. We notified this former employee who promptly deleted the content, but anothers has a copy. We made contact for deletion, but he did not respond to our messages.It contains a lot of private information. For example, the application-prod.yml configuration file under the path/src/main/resources/contains personal private database configuration information (address, account, password). For example, the sixth line of the application-prod.yml file contains the url of the database, and the seventh and eighth lines contain the database account password username: hrgc, password: xxx 123. For another example, line 70 contains the key information of my bug component apikey: xxxx.Also, in/src/main/java/com/xxxx/user/api/ProductsApi.java, line 12 and 13 contain the KEY and SECRET required by the user center, completely exposing private information. Others can break my server and database information through the information in the application-prod.yml file, which involves company privacy and constitutes a security risk.

我们有内部开发的软件(github.com/xxxx/xxxx),… GitHub 并揭露。 我们告诉了这位前雇员,他当即删去了内容,但其他人有一份副本。 我们联络删去,他没有回复我们的消息,里边有许多隐私信息。 比方途径/src/main/resources/下的application-prod.yml装备文件包括个人私有数据库装备信息(地址、账号、暗码)。 例如application-prod.yml文件第六行包括数据库的url,第七行和第八行包括数据库账号暗码用户名:hrgc,暗码:xxx 123。再比方第70行包括key 我的bug组件apikey的信息:xxxx.别的,在/src/main/java/com/xxxx/user/api/ProductsApi.java中,第12行和第13行包括了用户中心需求的KEY和SECRET,完全暴露了隐私信息 . 其他人能够经过application-prod.yml文件中的信息破解我的服务器和数据库信息,触及公司隐私,存在安全隐患。

  1. 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. ️‍翻译:请供给涉嫌侵权的原始版权著作的详细描绘。 假如或许,包括在线发布的 URL。

此处进行填入自己代码仓库地址及别人fork之后的地址清单,如下包括示例及翻译

All contents of the following repository have been deleted. github.com/xxxx/xxxx-t… However, the content can still be found in the link below. If personal information is involved, please delete it. github.com/xxxx/xxxx-t… github.com/xxxx/xxxx-t…

下列储存库的一切内容已被删去。 github.com/xxxx/xxxx 不过,内容仍是能够鄙人面的链接中找到。如触及个人信息,请及时删去。 github.com/xxxx/xxxx github.com/xxxx/xxxx

  1. What files should be taken down? Please provide URLs for each file, or if the entire repository, the repository’s URL. ️‍翻译:应该删去哪些文件? 请供给每个文件的 URL,或许假如是整个存储库,请供给存储库的 URL。

此处填入想要删去的分支或许被fork的仓库的途径,若想删去独自文件,可供给独自文件的URL

All repository content. github.com/xxxx/xxxx github.com/xxxx/xxxx

一切存储库内容。 github.com/xxxx/xxxx github.com/xxxx/xxxx

  1. Do you claim to have any technological measures in place to control access to your copyrighted content? Please see our Complaints about Anti-Circumvention Technology if you are unsure. ️‍翻译:您是否声称已采取任何技能措施来控制对您受版权维护的内容的拜访? 假如您不确定,请参阅我们关于反规避技能的投诉。

此处填入【No】

  1. 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. ️‍翻译:您是否搜索过涉嫌侵权的文件或存储库的任何分支? 每个分支都是一个不同的存储库,假如您以为它侵权并希望将其删去,则有必要独自标识。

此处填入你搜索过想要删去的其他分支及fork侵权的仓库地址

No forks have been identified other than the one below. github.com/xxxx/xxxx-t… github.com/xxxx/xxxx-t…

除下面的fork外,没有发现其他fork。 github.com/xxxx/xxxx github.com/xxxx/xxxxx

  1. Is the work licensed under an open source license? ️‍翻译:该著作是否在开源许可下获得许可?

此处填入【No】

  1. What would be the best solution for the alleged infringement? ️‍翻译:关于涉嫌侵权的最佳解决方案是什么?

此处挑选【Reported content must be removed】有必要删去告发的内容

  1. Do you have the alleged infringer’s contact information? If so, please provide it. ️‍翻译:您有涉嫌侵权人的联络方法吗? 假如有,请供给。

此处填入【No】

  1. 勾选承认如下4条信息
    【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私

我真诚地信任,在侵权网页上运用上述受版权维护的资料未经版权一切者或其署理人或法律授权。 我发誓,依据伪证处分,本告诉中的信息准确无误,而且我是涉嫌侵权的专有权的版权一切者,或被授权代表一切者行事。 我已经考虑了合理运用。 我已阅览并理解 GitHub 的提交 DMCA 删去告诉攻略。

  1. So that we can get back to you, please provide either your telephone number or physical address. ️‍翻译:为了便于我们回复您,请供给您的电话号码或实践地址。

此处填入自己的邮箱或许电话号码

  1. Please type your full legal name below to sign this request. ️‍翻译:请鄙人方输入您的法定全名以签署此恳求。

此处填入自己的真实姓名

3.恳求总览图

【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私

4.点击【发送恳求】

假如成功GitHub会回执一分邮件,告知你已经接受到

【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私


3.发送时刻

因GitHub是漂亮国所属,人工审阅依照他们上班时刻处理,与我们时刻相差十个小时左右,所以建议晚上八点后发送,如命运好则会24点前收到回复,再依据回复内容修改不契合要求内容。若不想熬夜则第二天再次检查即可,切勿着急!!!着急也没用,命运好一般审阅的时刻差在4个小时左右。

总结

程序员删库跑路单作,结局大概是要吃牢饭!

经过此次的意外事故,学习到项目隐私及版权相关知识,并熟悉了DMCA下架方针保证隐私。希望我们以此为戒,永久都用不到这些。

【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私

JavaDog 狗屋地址
个人博客 blog.javadog.net
公众号 mp.weixin.qq.com/s/_vgnXoQ8F…
CSDN blog.csdn.net/baidu_25986…
掘金 /user/217229…
知乎 www.zhihu.com/people/Java…
简书 www.jianshu.com/u/1ff9c6bdb…
gitee gitee.com/javadog-net
GitHub github.com/javadog-net