一、忽略.gitignore文件
Git可以通过.gitignore文件指定哪些不需要被版本控制的文件或目录,例如临时文件、日志文件、编译生成的二进制文件等。然而,有些开发者会将.gitignore文件本身或者其中的某些规则提交到Github上,这就会导致敏感文件或目录被意外地上传到了仓库中。1、应该在本地创建.gitignore文件,并在其中添加需要排除的文件或目录,例如:
*.log
*.pyc
__pycache__/
build/
dist/
2、确认.gitignore文件不存在于版本控制中:
$ git rm -r --cached .
3、确认.gitignore文件没有被误删除:
$ git ls-files --others --ignored --exclude-standard
二、公开敏感信息
在Github上提交代码时,有时会包含敏感信息,例如API密钥、密码、数据库连接字符串等。如果不小心将这些信息提交到Github上,将会给自己、组织或者用户带来巨大的安全风险。1、应该在代码库中搜索可能存在的敏感信息。Github提供了名为TruffleHog的工具,可以自动扫描代码库中的敏感信息,并将其列出:
$ pip install trufflehog
$ trufflehog --entropy=True --regex --rules=trufflehog_customrules.json https://github.com/my-username/my-repo.git
其中trufflehog_customrules.json文件是自定义规则的json文件,例如:
{
"example-api-key":{
"regex": "(?P<api_key>[sk][a-zA-Z0-9]{32})"
},
"example-aws-secret-access-key":{
"regex": "(?P<aws_secret>[A-Za-z0-9/+=]{40})"
}
}
2、应该在仓库设置中添加Secrets,将敏感信息加密并保存。Secrets只能在工作流程或Action中使用,并且不会被包含在发布存档中,例如:
env:
PASSWORD: ${{ secrets.PASSWORD }}
三、公开贡献者信息
Github上创建一个代码库后,可以允许其他用户进行贡献,例如提交代码、回答问题、提出问题等。然而,默认情况下,Github会将贡献者的用户名、电子邮件和提交时间等信息全部公开,这可能涉及到用户的隐私问题。1、应该在代码库的根目录添加CONTRIBUTING.md文件,详细说明如何做出贡献,并提供代码复查和问题答复的流程:
## 如何贡献
欢迎您贡献代码、提交问题和提出改进意见。在提交之前,请阅读以下说明:
1. Fork代码仓库并创建一个本地克隆。
2. 创建一个新的分支并在其中进行更改。
3. 将更改推送到您的Fork中。
4. 创建一个拉取请求并描述您所做的更改。
5. 等待我们进行代码审查并确认您的更改。
2、应该在仓库设置中启用Require signed commits选项,确保贡献者提交的每个commit都被PGP签名。这可以避免篡改commit作者的情况发生。
以上是Github隐私设置错误的几个方面,关注自己的隐私,并采取措施去保护自己的知识产权和个人隐私。同时,也要提醒他人在使用Github时注意这些方面,共同构建更安全、更受信任的开源社区。