大家回想一下,你是不是遇到過這種情況:有時候,你訪問一個網站,它突然給你下載了一個東西。特別是當你用 Chrome 的時候,瀏覽器直接就自動給你下載到“下載”文件夾里面去了,如下圖所示:
而大多數時候,你只是把 Chrome 的這個提示關掉了,并沒有去主動刪除它下載的這個文件。于是這個自動下載的文件就留在了你的“下載”文件夾里面。
你想,我只要不去執行它,就不會有什么問題。但事實真的是這樣嗎?我們看看下面這張圖。
python3 -m pip install requests
簡單又熟悉的命令,我們都執行了無數次。今天卻翻車了。電腦被格式化了。
問題出在哪里?問題出在這里:
當我們執行python3 -m pip install xxx的時候,Python 會在你當前運行這個命令的文件夾下面尋找有沒有一個叫做 pip.py 的文件。如果有這個文件的話,那么你執行python3 -m pip install xxx相當于執行python3 pip.py install xxx。如果這個pip.py文件里面有惡意代碼,那么你就翻車了。
惡意用戶如果想攻擊 Python 開發者,就可以自己做一個 Python 相關的網站,當用戶訪問網站的時候,悄悄下載一個 pip.py 到你的電腦上。如果有人碰巧在下載文件夾里面執行了 python3 -m pip install xxx想安裝某個庫,那么此時就會觸發惡意攻擊代碼,從而讓你中招。
特別是遇到不會科學上網的用戶,他們直接使用 pip 常常會出現網絡超時的問題,于是惡意網站“友好”地給他們提供.whl包的官方下載地址。用戶一看,是官方地址,放松了警惕。這樣一來,用戶用瀏覽器從官網下載這個包時,正好也是下載到了“下載”文件夾里面。于是很多用戶順理成章地,直接
cd ~/Downloads
python3 -m pip install xxx.whl
于是悲劇就發生了。
責編AJX
-
Linux
+關注
關注
87文章
11345瀏覽量
210389 -
Chrome
+關注
關注
0文章
345瀏覽量
18158 -
python
+關注
關注
56文章
4807瀏覽量
85037
發布評論請先 登錄
相關推薦
評論