面试代码竟成黑客入侵的跳板

How to compromise your system with a job interview

面试代码竟成黑客入侵的跳板

在IT就业市场低迷的当下,一份看似完美的远程工作机会可能隐藏着致命陷阱。一位朋友在LinkedIn上收到招聘邀请,随后被要求运行一段TypeScript代码进行技术测试。殊不知,这段代码通过调用api.jsonbin.io加载了远程恶意脚本,进而下载了包含RAT、浏览器凭证窃取器和文件抓取器的第二阶段载荷。攻击者利用Node.js的require机制,在无需root权限的情况下,直接读取了受害者的SSH密钥、AWS凭证、MetaMask钱包数据以及.env文件中的敏感信息。文章详细剖析了从钓鱼链接到C2服务器通信的全过程,并指出即使使用Docker或AI扫描也难以完全规避此类风险,唯有在完全隔离的Vagrant虚拟机中运行才是相对安全的方案。

你本想找份工作,却亲手打开了地狱之门。
  1. shahbaby

    如果一家公司在招聘流程的起步阶段,甚至不愿意安排真人跟你通话,这说明了什么?是说明这家公司有问题?还是说明那个职位招聘的真实性存疑?亦或是说明如果你真的被录用了,你将与怎样的一群人共事?

    无论你是否拿到 Offer,你都会在每个面试周期中投入大量宝贵的时间;而如果你真的拿到了 Offer,你将来要在这家公司投入的时间只会更多。

    所以,无论你是什么人,都要保护自己的时间,并记住面试永远是双向选择。

  2. john_strinlai

    在“开始测试前,你可能对以下情况产生怀疑”的列表中,只有一条是真正重要的:

    只与使用官方邮箱地址的人沟通。

    其余各项虽然可以作为黄色或红色警示信号,但仅仅要求对方通过官方邮箱确认,就能 thwart(挫败)绝大多数骗局(包括其他类型的骗局,比如有人冒充 Intuit 的员工打电话询问你的 QuickBooks 事宜等)。

  3. forinti

    > “一个相关机会”,提供兼职远程工作,且时薪优厚

    这在当下听起来太可疑了。

  4. aliasxneo

    我每周在 LinkedIn 上都会收到足够多的正规和非正规邀约,以至于现在能很容易分辨出两者的区别。很难在评论里具体指出,因为这主要靠直觉。不过,大致按顺序如下:

    1. 查看联系你的那个人的 LinkedIn 个人资料,并检查他们的发帖历史。有个滑稽的案例,某位“招聘人员”有长达 4 年的空白期,期间用英语写评论,突然之间又切换成了西班牙语。而且大多是简短、毫无意义的评论。

    2. 查看该公司,确保他们拥有正规网站且仍在正常运营。更好的是,看看是否有公开的团队页面列出了此人。

    3. 给招聘人员提供一个邮箱(我通常用 SimpleLogin 之类的服务),让他们把详情转发给你。当然,要仔细留意他们是从哪个地址发送的。

    4. 此外,或者作为替代方案,向招聘人员索要公开的职位列表(骗子几乎总是把它“复制粘贴”到私信里,或者上传一份明显是 AI 生成的 PDF 文档)。

    一旦你摸清了套路,识破他们并不难。我甚至把这当成一种游戏,有时为了好玩会陪他们演一会儿。归根结底,一定要在 LinkedIn 上举报他们。我举报后,他们的账号通常在一个小时内就消失了。

  5. ShinyLeftPad

    > “将内容放入 Docker 中并仅在容器内执行代码,可以隔离你的宿主机系统,不会泄露任何存储的密钥——前提是你没有将宿主机数据挂载到容器中。”

    这段话没解释为什么……也没有对虚拟机(VM)给出类似的警告。

    通常,为了让容器或虚拟机有用,你至少需要挂载一些数据。当然,问题在于你是个傻子,在不信任的环境中挂载敏感密钥,至于用容器还是虚拟机其实无所谓。

    也许它的意思是存在某种 0day 漏洞,挂载任何卷都可能导致容器逃逸之类的?但这并不是原文所表达的意思。

  6. _carbyau_

    互联网世界确实建立在信任链和声誉之上。

    一个从互联网上近乎陌生的人那里随意拿取东西,并在没有真正防护措施的情况下在自己的电脑上运行的人,绝不是我应该雇佣的对象。

    这也意味着,你的招聘流程不应该要求一个你在 Zoom/Teams/或其他平台上仅见过 10 分钟的人,在没有防护措施的情况下运行你那些乱七八糟的东西。

    这意味着,如果你希望他们下载并运行某些东西,你应该列出具体要求,让申请人自行决定是否愿意为你做这件事。

    但我们并不生活在这样一个理想的世界里……

  7. gfalcao

    读完这篇文章后的第一个想法是:开发者必须学会使用防火墙,比如 LuLu(https://objective-see.org/products/lulu.html),以便在交互式对话框中询问任何给定的二进制文件是否可以访问任何给定的互联网地址,无论是域名地址还是 IP 地址(后者看起来可能更可疑)。

    我是一个 Emacs 用户,但每次尝试新的编辑器时,包括 VS Code 或 VSCodium,我都会阻止它们访问远程地址,即使我并没有授权扩展下载,也没有进行扩展下载操作。

    我觉得,如果开发者在尝试代码挑战时使用了像 LuLu 这样的“交互式”防火墙,然后发现了可疑行为并直接阻断访问,那场面一定会非常有趣。

  8. dprkh

    有一家 YC 公司开发了一款代码面试工具。他们要求你在自己的机器上运行他们的 CLI,并信任它不会做任何恶意的事情。但实际上,它在未经你同意的情况下在你的机器上安装了一堆东西,扫描进程,并拦截来自 AI 工具的请求。人们竟然认为这是可以接受的,这简直疯了。

同日更多故事

2026-08-20