震惊!别这样直接运行 Python 命令,否则电脑等于“裸奔”

2026本地部署大模型实战指南:显卡选型、模型匹配与一键部署 大模型本地部署是企业实现数据合规、安全可控与业务连续性的关键技术路径。其核心原理在于平衡计算能力、显存带宽与模型推理效率,技术价值体现在规避公网传输风险、满足金融/医疗/政务等强监管场景的离线运行要求,并支撑合同生成、医疗影像分析、工业质检等真实业务闭环。关键挑战包括显卡带宽瓶颈导致的隐性OOM、量化精度与任务特性的错配、以及生产环境下的CUDA版本冲突、GPU显存碎片化和HTTPS证书链失效等‘毛细血管级’问题。本文聚焦RTX 4090与国产昇腾平台实测经验,覆盖显卡选型、Phi-4-14B等高适配模型推 阅读详情

编译整理:晓查   报道:量子位

原文链接:http://dwz.date/dnz

Python 已经成为全球最受欢迎的编程语言之一。原因当然是 Python 简明易用的脚本语法,只需把一段程序放入 .py 文件中,就能快速运行

而且 Python 语言很容易上手模块。比如你编写了一个模块my_lib.py,只需在调用这个模块的程序中加入一行import my_lib即可

这样设计的好处是,初学者能够非常方便地执行命令。但是对攻击者来说,这等于是为恶意程序大开后门

尤其是一些初学者将网上的 Python 软件包、代码下载的到本地~/Downloads文件夹后,就直接在此路径下运行 python 命令,这样做会给电脑带来极大的隐患

别再图方便了

为何这样做会有危险?首先,我们要了解 Python 程序安全运行需要满足的三个条件:

  1. 系统路径上的每个条目都处于安全的位置

  2. “主脚本” 所在的目录始终位于系统路径中

  3. 若 python 命令使用 -c 和 -m 选项,调用程序的目录也必须是安全的

如果你运行的是正确安装的 Python,那么Python 安装目录和 virtualenv 之外唯一会自动添加到系统路径的位置,就是当前主程序的安装目录

这就是安全隐患的来源,下面用一个实例告诉你为什么

如果你把 pip 安装在 /usr/bin文件夹下,并运行 pip 命令,由于/usr/bin是系统路径,因此这是一个非常安全的地方

但是,有些人并不喜欢直接使用 pip,而是更喜欢调用 /path/to/python -m pip

这样做的好处是可以避免环境变量 $PATH 设置的复杂性,而且对于 Windows 用户来说,也可以避免处理安装各种 exe 脚本和文档

所以问题就来了,如果你的下载文件中有一个叫做 pip.py 的文件,那么你将它将取代系统自带的 pip,接管你的程序

下载文件夹并不安全

比如你不是从 PyPI,而是直接从网上直接下载了一个 Python wheel 文件,你很自然地输入以下命令来安装它:

$ cd ~/Downloads
$ python -m pip install ./totally-legit-package.whl

这似乎是一件很合理的事情

但你不知道的是,这么操作很有可能访问带有 XSS JavaScript 的站点,并将带有恶意软件的的pip.py到下载文件夹中

下面是一个恶意攻击软件的演示实例:

~$ mkdir attacker_dir
~$ cd attacker_dir

$ echo 'print("lol ur pwnt")' > pip.py
$ python -m pip install requests
lol ur pwnt

看到了吗?这段代码生成了一个 pip.py,并且代替系统的 pip 接管了程序

设置$PYTHONPATH也不安全

前面已经说过,Python 只会调用系统路径、virtualenv 虚拟环境路径以及当前主程序路径

你也许会说,那我手动设置一下 $PYTHONPATH 环境变量,不把当前目录放在环境变量里,这样不就安全了吗?

非也!不幸的是,你可能会遭遇另一种攻击方式。下面让我们模拟一个“脆弱的” Python 程序:

# tool.py
try:
      import optional_extra
except ImportError:
      print("extra not found, that's fine")

然后创建 2 个目录:install_dir和attacker_dir。将上面的程序放在 install_dir 中

然后 cd attacker_dir 将复杂的恶意软件放在这里,并把它的名字改成 tool.py 调用的 optional_extra 模块:

# optional_extra.py
print("lol ur pwnt")

我们运行一下它:

$ cd ~/attacker_dir
$ python ../install_dir/tool.py
extra not found, that's fine

到这里还很好,没有出现任何问题

但是这个习惯用法有一个严重的缺陷:第一次调用它时,如果 $PYTHONPATH 以前是空的或者未设置,那么它会包含一个空字符串,该字符串被解析为当前目录

让我们再尝试一下:

~/attacker_dir$ export PYTHONPATH="/a/perfectly/safe/place:$PYTHONPATH";
~/attacker_dir$ python ../install_dir/tool.py
lol ur pwnt

看到了吗?恶意脚本接管了程序

为了安全起见,你可能会认为,清空 $PYTHONPATH总该没问题了吧?Naive!还是不安全!

~/attacker_dir$ export PYTHONPATH="";
~/attacker_dir$ python ../install_dir/tool.py
lol ur pwnt

这里发生的事情是,$PYTHONPATH变成空的了,这和 unset 是不一样的

因为在Python里,os.environ.get(“PYTHONPATH”) == “”和 os.environ.get(“PYTHONPATH”) == None是不一样的

如果要确保 $PYTHONPATH 已从 shell 中清除,则需要使用 unset 命令处理一遍,然后就正常了

设置$PYTHONPATH曾经是设置 Python 开发环境的最常用方法。但你以后最好别再用它了,virtualenv 可以更好地满足开发者需求。如果你过去设置了一个$PYTHONPATH,现在是很好的机会,把它删除了吧

如果你确实需要在 shell 中使用 PYTHONPATH,请用以下方法:

export PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}new_entry_1"
export PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}new_entry_2"

在bash和zsh中,$PYTHONPATH 变量的值会变成:

$ echo "${PYTHONPATH}"
new_entry_1:new_entry_2

如此便保证了环境变量 $PYTHONPATH 中没有空格和多余的冒号。

如果你仍在使用 $PYTHONPATH,请确保始终使用绝对路径!

另外,在下载文件夹中直接运行 Jupyter Notebook 也是一样危险的,比如jupyter notebook ~/Downloads/anything.ipynb也有可能将恶意程序引入到代码中。

预防措施

最后总结一下要点。

  1. 如果要在下载文件夹 ~/Downloads 中使用 Python 编写的工具,请养成良好习惯,使用pip所在路径 /path/to/venv/bin/pip,而不是输入/path/to/venv/bin/python -m pip

  2. 避免将 ~/Downloads 作为当前工作目录,并在启动之前将要使用的任何软件移至更合适的位置

了解 Python 从何处获取执行代码非常重要,赋予其他人执行任意 Python 命令的能力等同于赋予他对你电脑的完全控制权

希望以上文字对初学 Python 的你有所帮助!

年度爆款文案

1).卧槽!Pdf转Word用Python轻松搞定!

2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃

3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密 

4).80行代码!用Python做一个哆来A梦分身 

5).你必须掌握的20个python代码,短小精悍,用处无穷 

6).30个Python奇淫技巧集 

7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货 

8).再见Python!我要学Go了!2500字深度分析!

9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片

每个程序员都是从菜鸟开始成长起来的,没有人生下来就是程序员高手。菜鸟编程大本营,专注于分享趣味的编程技巧,不限于Java, Python ,Go, Javascript等语言,让菜鸟爱上编程,进阶成为高手。

菜鸟编程本营,从菜鸟进阶高手
点这里,获取新手福利
Claude移除隐式上下文护栏层:prompt工程重构指南 在大语言模型应用中,系统提示(system prompt)是连接用户意图与模型推理的核心接口。其设计原理直接影响输出的准确性、可控性与合规性。随着Anthropic正式移除运行时隐式‘上下文护栏层’,prompt不再被自动归一化或语境稀释,技术价值从‘降低使用门槛’转向‘交付确定性执行’。这一变化使prompt工程从辅助技巧升级为关键基础设施,广泛应用于金融合规审查、医疗知识问答、工业故障诊断等对指令精度要求严苛的场景。开发者需以身份锚点、任务语法和边界护栏重构prompt,实现从模糊声明到可验证契约的范式 阅读详情

相关推荐

GCP Deployment Manager 实战:6分钟声明式部署ML推理环境

基础设施即代码(IaC)是云原生时代的核心工程范式,其本质是通过声明式语法定义云资源拓扑与依赖关系,实现环境创建、更新与销毁的自动化、可验证与可回滚。Deployment Manager 作为 Google Cloud 原生 IaC 工具,以 YAML 为载体,深度集成 GCP API,规避跨层翻译延迟与状态黑盒问题,特别适合纯 GCP 场景下的快速交付。相比 Terraform 的跨云泛化或 Ansible 的运行时配置,它聚焦资源生命周期编排,天然支持引用机制、预览校验与控制台可视化调试。本文围绕 ML

weixin_30381317的博客 562

别再裸奔了!用VLC和GStreamer给你的RTSP视频流加上TLS和SRTP双保险

本文详细介绍了如何使用VLC和GStreamer为RTSP视频流添加TLS和SRTP双重加密,确保流媒体传输的安全性。通过自签名证书配置、服务器设置和客户端连接示例,帮助用户构建金融级安全防护系统,有效防止中间人攻击和数据泄露。

weixin_29325955的博客 331

计算pi小数点后10000位

数据结构课上,老师让我们计算一下pi的10000位,复习一下面向对象。 First Try:定义一个高精度类hp(high precision),实现加减乘除,输入输出,然后随便找一个公式,比如Wallis公式,全都用hp进行计算。 现实是:大数乘大数或者大数除大数,实在是太慢了。而且Wallis公式收敛太慢。 Second Try先找到一个收敛较快的公司:BBP公式,观察公式发现,...

我的技术人生 7395

python 长时间运行卡死_Python:长时间运行进程的通过或休眠?

我正在编写一个队列处理应用程序,它使用线程来等待并响应要传递给应用程序的队列消息。 对于应用程序的主要部分,它只需要保持活动状态。 对于代码示例,例如:12while True:pass要么12while True:time.sleep(1)哪一个对系统的影响最小? 什么是什么都不做,但保持python应用程序运行?正确的答案是根本不进行轮询I / O. 例如,请参阅select()调用,操作系统...

weixin_39630909的博客 2176

3DMax高效建模与人工智能:一场颠覆传统创作的效率革命

AI与3DMax的结合,不仅是工具效率的升级,更是一场创作范式的革命。从“手动雕刻”到“智能共生”,设计师的角色正从执行者转向决策者。正如网友所言:“AI不是替代人类,而是赋予凡人以神笔。”在这场变革中,唯有拥抱技术、深耕创意,方能在数字艺术的浪潮中立于潮头。参考文献与工具推荐技术原理:火星时代资讯《人工智能和三维建模》工具实测:哔哩哔哩《tyDiffusion 3dsMax应用》9、Tripo AI官网教育案例:原创论文《人工智能技术介入三维动画课程建设》

m0_46478534的博客 3012

Synopsys PCIe IP Loopback功能深度解析与应用实践

本文深入解析了Synopsys PCIe IP的Loopback功能,包括本地数字环回和远程环回两种模式的应用实践。通过详细的寄存器配置步骤和实战案例,帮助开发者快速掌握PCIe芯片验证与调试技术,提升系统开发效率。特别适合PCIe协议相关的硬件工程师和验证工程师参考。

weixin_29198045的博客 530

python运行时间长就卡_解决Python设置函数调用超时,进程卡住的问题

背景:最近写的Python代码不知为何,总是执行到一半卡住不动,为了使程序能够继续运行,设置了函数调用超时机制。代码:import timeimport signaldef test(i):time.sleep(i % 4)print "%d within time" % (i)return iif __name__ == '__main__':def handler(signum, frame)...

weixin_39639653的博客 1249

伺服电机开发实战指南

伺服电机作为工业自动化的核心部件,正经历前所未有的技术革新。本文从基础原理出发,详细介绍了伺服电机的分类、工作原理和特性,分析了伺服电机系统组成与核心部件,探讨了企业级开发技术,包括控制算法、通信协议和故障诊断等高级功能,并提供了实战案例分析,从行业应用到具体开发步骤,展示了伺服电机的工程实现。通过深入理解伺服电机的原理、掌握开发技术、学习应用案例,可以实现伺服系统的高性能开发与应用。

全栈 1680

Python 程序运行时卡住 既不报错 也不停止 也不动 是什么原因

你是否遇到过这种情况:你的Python程序在执行过程中突然“定格”,像被施了魔法一样,既没有错误提示,也没有终止的迹象,更不会继续往下执行?这种现象让许多开发者感到困惑和挫败。为什么会出现这样的问题呢?这背后可能隐藏着一些微妙且复杂的原因。今天我们就来深入探讨这个问题。

cda2024的博客 2721

基于GEC6818开发板的C/C++贪吃蛇小游戏

f.开始游戏(进入游戏,并没有马上开游戏,需要点击播放才能开始)2.相关宏,全局变量(可以根据自己需要进行修改)k.显示文字前的相关初始化。k.自定义font.h文件。1.需要的主要头文件。l.在开发板上显示字1。m.在开发板上显示字2。a.显示固定大小图片。h.线程1:获得坐标。

2301_77273301的博客 2132

从RADIUS服务器到AP:实战搭建一个小型WPA2-Enterprise测试环境(FreeRADIUS + 家用路由器)

本文详细介绍了如何从零搭建WPA2-Enterprise测试环境,使用FreeRADIUS服务器和家用路由器实现企业级WiFi认证。通过实战指南,包括证书生成、EAP-PEAP配置、OpenWrt路由器设置及故障排查,帮助网络工程师和爱好者掌握802.1X协议栈的实际应用。

weixin_28715953的博客 325

python wget 卡住_python – Paramiko在执行大型wget命令时挂起

嗨,我在执行一个通过Ubuntu 10服务器执行100mb文件的wget的命令时遇到问题.除此之外,较短的命令工作正常.下面的类包含我如何使用paramiko和我克服这个问题的不同尝试(请参阅不同的run或exec方法).在exec_cmd的情况下,执行挂起在这一行:out = self.in_buffer.read(nbytes, self.timeout)来自paramiko的channel....

weixin_39638801的博客 1190

保姆级拆解:HP 1312NF/CM1415打印机进纸离合器清洁与更换全记录(附B站/油管视频指路)

本文详细记录了HP 1312NF打印机进纸离合器故障的诊断与修复全过程,包括故障判断、工具准备、拆解步骤、清洁更换技巧及预防措施。特别针对离合器内部海绵老化粘连问题,提供了电工胶布和硬纸片两种实用替代方案,并附有B站/油管视频指路,帮助用户轻松完成打印机维修。

weixin_31102231的博客 376

python 运行电脑卡死_震惊!别这样直接运行 Python 命令,否则电脑等于“裸奔”...

编译整理:晓查 报道:量子位原文链接:http://dwz.date/dnzPython 已经成为全球最受欢迎的编程语言之一。原因当然是 Python 简明易用的脚本语法,只需把一段程序放入.py文件中,就能快速运行而且 Python 语言很容易上手模块。比如你编写了一个模块my_lib.py,只需在调用这个模块的程序中加入一行import my_lib即可这样设计的好处是,初学...

weixin_42516830的博客 1431

CloudCompare点云滤波实战:三种植被去除技术的对比与应用

本文详细对比了CloudCompare中三种植被去除技术(低通滤波、CSF滤波和坡度法)的实战应用与效果。通过具体案例和参数优化建议,帮助用户根据地形特征选择最佳滤波方法,提升点云数据处理精度和效率,特别适用于复杂场景下的植被去除需求。

weixin_30689307的博客 84

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

从模型裸奔到闭环:构建MLOps模型监控体系与工程实践

在机器学习工程实践中,模型部署后的持续监控与反馈是确保其长期有效性的关键环节。模型监控的核心原理在于通过实时追踪输入数据分布、预测结果及业务反馈,检测数据漂移与性能衰退。其技术价值在于将模型从静态的“一次性产物”转变为可自适应、可迭代的动态系统,从而保障AI决策的持续可靠。典型应用场景包括金融风控、推荐系统、用户流失预警等对模型稳定性要求极高的领域。本文聚焦于解决模型上线后“裸奔”的普遍困境,深入探讨如何利用Prometheus、VictoriaMetrics等工具构建多层次监控体系,并特别强调通过PSI(

chulilang8944的博客 437

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

AI Agent可观测性:破解多步推理黑盒,用Langfuse/Opik追踪Agent每一步推理,让你的AI不再“裸奔“

2024年初,一个令人震惊的事件在AI开发社区引发了广泛讨论:某知名AI Agent在执行文件整理任务时,误将用户Fedora系统的关键目录删除,导致系统崩溃。事后调查发现,这个Agent经过了多达17步的推理决策,但开发者却无法追溯问题究竟出在哪一步——这就是典型的"AI黑盒"问题。让我们通过一个完整的示例,展示如何构建一个具备完整可观测性的文件管理Agent,避免Fedora目录删除事件的悲剧重演。这些场景下,不仅需要知道Agent做了什么,还需要知道为什么这么做,以及决策的依据是什么。

从事移动开发八年,csdn博客专家,阿里云特邀专家,华为云云享专家,高级网络信息安全工程师,大数据工程师(高级),python技术开发(高级),HarmonyOS 应用开发者高级认证,现在某学校任教。 14

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Python反爬新方案:selenium-stealth vs 传统Selenium,测试结果对比震撼发布

在当今网络爬虫与反爬技术的激烈对抗中,Python开发者面临着一个严峻挑战:如何让Selenium自动化脚本避开网站的反爬虫检测?😱 传统Selenium脚本往往在几秒钟内就会被现代网站的反爬系统识别并封锁,这让数据采集工作变得异常困难。但好消息是,一个名为**selenium-stealth**的开源项目横空出世,为Python开发者带来了终极解决方案!🚀 ## 什么是selenium-s

gitblog_00855的博客 860

Python备份实战专栏第3/6篇:这套智能增量备份算法,让备份效率提升1000%!震撼揭秘

高效备份的哲学是算法,本文基于实际案例,介绍将备份效率提升1000%的核心算法,包括完整的代码实现、性能优化技巧,以及生产环境的真实数据验证

yweng18的博客 1295

智能肛珠作弊案反转:19岁小将告世界冠军诽谤索赔7亿

杨净 丰色 发自 凹非寺量子位 | 公众号 QbitAI震惊国际象棋界的戏剧性丑闻,现在出现反转了?!被指用智能肛珠作弊的19岁小将,竟然一纸诉讼将世界冠军告上法庭:与他人恶意勾结、诽谤,毁了他的职业生涯,至少赔偿1亿美元。△比赛情形,图源:圣路易斯国际象棋俱乐部此前在知名赛事上,有着“国际象棋之王”地位的卡尔森爆冷输给19岁新人尼曼。结果卡尔森不服,输掉比赛后立刻退赛,并发文暗示尼曼作弊,毕竟...

cainiao_python的博客 439

电表被篡改损失7000万!智能电表到底有多少安全漏洞?

电表被篡改损失7000万!智能电表到底有多少安全漏洞?希腊电表篡改大案、施耐德高危漏洞、Growatt云平台授权绕过……智能电表的安全防线,比想象中脆弱得多。 一、开篇:7000万的“电费账单”2026年7月,希腊警方披露了一起震惊业界的案件。一个犯罪组织自2017年起,在希腊全国大部分地区非法篡改电网运营商HEDNO运营的模拟电表和数字电表。目前已确认606起非法篡改案件,预计经济损失总额高达916万欧元(约合人民币7120万元)。这个犯罪组织的作案手法令人咋舌。对于模拟电表,他们采用安装跳线、分流器、修

L66969m的博客 343

大模型原生契约能力:让Prompt工程与后处理层归零

大模型原生契约能力正推动AI工程范式从‘防御式编程’转向‘契约式交互’。其核心原理是将JSON Schema约束、语义枚举校验与行为规则内化为模型推理过程的一部分,使模型在生成阶段即完成结构化输出、业务逻辑自洽与安全边界防护。这一能力显著降低对prompt工程、正则解析、状态机和独立审核服务的依赖,技术价值体现在延迟下降60%+、错误率趋近于零、运维复杂度断崖式降低。典型应用场景包括智能表单生成、多轮客服对话、金融/医疗等强合规领域结构化响应。本文聚焦Anthropic新模型如何通过三层嵌套契约(结构-语义

weixin_30493401的博客 380

Ruffle 桌面版:3 步免费上手,老 Flash SWF 游戏随开随跑

Flash 早已停止维护,本地盘里却还躺着一堆 .swf 文件。Ruffle 桌面版是用 Rust 编写的免插件 SWF 播放器,装好就能直接运行 Flash 游戏与课件,不依赖任何浏览器插件。本文用 3 步带你完成首次启动,并讲清楚参数该怎么调。 ## 快速上手 3 步:老 Flash 游戏如何运行 1. **拿到程序**:从官方站点安装桌面版(Windows、macOS、Linux 均有安

gitblog_00470的博客 262

大模型降价75%背后的三大技术硬核:调度、KV缓存与感知量化

大语言模型推理成本正从‘按次计费’迈向‘按字符计费’,其底层驱动力并非简单营销让利,而是算力调度精细化、KV缓存动态压缩与感知自适应量化(PAQ)等关键技术的工程突破。这些优化共同降低了显存占用、提升了资源复用率,并保障了关键场景的语义准确性。在客服摘要、合同解析、工业质检等典型AI落地场景中,技术红利已转化为单业务动作成本下降73%~76%的实际收益。本文聚焦国产大模型在推理链路层的真实降本实践,详解毫秒级GPU调度、FP8混合精度KV压缩、以及根据输入语义密度动态切换INT2/INT4的PAQ机制,为工

weixin_30598225的博客 383
上一篇: 收藏|Python 办公自动化不得不会的十大文件操作!
下一篇: 程序员谈女朋友,技术越好单身越久...
菜鸟学Python
博客等级 码龄9年 8062粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值