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

简介: 在一次意外中,作者因三年前将测试代码遗忘在GitHub上而遭遇了代码被他人fork的问题。为解决这一危机,作者详细介绍了如何通过GitHub的DMCA下架通知流程安全删除敏感代码,包括处理私人信息和商标侵权的具体步骤。本文不仅提供了实用的操作指南,还强调了及时响应的重要性,帮助读者避免类似风险

前言

🍊缘由

在一个月黑风高的夜晚,正准备休息的我突然接到之前外包老总的亲切问候。一顿输出才知道三年前为了搭建流程化部署,将公司的测试代码放到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 私人信息删除政策申请地址

https://support.github.com/contact/private-information

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

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

  2. Is the content you're reporting copyrighted work that you own?
    🏳️‍🌈翻译:您报告的内容是您拥有的受版权保护的作品吗?

    此处选择【No】(不是)。此处也可选择YES,如果有版权保护可以直接通过【GitHub 商标政策】申请即可

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

    此处根据个人情况选择,若要删除整个库可能审核费劲,若选择删除单独文件则比较好通过。

  4. 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】

  2. 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还需要描述:请附上一份声明,说明您有合法权利代表该组织行事。

  2. How long has the reported content been publicly available?
    🏳️‍🌈翻译:举报的内容公开多久了?

    本狗选择【24+ months】因为是三年前项目了,公开了3年之久了。此处可根据自己实际情况选择即可。

  3. I confirm that I have read the GitHub Private Information Removal Policy
    🏳️‍🌈翻译:我确认我已阅读 GitHub 私人信息删除政策

    此处勾选同意即可

3.申请总览图

4.点击【发送请求】

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


GitHub 商标政策

1.访问GitHub 商标政策申请地址

https://support.github.com/contact/dmca-takedown

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

    此处选择【Yes, I am the copyright holder.】是的,我是版权所有者。

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

    此处选择【No】

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

    此处选择【GitHub】,如果有其他情况可根据实际情况选择

  4. Please describe the nature of your copyright ownership or authorization to act on the owner's behalf.
    🏳️‍🌈翻译:请描述您的版权所有权或授权代表所有者行事的性质。

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

We have software(https://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.

我们有内部开发的软件(https://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.
https://github.com/xxxx/xxxx-trunk
However, the content can still be found in the link below. If personal information is involved, please delete it.
https://github.com/xxxx/xxxx-trunk
https://github.com/xxxx/xxxx-trunk

下列储存库的所有内容已被删除。
https://github.com/xxxx/xxxx
不过,内容还是可以在下面的链接中找到。如涉及个人信息,请及时删除。
https://github.com/xxxx/xxxx
https://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.
https://github.com/xxxx/xxxx
https://github.com/xxxx/xxxx

所有存储库内容。
https://github.com/xxxx/xxxx
https://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】

  2. 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.
https://github.com/xxxx/xxxx-trunk
https://github.com/xxxx/xxxx-trunk

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

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

    此处填入【No】

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

    此处选择【Reported content must be removed】必须删除举报的内容

  3. Do you have the alleged infringer’s contact information? If so, please provide it.
    🏳️‍🌈翻译:您有涉嫌侵权人的联系方式吗? 如果有,请提供。

    此处填入【No】

  4. 勾选确认如下4条信息

我真诚地相信,在侵权网页上使用上述受版权保护的材料未经版权所有者或其代理人或法律授权。
我发誓,根据伪证处罚,本通知中的信息准确无误,并且我是涉嫌侵权的专有权的版权所有者,或被授权代表所有者行事。
我已经考虑了合理使用。
我已阅读并理解 GitHub 的提交 DMCA 删除通知指南。

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

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

  2. Please type your full legal name below to sign this request.
    🏳️‍🌈翻译:请在下方输入您的法定全名以签署此请求。

    此处填入自己的真实名字

3.申请总览图

4.点击【发送请求】

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


🍉3.发送时间

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

😊总结

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

通过此次的意外事故,学习到项目隐私及版权相关知识,并熟悉了DMCA下架政策保障隐私。希望大家以此为戒,永远都用不到这些。

里面有我喜欢的人你能找到吗?

目录
相关文章
|
26天前
|
JSON Kubernetes 安全
找到啦,我们已上车,Github 27000+ star,研发团队必备开源工具项目,真丝滑!!!
Trivy 是一款高效灵活的开源安全扫描工具,支持容器镜像、文件系统、Kubernetes 等多目标扫描,具备快速、易用、集成性强等特点,适用于 DevSecOps 全流程安全检测。
|
12天前
|
人工智能 编解码 JSON
不看后悔!GitHub 开源 MultiTalk .8k star 强大的人语音+图像绑定项目
MultiTalk 是 GitHub 上的开源项目,具备音频驱动、多人对话视频生成功能。支持多路音频与图像绑定,实现高同步唇动与角色互动,适用于教学、虚拟人及短视频创作,已获 8k 星标。
|
12天前
|
安全 数据可视化 项目管理
精品,Github 5000+ star,小型研发团队必备商业开源项目
DooTask 是一款开源在线项目任务管理工具,具备文档协作、流程图、任务分发、IM沟通等功能,支持私有部署与数据加密,已在 GitHub 获得 5000+ 星标,适合中小团队提升协作效率。
|
12天前
|
人工智能 自然语言处理 JavaScript
Github又一AI黑科技项目,打造全栈架构,只需一个统一框架?
Motia 是一款现代化后端框架,融合 API 接口、后台任务、事件系统与 AI Agent,支持 JavaScript、TypeScript、Python 多语言协同开发。它提供可视化 Workbench、自动观测追踪、零配置部署等功能,帮助开发者高效构建事件驱动的工作流,显著降低部署与运维成本,提升 AI 项目落地效率。
|
26天前
|
数据采集 人工智能 搜索推荐
完蛋啦,爆火Github项目,用微信聊天记录打造专属AI数字分身,我都不敢相信!!
WeClone 是一个基于微信或 Telegram 聊天记录微调大语言模型的开源项目,可打造专属 AI 数字分身。支持文本、图片等多模态数据,具备语言风格迁移和语音克隆功能,实现“说话像你”的AI角色。项目提供完整训练流程,支持本地部署,保护隐私,适用于个人数字分身、纪念机器人、客服助手等场景。
154 0
|
26天前
|
存储 人工智能 自然语言处理
让你拥有一个AI大脑,这个32.1k Github项目是你不错的选择,支持PDF、Markdown、代码、视频成为你的知识内容
Quivr 是开源全栈 RAG 平台,助你打造“第二大脑”,支持多文档类型与多种 LLM,实现智能搜索与聊天。具备语义检索、本地部署、隐私保护等功能,适用于个人知识管理与企业知识库,界面简洁易用,是高效智能问答的理想选择。
|
1月前
|
人工智能 数据可视化 开发者
惊艳!GitHub 开发者一键接入!4.2k star 项目 Champ,用一张照片秒变动画
“Champ” 致力于从一张静态人物图生成流畅连续的人体动画,支撑精准姿态控制与形状一致性,其核心思路是将 3D 参数化人体模型(SMPL)引入扩散模型:
|
人工智能 数据安全/隐私保护 计算机视觉
GitHub爆款神器 | IOPaint:21.7k star 开源AI图像修复项目,竟能秒删水印、拓展画幅!
IOPaint 是一款由 Sanster 团队开发的开源图像处理工具,集成多种 SOTA AI 模型,支持图像擦除、对象替换、文本绘制和图像外扩等功能。它操作简便,一键安装,适用于 Windows、macOS、Linux 和 Apple Silicon 系统,适合摄影爱好者、电商从业者及内容创作者使用,大幅提升图像处理效率。
|
5月前
|
开发工具 C++ git
五分钟看懂推送本地项目到 GitHub新手菜鸡
五分钟看懂推送本地项目到 GitHub新手菜鸡
|
5月前
|
人工智能 数据可视化 前端开发
自学软硬件工程师776天精简版github项目同步推送步骤
注意 这篇文章不是水内容的,虽然我之前也写过 github推送同步的内容。

热门文章

最新文章