2026 年 4 月 23 日 星期四
  • 登录
  • 注册
周天财经
广告
  • 首页
  • 24 小时
  • 世界
  • 商业
  • 基金
  • 期货
  • 股票
  • 行业新闻
  • 黄金
没有结果
查看所有结果
  • 首页
  • 24 小时
  • 世界
  • 商业
  • 基金
  • 期货
  • 股票
  • 行业新闻
  • 黄金
没有结果
查看所有结果
周天财经
没有结果
查看所有结果
首页 基金

我 push 博客时泄露了 API

2026 年 4 月 22 日
在 基金
阅读时间: 2 mins read
阅读:1021
A A


今天在推送 fuwari 博客仓库到 GitHub 时,遭遇了一个意料之外但又在情理之中的拦截。GitHub 直接拒绝了我的推送,提示发现了 「Secret(密钥)」 泄露。经过排查和修复,两个仓库的 API Token 泄露风险已解除。写下这篇文章,既是复盘,也是给有类似经历的朋友一个参考。

Related articles

沪指震荡反弹涨 0.07%,关注 A500ETF 易方达 (159361)、沪深 300ETF 易方达 (510310) 中长期投资价值

2026 年 4 月 22 日
用 AI 搓了一个奇怪的工具:帮我寻找 「评分低、用户多」 的浏览器插件

用 AI 搓了一个奇怪的工具:帮我寻找 「评分低、用户多」 的浏览器插件

2026 年 4 月 22 日

事件回顾

像往常一样,我在 Obsidian 中写完一篇博客后,执行 git push 准备推送到 GitHub。然而这次推送失败了,错误信息如下:

广告
remote: error: GH013: Repository rule violations found for refs/heads/main.
remote:
remote: - Push cannot contain secrets
remote:
remote:  — Notion API Token ——————————————————————————————————
remote:    locations:
remote:      - commit: 25f1c5df1c410ba48f6890a8961371de5cf6cef8
remote:        path: src/content/.obsidian/plugins/share-to-notionnext/data.json:29

GitHub 的 Push Protection(推送保护) 功能检测到了我的 Notion API Token 泄露。问题出在 Obsidian 插件 Share to NotionNext 的配置文件 data.json 中,我配置了 Notion 的 API 密钥,而这个文件被 Git 跟踪并推送到了远程仓库。

有趣的是,同步排查另一个仓库 zhishiku 时,我发现它虽然也安装了同样的插件、同样包含 API Token,却没有被拦截。这可能是因为 Token 格式 (ntn_ 开头) 的识别率不同,或者该仓库的 Push Protection 设置没有 fuwari 那么严格。但不管怎样,这确实是一个安全隐患。

问题根因

为什么 API Token 会泄露到 GitHub?

核心原因是:Obsidian 的 .obsidian 目录被 Git 跟踪了。

.obsidian 是 Obsidian 的配置目录,里面包含了插件配置、主题设置、工作区状态等信息。当我们安装像 Share to NotionNext 这类需要 API 密钥的插件时,插件会把配置 (包括 Token) 保存在 data.json 文件中。如果这个目录被 Git 跟踪,每次推送都会把这些敏感信息一起送到远程仓库。

GitHub 提供了 Secret Scanning(密钥扫描) 功能,会自动扫描推送的内容,识别常见的密钥格式 (如 AWS Key、Notion Token、OpenAI API Key 等),发现后会拦截推送并通知开发者。这就是为什么 fuwari 仓库被拦截的原因。

解决方案

方案一:修改 .gitignore(推荐)

最简单有效的方案是把 .obsidian/ 目录加入 .gitignore,让 Git 忽略这个目录。具体步骤如下:

  1. 在项目根目录的 .gitignore 文件中添加:

    .obsidian/
    
  2. 从 Git 跟踪中移除已存在的 .obsidian 目录:

    git rm --cached -r .obsidian/
    
  3. 提交并推送:

    git add .gitignore
    git commit -m "chore: ignore .obsidian directory"
    git push
    

这样操作后,.obsidian 目录会保留在本地,但不会被 Git 跟踪,API Token 也就不会再泄露了。

方案二:清理 Git 历史

如果已经推送了包含 Token 的提交,需要从 Git 历史中彻底删除它。可以使用 git filter-repo 工具:

# 安装工具
pip install git-filter-repo

# 从历史中移除指定文件
git filter-repo --path .obsidian/plugins/share-to-notionnext/data.json --invert-paths --force

# 重新添加 remote 并推送
git remote add origin your-repo-url
git push --force

注意:这种方法会重写 Git 历史,如果与其他开发者共享仓库,需要协调好。

方案三:轮换 API Token

无论采用哪种方案,都建议重新生成 API Token。即使已经修复了泄露问题,旧的 Token 可能已经在某个时刻被恶意获取。前往相关服务的设置页面 (如 Notion 集成设置) 生成新的密钥,并更新本地配置。

经验总结

这次事件虽然是个 「事故」,但也带来了几点有价值的思考:

第一,敏感配置一定要排除在 Git 跟踪之外。 不只是 .obsidian,任何包含 API Key、Token、密码的文件都应该加入 .gitignore。常见的包括 .env、.env.local、config/secrets.json 等。

第二,GitHub 的 Push Protection 是最后一道防线,而非第一道。 这次能被拦截是幸运的,说明 GitHub 的密钥扫描确实在起作用。但并非所有格式的密钥都能被识别,这次 zhishiku 仓库的 Token 就漏过了扫描。所以不能依赖 GitHub 的保护,自己做好防范才是根本。

第三,本地配置不影响使用。 很多人担心忽略 .obsidian 后会影响 Obsidian 的功能。实际上 .gitignore 只是阻止 Git 跟踪,不影响文件的本地存在和使用。插件配置会正常读取本地文件,只是不会同步到远程仓库。

第四,定期排查仓库安全。 建议定期检查自己的仓库是否有敏感信息泄露,可以用 GitHub 的 「Secret scanning alerts」 功能查看已泄露的密钥 (如果有的话)。

附:两个仓库的修复记录

image.png

修复完成后,两个仓库都安全了,以后再也不用担心 API Token 泄露的问题。

文章来源:dqtx.cc 远程技术支持:742112.xyz

相关 文章

沪指震荡反弹涨 0.07%,关注 A500ETF 易方达 (159361)、沪深 300ETF 易方达 (510310) 中长期投资价值

来自 周天财经
2026 年 4 月 22 日
0

4 月 21 日,A 股早盘下探后震荡反弹,沪指...

用 AI 搓了一个奇怪的工具:帮我寻找 「评分低、用户多」 的浏览器插件

用 AI 搓了一个奇怪的工具:帮我寻找 「评分低、用户多」 的浏览器插件

来自 周天财经
2026 年 4 月 22 日
0

以前一直想尝试做几个好玩儿的浏览器插件,...

锂电龙头今天涨疯了,明天还有机会上车吗?

来自 周天财经
2026 年 4 月 22 日
0

锂电龙头今天涨疯了,明天还有机会上车吗?

点阵式液晶驱动芯片段码屏显驱动液晶 IC VK1622

点阵式液晶驱动芯片段码屏显驱动液晶 IC VK1622

来自 周天财经
2026 年 4 月 22 日
0

1 概述 永嘉微电 Vinka Micr...

什么情况?又一位基金经理转任研究员

来自 周天财经
2026 年 4 月 22 日
0

每经记者|黄小聪    每经编辑|叶峰 ...

加载更多
广告
  • 热门
  • 评论
  • 最新
神马经典投研: 集资讯、策略、研报一站式期货投研工具

神马经典投研: 集资讯、策略、研报一站式期货投研工具

2025 年 11 月 7 日
「我们也深陷残酷价格战」,德资巨头中国区高管警告

「我们也深陷残酷价格战」,德资巨头中国区高管警告

2025 年 8 月 4 日
一周产业基金|上海市人工智能CVC基金发布;湖北百亿人形机器人母基金来了

一周产业基金|上海市人工智能 CVC 基金发布;湖北百亿人形机器人母基金来了

2025 年 8 月 4 日
「硬科技」指数携手上涨,半导体设备ETF易方达(159558)、芯片ETF易方达(516350)等产品助力布局板块龙头

基民懵了!这个火爆的板块年内涨超 37%,主力却借道 ETF 狂抛逾 400 亿元

2025 年 9 月 20 日
Lesson 1: Basics Of Photography With Natural Lighting

The Single Most Important Thing You Need To Know About Success

4
Lesson 1: Basics Of Photography With Natural Lighting

Lesson 1: Basics Of Photography With Natural Lighting

3
Lesson 1: Basics Of Photography With Natural Lighting

5 Ways Animals Will Help You Get More Business

2
Lesson 1: Basics Of Photography With Natural Lighting

New Cryptocurrency That Will Kill Of Bitcoin

2

耐心资本赚翻了!私募大佬葛卫东及关联人布局大揭秘,重仓硬科技之外,携手葛贵莲锁仓会稽山!

2026 年 4 月 23 日

北交所再融资提速,「小额快速」 定增超往年,首批受理同步落地

2026 年 4 月 23 日
新华财经晚报:上半年全国铁路发送旅客22.4亿人次创新高

新华财经晚报:15 部门提出 18 项举措深化青年发展型城市建设

2026 年 4 月 23 日
上市公司TOP5济安评估(4月13日至4月19日)|上市公司观察

上市公司 TOP5 济安评估 (4 月 13 日至 4 月 19 日)|上市公司观察

2026 年 4 月 23 日
  • 隐私政策
  • 联系我们
  • 关于周天
  • 登录
  • 注册
投诉建议:+86 13326565461

© 2025 广州小舟天传媒有限公司 by 周天财经 - 粤 ICP 备 2025452169 号-1

没有结果
查看所有结果
  • 首页
  • 24 小时
  • 世界
  • 商业
  • 基金
  • 期货
  • 股票
  • 行业新闻
  • 黄金

© 2025 广州小舟天传媒有限公司 by 周天财经 - 粤 ICP 备 2025452169 号-1

欢迎回来!

在下面登录您的帐户

忘记密码? 注册

创建新帐户!

填写以下表格进行注册

所有项目需要填写。 登录

重置您的密码

请输入您的用户名或电子邮件地址以重置密码。

登录

用户登录

还没有账号?立即注册

用户注册

已有账号?立即登录