成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

敏感數據暴露,留給Git的時間只有20秒!

譯文
安全 應用安全
人非圣賢,孰能無過?本文會分享介紹幾個筆者在用的好技巧,這樣在Git時,再也不用擔驚受怕了。

?作者 | codingwoman

譯者 | 布加迪

策劃 | 言征

大家可能都會面臨這樣直冒冷汗的情形:在使用Git進行版本控制時不小心推送了重要的密鑰或超大文件?要知道,在敏感數據公開暴露20秒后,再去刪除這些密鑰可能已經為時太晚了!

人非圣賢,孰能無過?本文會分享介紹幾個筆者在用的好技巧,這樣在Git時,再也不用擔驚受怕了。

一、永遠不要推送非必要的文件和信息

Git中一類不需要的內容是非常大的文件。如果不小心提交了一個大文件到存儲庫,這肯定會限制你拉取或推送文件所需的時間;如果文件大于100MB,甚至還會顯示錯誤。

其次,作為軟件開發圈中的一員,這個忠告應該聽過很多次:永遠不要將機密信息推送到存儲庫。擁有芝麻粒大點資源的攻擊者就可以通過竊取泄露的密文(secrets)和密鑰來危及許多GitHub用戶。然而,許多同行卻對此不太當回事。

因此,我想分享幾個統計數據。

我能進行另一個提交后刪除它嗎?

不。事實上,這比剛才的那件事還要危險。不要天真地以為,當他們從存儲庫中刪除文件后,文件再也訪問不了。這正是Git的用途所在。它會跟蹤你的文件版本歷史記錄,以便你在想要恢復更改時可以恢復。

通過以下列方式進行提交以刪除文件,你無異于將網上的陌生人引向存放密文的位置。

$ git commit –m “Remove api key”

只需你搜索一下,就可以看到這有多頻繁。更明確地說,截止2023年1月5日筆者撰寫這篇文章期間,在GitHub上搜索查詢“remove api key”,返回了100萬+提交,查詢“remove password”返回了735K+提交。

圖片

隨著ChatGPT大行其道,人們試圖編寫Python腳本來試用它,我發現無數的OpenAI API密鑰散布在GitHub的各個角落。

這將引發嚴重后果!

二、那該怎么辦?

當我們考慮從Git歷史記錄中刪除提交時,首先想到的是立即將分支的頂端更改為舊的提交。這使我們安全地回到密鑰不存在于存儲庫中的時候。

1 $ git reset <SHA1>
2 $ git commit -am message
3 $ git push -f <remote-name> <branch-name>

1.但已有一段時間了,是否為時太晚?

好吧,如果你遇到的問題與大文件有關,總是可以使用git filter-branch從歷史記錄中刪除過去的信息/文件。此外,還有一個極好極簡單的方法,我常常使用它。

見識一下BFG-Repo-Cleaner!這是一個用Scala編寫的工具,可以刪除大文件(比如預訓練的模型或無法丟棄的大PDF文件)或麻煩的blob(比如API密鑰、密碼和密文),其功能就像git filter-branch,但速度更快。

GitHub的官方推薦也建議使用BFG-Repo-Cleaner來清除文件。

說明:我最近被告知git filter-branch已被棄用。現在可以使用git filter-repo或直接使用上面提到的BFG工具。

2.可以松口氣了嗎?

不,還不能松口氣。當然,你可以隨時使用這個工具刪除大文件。然而,在將不必要的憑據推送到公共存儲庫之前,仍然應該小心為好。如果你最近在GitHub上泄露了密文,應該盡快用上面提到的工具收回密文。

此前,有一篇名為《Git會有多糟糕?揭秘公共GitHub存儲庫中的密文泄露》的論文首次全面深入分析了GitHub上的密文泄露。研究人員在文中評估了兩種不同的挖掘密文的方法:一種能夠實時發現99%的新提交的含有密文的文件,另一種利用了覆蓋13%的公共存儲庫的大快照,其中一些可以追溯到GitHub創建時的快照。

  • 你認為大多數被發現的密鑰都用于測試嗎?好吧,告訴你一個可怕的消息:研究人員估計,所有發現的密文中89.10%是敏感信息。
  • 幾個趨勢:密文減少最明顯的時候是在發現后的第一個小時,所有發現的密文中6%被移除。存在時間超過一天的密文往往長期存在——第一天結束時,12%以上的密文消失了,而16天后,只有19%的密文消失了。密文和文件被刪除的速度大大超過代碼庫被刪除的速度:用戶沒有刪除代碼庫,而是創建新的提交以刪除文件或密文。
  • 最后,最重要的結論是:發現GitHub上分享的密文的平均時間為20秒左右,從半秒到4分鐘不等,密文在一天中的什么時間被推送沒有任何影響。所以在你不小心推送之后,留給你彌補的時間,比想象的要少得多。

三、結語

GitHub應該對可能暴露密文的提交,實行嚴格得多的政策或檢查。或者至少將新注冊的帳戶引到相應的說明文檔發出警告。筆者認為這對于剛開始踏上編程之旅的新人來說尤為重要。開發人員(尤其是新手)應該知道如何安全地公開源代碼,以及忽視這么做可能面臨的后果。

如何才能避免意外提交?這里給出幾點建議:

  • 避免使用像git add.或git commit-a這樣的catch-all命令,而是使用git add filename。單獨暫存文件也可以更好地跟蹤提交方面的更改。你總是可以在流行的文本/源代碼編輯器(比如Visual Studio Code)的源代碼控制組件中使用暫存選項。
  • 始終查看你的文件更改。使用git diff--cached,密切關注工作樹上的變化。
  • 還有其他類型的工具可以幫助你避免提交像git-secrets這樣的密鑰。
  • 你還可以使用預提交鉤子。

原文鏈接:http://www.codingwoman.com/git-the-good-the-bad-and-the-ugly/

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2010-09-25 08:55:29

2023-10-23 10:39:05

2023-10-30 15:35:05

數據安全數據驅動

2024-03-05 09:40:35

2020-10-25 09:04:46

數據加密數據泄露攻擊

2023-06-27 07:26:36

汽車之家敏感數據治理

2024-01-01 15:53:25

2021-09-16 10:11:15

Dataphin 數據保護

2020-04-16 08:00:00

Ansible Vau敏感數據加密

2021-10-28 09:42:38

代碼編碼開發

2011-08-01 14:36:06

加密RSA

2021-09-18 10:06:06

數據安全隱私計算大數據

2023-07-21 12:48:37

2024-09-27 12:27:31

2018-11-12 12:46:56

風險云計算用戶

2021-03-23 14:34:25

敏感數據云安全漏洞

2010-03-05 11:03:06

DLP敏感數據

2021-03-19 11:13:07

SaaS云平臺

2025-04-28 08:08:14

2012-04-12 14:45:12

賽門鐵克云南電網
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区网站 | 请别相信他免费喜剧电影在线观看 | 一本大道久久a久久精二百 欧洲一区二区三区 | 欧美一区二区久久 | 欧美综合在线观看 | 偷拍自拍网址 | 99热精品在线 | 欧洲一区二区视频 | 久久久久久久国产精品影院 | 毛片在线免费 | 欧美理论片在线观看 | 成人小视频在线观看 | 国产 日韩 欧美 中文 在线播放 | 精品一区二区久久久久久久网站 | 国产精品视频在 | 激情av免费看 | 久久久www成人免费无遮挡大片 | www.久久久 | 老司机深夜福利网站 | 欧美高清视频在线观看 | 日本欧美视频 | 玖玖在线免费视频 | 国产在线观看一区二区 | 久久男女视频 | 欧美久久天堂 | 人人99| 中文字幕第十页 | 欧美综合国产精品久久丁香 | 91超碰caoporn97人人 | 三区在线观看 | 日本在线视频一区二区 | 亚洲一区导航 | 狠狠操狠狠操 | 天天干天天干 | 一区二区三区中文 | 欧美 日本 国产 | 夜夜草导航 | 在线播放国产一区二区三区 | 国产精品一区二区三区久久 | 欧美伊人久久久久久久久影院 | 日韩精品久久久 |