Posted by smalltech 4 days ago
That's a huge red-flag. In a company of this size, the deployments should be via CI only. CI isn't just to increase the speed and reliability of deployments but also to provide a clean room to build the software! Even if it's a token that was copied and pasted temporarily, the systems in place should not have to require this type of 1. copy 2. paste 3. remember-to-delete the token from my PC.
Also, Binance should be paying for intrusion testing. Better to pay a trusted company to do this kind of thing instead of letting North Korea show you how it's done. I don't think this exact exploit path would have been found but I bet the intrusion testing would have figured out another way to use Engineer C's token.
[1] The fact that the needed to sign 50 of these transactions to solve a race condition seems like an implementation detail
The fact nobody thought of this is pretty staggering.
lol that's the worst control I've ever heard.
One of the first things I did in my last job was shift processes like this off my team's computers, aside from the security ramifications all it takes is one dumb mistake, one up-arrow too many, one didn't-read-the-whole-line, and now you're doing something to production by accident!
It took a couple months to get the pipeline out of their laptop.
Worth it, yes, as we found interesting things in there which explained why they were so reluctant to deploy upgrades.
.. backdoors which enabled the dev to deploy exploits of their own which wouldn't be visible through CI?
Sure, but those meat puppets shouldn't be developers, they should be administrators, using proper procedures.
Separation of powers seems so fundamental yet also so totally ignored these days.
That unlettered (npi) engineer who downloaded and ran the interview software on his or her machine is what the human weak link here. Let's call them Engineer F. Seems like this person was specifically selected from the dev team.
Twice I scanned the file after downloading it to a sandbox and twice it found malware that would've been installed.
While this is by far the worst case of this happening, I've read at least a half dozen other accounts of recruiting companies attempting to install malware through the same process. I'm not saying the person should have known, but it's scary this is becoming more and more common.
This person definitely should have known. You don't download and run arbitrary binaries outside of a VM. At this point you don't even compile code from an untrusted source. This is the power user equivalent of falling for a phishing email.
but enterprises usually prefer the latter, I guess it's more convenient since it bypasses the bureaucratic processes?
Anyone who fell for it would not only get in trouble for poor security practice, they would reveal that they were job searching. That opens an entire can of worms that creates problems beyond the pentest. This also angers other employees who see it as a double-trap being sprung on employees.
Another major problem is that responsible employees who accept the fake interview but then use their personal laptop to do the interview will have their personal laptop compromised by the pentesters. Responsible testers will immediately abort, but some will try to use the personal laptop to pivot deeper which is a huge ick. It’s also really bad if the company is compromising personal laptops of people who are doing the right thing (switching to personal gear for interviews).
Hired oentest has company permission to do stuff on company property. I do not imagine they have right to do so to personal property.
Game over.
Taking over that first engineer's workstation shouldn't ever have resulted in $6.3B of damages. I would consider it reasonable if those privileges could be abused (by e.g. the same engineer intentionally) to cause $6.3M of damages and the rest would be mitigated or prevented; so for this incident we could say that 0.1% of the impact was caused by the initial compromise of that workstation and 99.9% of the losses were caused by all the other failures - so it's effective for any pentest to focus on the latter part, ignore the social engineering and phishing part (since you can't really eliminate it anyway - unlike many other flaws) and assume initial compromise as a starting point.
If your laptop is successfully compromised by the pentesters then pretty much by definition you weren't being responsible. Though I agree that pentesters going after personal devices is ethically dubious.
> Though I agree that pentesters going after personal devices is ethically dubious.
It's not just ethically dubious. It crosses a lot of legal boundaries. A company can consent to have their personal devices hacked. An employee doesn't automatically consent to let a company's contractors access their personal devices.
If you ever meet with Alibaba for any reason they'll ask you to download their conference software. Unfortunately most people in the China ecosystem don't have the guts to say no and will just gleefully install any .exe thrown at them.
For many build chains, that involves implicitly installing software.
That said I wouldn't trust a compiler to be hardened against malicious input and anyway you presumably need to run the output so all of that should be happening in a hardened sandbox regardless.
Which is also why we, collectively, as an industry needs to not put up with that. It's easy for me to say from the comfort of it not being my job on the line, that if this happens to anybody they should quit and then name and shame the company, but a competent security team is going to have the idea of doing a fake phishing interview and then not do it because of how morale destroying that would be. The security awareness team sending fake phishing emails are embarrassing enough.
Every service provider system should be designed with the assumption that programmers' PCs and smartphones may be compromised.
The point is that at some point you do need to open the door and let the code in.
Even worse when you have to do stuff like screenshare or coding. I've had candidates share their screen and have obvious proprietary material in open windows. I've seen countless email inboxes and calendars. I've seen candidates do coding exercises using internal IDEs, dev environments and dev tools. I've had them talk – fully unprompted – about internal tech and unreleased projects. And I'm talking about Google, Meta, Amazon, Coinbase, Uber.
At this point I'm convinced that a large chunk of tech interviews are happening just to extract insider info from employees.
I know the last time I left my job I was given the opportunity to buy an M1 mac with 16Gb of RAM for €100, so of course I did.
(Though I also paid €500 to keep the phone they'd bought for me, which was perhaps not such a good deal, it was convienent and I do like the phone, but I'd have been happy to have a random cheap android phone, I have no specific requirements beyond "small enough to fit inside a sporran"!)
they're not interested, they view it as a work tool and they always have one as they avoid gaps in their resume
no different than say, a work badge. you can buy an NFC enabled badge from ebay but you never will
and you don't need all of that to do anything the professional world wants or requires
And if you are coding full time, it is better to not do coding in your free time if you want to maximize learning anyway.
It reminds them that while I am a replaceable cog in their machine, I am also a cog that other machines would like to install given the right opportunity. And I am always aware of my current market value.
It would never occur to me to use an employer's hardware for such a purpose. It seems absurdly lazy, but I know that not everyone's life works like mine, so I would like to understand why this would be a real problem for people.
That's a very uncommon mindset and worldview.
For 99% of people, the default would be "I'm going to join this Zoom meeting from the laptop I use all day long to join Zoom meetings, and I'm going to code using the laptop I use all day long to code".
Lots of people have their work tools setup on their work computer, but not on their personal computer. Their personal laptop might be relatively underpowered and struggle to run all the required software efficiently during an interview. The issue becomes even more significant as more of the tools used require an account - you don't want your interview performance to suffer because you're using an unfamiliar tool or service, so you just use the ones you're used to using every day.
Sharing other's company secrets by mistake, using other company's resources in ways that are definitely forbidden - is this a person you really want to hire since they will behave the same in your company? Is this a person you want to give trust with some internals?
In market with 100s or applicants thats enough to disqualify anybody who actually needs an interview or two to get hired.
I've been in management for the past decade and interviewed a few hundred candidates in that time. Never once did I ask or care who owned the laptop they were using.
And similarly, if someone on my team used their work laptop for an interview, I wouldn't care at all.
> Lots of people have their work tools setup on their work computer, but not on their personal computer...you don't want your interview performance to suffer because you're using an unfamiliar tool or service...
I struggle to come up of even the most absurd interview scenario where the tool makes the difference especially in our field where if a FOSS tool is not standard, then there's a sufficiently powerful free tier (eg., Sublime, IntelliJ). Heck most remote interviews, they take you out of your tools completely and ask you to code on some shared browser-based editor.
> That's a very uncommon mindset and worldview.
I'm calling HN SV start-up bias. Outside of the startup software eng'g industry, a lot of people exercise very good separation between work tools and personal tools. I know a lawyer, _who's the head of his own law firm,_ bring his personal laptop to the office just so he could purchase tickets during office hours.
I think this is also down to a few factors:
- SWEs are typically issued high-end machines in contrast to other professions whose standard issue is still 4GB (or 8GB, if you're lucky) RAM. For those professions buying a better personal laptop is a low bar to clear.
- SWEs are more efficient when they have admin access to their own machines. Though it begs the question that maybe some inefficiency would've been an acceptable tradeoff to $6.3B.
- SWE is one of the professions on the poster for the "Get paid good while working from Bali" lifestyle, wherein BYOD is implied, especially if you are freelancing.
I had an interview recently where I'd initially planned to use my own machine, then gave up and just used my work computer.
I'm used to the whiteboarding/UML/flowchart software I use at work, so I either needed to pay for a personal subscription so I could use it in the interview or be forced to use some other software I'm not familiar with. I also didn't have a personal paid AI code tool, so again either pay for a personal one or just use the work Claude account. Also the webcam on my work laptop is substantially nicer than my personal laptop.
Also, critically, it doesn't matter. If IT or my manager had pinged me to ask "Did you do an interview at noon yesterday?" I would have said yes and then the only follow-up would have been them asking if it was a random thing or if I was actively looking.
I think IT (and I guess, lawyers) are probably the only people who care much about separating work and personal devices, just because they're prone to being aware of how much surveillance of the device can be happening. People in marketing/sales/whatever back office stuff will be logged into their personal Facebook, Netflix, iMessages, Email and bank and never consider that their keystrokes are being logged and screenshots are being taken.
IT is aware of surveillance. Lawyers have a legal responsibility to take all reasonable steps to safeguard confidential client information. A lawyer misusing a work device is probably roughly equivalent to a healthcare worker doing the same.
Also, some people might not have dev environments set up on their personal devices. Heck, a lot of people only use the internet through their smartphone, when they're not at work.
Because those half-days soon add up, in this market you don't apply just to one company.
No chance you can do that on "sick days", fake doctor/dentist appointments, or other such scheming. Taking many half days of personal leave just isn't workable either. You're not in full control of the scheduling to make different companies interview you one after each other on the same day, or take the same time between rounds. Some could have been scheduled in lunch breaks but not all of it.
Most people I've worked with would just schedule some "focus time" and were either WFH or headed off to a quiet part of the office or a nearby co-working space. Personal laptops are easier to use offsite obviously.
Why it isn't? A genuine question, I presume this is more typical US culture or dare I say workaholism and various self-pressures to maintain some public office image?
I recently took quite a few half days off to manage workers doing bigger reconstruction in our apartment. Sometimes full day. Then smashed a week of vacation in Sardinia in between. Everybody understood whats happening, nobody cared since many went through similar exercise before.
Your time is your time, if you actually let it happen. Or you can spend your life living with servile attitude, nobody will thank you though.
Because my personal leave is time I want to spend with my family. I would have had to have taken about 4 days worth of leave (8 half days) to cover these interviews and that's 4 days a year less I get to spend with my wife and kids.
(UK based so not US culture, and not workaholism or image.)
For the ones I usually take, a few hours out from overtime budget is enough, or WFH days.
With 30 days holidays + overtime budget, taking a day off for an site interview, is manageable.
Programmers don't have any self-respect.
I have a relative who started (what has become) a successful winery.
During the first few years he worked on the winery on nights/weekends, but he kept his day-job as a finance guy at a relatively large company.
He told me he had to give a presentation at the company one day, plugged his laptop into the conference room projector and up popped a spreadsheet of wine-making measurements (pH, temperature, % alcohol, etc.). He said everyone in the room laughed.
I get enough calls asking what security appliances we use, most are probably sales, but heck no should you answer this... It's obvious many people do though.
I think Binance needs to start having IT Security like a bank as well.
I have not needed admin credentials for regular development purposes since VB6 (which I was using until 2013). VB6 and ActiveX dlls required read/write access to the registry all the time.
I don't disagree but note that apparently a bank in France, Credit Mutuel (and it's Fortuneo online arm), just got robbed of hundreds of millions of EUR: hackers who have beforehand created accounts on Kraken (a cryptocurrencies exchange) and who then wired millions to different accounts, bought cryptocurrencies, and withdraw the crypto.
But the hack was really stealing hundreds of millions from the bank.
So not even banks are safe now.
The company was a bit salty about this as laptops are more expensive, but they got them. And of course the company befitted, as that was the end of a clear separation between work and home. You have your laptop, you can answer email and attend meetings with people in other time zones. Before, it was easy; work stuff stayed on work computers and those didn't leave the office when you went home.
I don't know how people are ok using their personal accounts on work-laptops full of spyware.
So despite it being a "company" computer I personally installed the blank SSD and installed Arch on it and did not install any company spyware.
I was perfectly comfortable also having Steam installed so I could entertain myself on the plane on business trips. I knew everything installed and spyware wasn't on the list.
When I work at companies that have MDM set up on my computer, I don't do that.
I have a personal desktop because I grew up with video games and a desktop was always a personal investment. I never had a personal laptop, I cannot justify the cost (not a trivial expense, even if my work title is extremely fancy it does not pay on par), so if I would be traveling I would have to take the only laptop I have with me - the work laptop. Well, I managed to never use it, I don't take it with me, but there is a lot of effort in that.
In such a company I would give employees 2 laptops and 2 phones, one set for work only, one set for personal use only, then I would fire on the spot anyone mixing the usage. That would be a start in a longer journey of protecting the company.
I also refuse to install Intune or similar on my personal hardware. Keep work and personal like oil and water!
Often this is solely fault of employers not paying their workers enough.
At several companies I’ve seen folks run torrents to watch movies at work.
Once I was on a Zoom call, and I noticed music production software on my colleagues computer.
When I pointed it out, they responded with something like “ Ohh, my kids make music.”
Neat, I guess.
We are talking about highly educated people who work in software development (i.e. can assumed to have some minimum viable knowledge about computers), and not about the dumbest imaginable users.
"Need some new software" = "Download it from some random website"
"Software won't run" = "Turn off AV and get it everything permission"
"Still won't run" = "run as root"
My experience is completely different: many software developers are rather paranoid with respect to security, and have quite a good (though far from expert-level) knowledge about security. It's rather that many software developers are quite hostile to security practices that are mostly "security theater" and obstructs them in doing their work.
The following Reddit post
> https://www.reddit.com/r/NonPoliticalTwitter/comments/1e8do2...
and the top answer
> https://www.reddit.com/r/NonPoliticalTwitter/comments/1e8do2...
describe the mindset that I observe rather well.
Plenty of software engineeers (and doctors, lawyers, scientists...) are geniuses in their field but have zero common sense.
-Darth Vader.
Being able to make React components does not require you to be smarter than the average person.
You also have multiple types of intelligence. I worked with a brilliant intern once. The kid was over 100k in student loan debt and didn’t know the loans can’t get discharged.
They can garnish Social Security if you default on Student Loans.
https://www.cbsnews.com/news/how-much-social-security-garnis...
I’m not going to look it up, but at a certain point you’re judgement proof anyway.
I suspect that many desperately poor can successfully dodge the garnishment.
That's a bit of charity isn't it? Lot's of people in tech that really not that clever even if they are smart. Also, people in HR aren't as tech savvy.
Do I need to go on?
It wasn’t until my PhD when I took an elective in Argumentation theory that I learned about constructing a good argument. And I only learned about fallacies somewhere on the internet.
* I have a PhD in STEM.
No, 'people who work in software development' != 'highly educated people' and those both != 'understand how computers work'.
> dumbest imaginable users.
They are often one and the same.
It is one thing to do personal things on a work laptop, it is another all together to give your children free reign. Are there no penal measures taken to deter this anymore?
> use of an internal AI tool as a springboard. The attacker leveraged the compromised computer of engineer B and used an internal AI tool to gain control over the Wallet DevOps Engineer A and another Wallet Software Engineer C. The attacker soon discovered Wallet DevOps Engineer A had a container deployment permission token on his computer.
With the AI craze going on recently I've worked at multiple companies where an internal AI tool was vibecoded and I've always been worried about the security implications.
I even create a 1 man company for my consulting services and I receive ads about how people at my company saved me a spot on an online game.
LinkedIn is partially responsible for their neglect here.
I used to go to parties at Hacker Dojo in the early days of AI. Google wasn't into AI yet and Hacker Dojo had classes, often attended by Google people. (I learned way too much about support vector machines, in a class taught by a guy from BlackRock.) There were a lot of very good looking Chinese women at the parties who were very interested in what people were working on. They were very bright, understood the subject, and had business cards from small companies no one had heard of. Then one day they all disappeared and were not seen again. I regret not asking one how she liked working for the Third Department.
They tried to get me to git clone a repo, presumably to get me to install malicious npm dependencies.
I refused, then they wanted me to download Claude Code but I told them I already had Claude Code harness installed on my machine... But they said I should install a different version of it; they sent me a link... The landing page was the same kind of design as Anthropic uses but I didn't recognise the URL. I stopped the interview right there.
The name on the CV, was, for the sake of privacy, Michael Smith, from Australia, and ticked the right boxes.
We'd expect a fluent, Aussie-accented English speaker. Instead, we had a candidate with a webcam that wouldn't work (weird!!), with clearly accented English of a East-Asian background. I suppose there's a vanishing chance they really were Mike Smith of Adelaide or wherever, but we couldn't take that chance. We tried rescheduling, but tumbleweeds...
[0] https://www.binance.com/en/blog/community/322915344375956676...
https://news.ycombinator.com/item?id=50353818 https://news.ycombinator.com/item?id=50357080
That is a huge red flag, and reflects on binance internal security. I would be wary of dealing with this company,