开源博客的潜在信息泄露风险

110 天前
jqknono  jqknono

常用的开源平台 GitHub Pages 比较受欢迎,其要求公开仓库才允许公开访问。但仓库公开后,一些标记为草稿的文章也可以从 Git 仓库访问到。

开源博客可能会泄露个人信息,以下是一些常见的信息泄露关键词,欢迎评论补充。

敏感词

中文敏感词:

英文关键词:

正则搜索:

(密码|账号|身份证|银行卡|支付宝|微信|手机号|家庭住址|工作单位|社保卡|驾驶证|护照|信用卡|username|password|passwd|account|key\s*:|\.ini|credential|card|bank|alipay|wechat|passport|id\s*:|phone|address|company|jwt)

如果使用 VSCode 作为博客编辑器,可以使用正则搜索快速进行全站搜索,检查可能泄露信息的位置。

Git 历史

Git 历史可能包含信息泄露,通过简单的脚本即可扫描开源博客的历史提交信息。

如果是自己的仓库,可以通过以下方式清除历史。如果需要保留历史信息,则不要清除。

请务必确认理解命令含义,谨慎操作,操作前请备份重要数据。

git reset --soft ${first-commit}
git push -f
4856 次点击
所在节点    程序员
43 条回复
lisxour
109 天前
pages 就不是这么给你们玩的
gpt5
109 天前
充值即可
E263AFF275EE4117
109 天前
@liuidetmks @bruce0 我在思考一个问题,就是说 Markdown 在私有仓库,页面的 Page 发布到公开仓库,否可以通过克隆你 Page 的公开仓库,从而把已发布的 Page 页面搬迁到我的站点去,从而使得你之前编辑的文档博客,我自己也能发布一份,从而窃取你的知识内容。
但是我也进入一个悖论,及时我通过 GitHubPro 的私有仓库发布的 Page 页面,在互联网上也是公开的,不存在说知识内容的不可见。只是一个区别,我的 Git 提交的 history 历史记录对外不可见。
gledos
109 天前
@lisxour You can use GitHub Pages to showcase some open source projects, host a blog, or even share your résumé.

GitHub 官网是这么说的: https://docs.github.com/en/pages/quickstart
BadFox
109 天前
hexo 的做法好像是本地渲染成 html 再上传。
BadFox
109 天前
@E263AFF275EE4117 偷文章的情况很常见的,独立 blog 经常碰到这种情况。
jqknono
109 天前
@E263AFF275EE4117 写博客就是为了分享, 一起讨论成长, 不要吝惜自己的知识, 我写这篇就是觉得这么点关键词远远不够, 在评论里学到了很多. 多数时候个人的知识肯定比不上群体的知识, 把自己有限的知识当作珍宝只会变得狭隘. 更何况天下文章一大抄, 又有几篇是原创.
ifwww
109 天前
直接把源码推到私有仓库然后用 vercel 自动云端渲染就好
lambdaq
109 天前
@cosette activity 只有摘要没有详细信息。。。。吧?


@BadFox 那本地这一份丢了就麻烦了。
cosette
109 天前
@lambdaq 点右边三个点,看 compare changes ,这个功能跟本地的 reflog 有点类似,不过似乎不会保留全部的记录,有时间限制。
Libby520
109 天前
我刚刚把几年前的东西全新部署了一个博客,用的是开源的 Textpattern ,不知道有没用你说的风险
http://www.dutype.com/
lambdaq
109 天前
@cosette 啊这。我好像记起来了,的确 github 有 reflog 删不干净的问题 。只要 sha1 被人记下了就永远在。。
bruce0
109 天前
@E263AFF275EE4117 不同克隆我的 page 仓库都能窃取内容, 直接用爬虫爬我的博客就行, 怎么说呢, 能分享出来的东西就不怕别人窃取, 如果爬被别人窃取的东西就别分享出来.

我最烦的就是 自己写一篇文章, 还要关注公众号才能阅读全文, 虽然说这是他的权利,就是有点烦人,还不如直接付费阅读算了
jqknono
109 天前
@Libby520 很文艺的博客, 文笔挺好, 很久没看这样的文章了
dfkjgklfdjg
109 天前
之前在考虑自动部署的时候就考虑到了,所以没有用单仓库自动部署的方式。
而是一个私有仓库来管理 md 文件,私有仓库推送时自动编译在把编译的 SSG 产物同步到公共仓库,来更新 Github Pages 的形式。
E263AFF275EE4117
109 天前
@jqknono @bruce0 好的,谢谢,思维认知又提高了一点。是的,我写博客的知识内容也是从互联网获取的,一方面是自己的知识储备,另一方面也是分享传播。目前就在写博客的时候尽量避免自己暴露敏感信息,毕竟互联网上是我们能做的最多是防君子不防小人的。
fengpan567
109 天前
之前公司的测试同时把 aws 的秘钥传到 github 上,被刷了十几万
windcode
109 天前
我是这么玩的:blog repo 设置为 private + vercel 自动发布新内容,其中还没准备好的内容通过类似 draft: true 这样的 markdown frontmatter 控制是否公开。
博客文章内容编辑使用 Obsidian 或者 Cursor ,这样 写博客和记笔记 的行为就完全一致,只不过写博客多了个将 draft: true 去掉的步骤。
xcsoft
109 天前
还好我是 Vercel + Bitbucket
lveye
109 天前
有个简单的方案可以解决这个问题:利用 git Hooks 脚本机制,预提交钩子( pre-commit ):可以检查代码规范,禁止提交不合格代码。比如下边这样,vi .git/hooks/pre-commit
```
#!/bin/sh

# 检查是否有不符合正则的代码
invalid_code=$(git diff --cached --name-only --diff-filter=ACM | grep '\.go$' | xargs -I {} grep -Hn -E "不允许的正则" {})

if [ -n "$invalid_code" ]; then
echo "提交失败:发现不符合要求的代码"
echo "$invalid_code"
exit 1 # 返回非零状态,阻止提交
fi

exit 0 # 返回零状态,允许提交
```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1088970

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX