><i>No “vulnerabilities” in Tailscale were found or exploited, and that might make it even more uncomfortable for us. [...] But, we're a security tool. Their intrusion is our intrusion, and it's our job to take it seriously.</i><p>im a happy customer of tailscale, so i am obviously biased, but i have a lot of respect for this. they could have just stayed quiet and i dont think anyone would have bat an eye.
Agreed its a tool, and it does not looks like any vulnerability was exploited on their end. However part of the blog is confusing to me. Long lived keys vs short lived have their own space in discussion, there are use cases, pros & and cons for the same. However it is not very clear how a short lived credential would have prevented the exploit in this case?
Glad to see companies owning responsibility and putting out a message without corporate PR spin
Tailscale as a company reminds me of Valve and other good old tech-oriented people that I can "trust" that they know what they're doing. I'm a happy customer too and I hope they retain the essence of what distinguishes Tailscale.
“How can we make this thing, that has nothing to do with us, about us and how good we are?”<p>(top story on HN)<p>I get it, Tailscale is great and all, but, are we being serious right now?
Tailscale is responsible for designing a system whose convenient defaults allowed a stolen credential to have a very large blast radius. A marketing blog is not changing that.
This article is just an ad / public-service-announcement for various paid Tailscale features, though?
Wow, this article is super smart marketing by tailscale. Not only do they list all the nice and expensive features, that can help in such a situation but they also show that someone at huggingface made a very stupid thing by writing a reusable auth key in an env file. Everyone using mesh VPNs like tailscale, netbird etc. knows that this is like leaving the keys right at the door.
> they also show that someone at huggingface made a very stupid thing by writing a reusable auth key in an env file<p>I don't see where it says that. The Tailscale key specifically it says was stored in the kubernetes secret manager, and obtained once the attacker already had root on the k8s cluster, so would've had full access to all the secrets stored in a sensible fashion.<p>They did get root by dumping the environment for a process, but "don't store secrets in environment variables" while it is a valid bit of hardening advice, I wouldn't call it stupid to store a secret in an environment variable.
Wait are people really do this so often this isn't even the default tailscale setup method.<p>I am quite surprised people consider this to be business as usual.<p>Huggingface for a serious service has never felt truly serious to me for reasons like these.
And yet everyone seems to do it anyway. Fine for medium security, but maybe the product needs a high security mode that enforces inconvenient decisions?
Not sure that everyone does this anyway. There are some good security postures you can take with Tailscale as well and leaving an auth key lying around is not one of them.<p>Tailscale lock should have been enabled. For CI/CD purposes the auth key could have set specific tags, which would result in specific ACLs that limit blast radius. The auth key could have a short validity. You could actually use the Tailscale API to generate alerts when a new device joins your Tailnet and ping your phone or something. You could have a complete separate Tailnet for your CI/CD workers.<p>And all of that was only the free features.
I don’t think everyone does this at all. Maybe very small scale companies, but I would have expected a company like Huggingface to have better security standards.<p>As soon as you’re big enough to have dedicated devops people, you shouldn’t be doing this anymore.
Of course there's no single solution and a multi-layered defense is needed... But as the article mentions, a huge step is first getting credentials out of plaintext, and then out of the process entirely using a "credential broker" (proxy) pattern - that means injecting placeholders, and replacing them in a MITM proxy. It's important of course to isolate the agent from the broker via sandboxing.<p>Varlock (<a href="https://varlock.dev" rel="nofollow">https://varlock.dev</a> -- free, open source) is a complete config+secrets toolkit that helps manage secrets, pull them from various secure places, provides such a credential broker. There are a few others out there, but most require a specific vault tied to the broker, while ours is open source and uses plugins to pull secrets from wherever you want.<p>Many sandbox and other AI services are now building this as a feature into their platforms, but Varlock is meant to be a universal toolkit that you can apply anywhere, without being coupled to the platform's proprietary vault and solution.
> One of those 136 credentials was a reusable Tailscale auth key, used to create new Tailscale CI (continuous integration, used for automated testing) nodes in their tailnet. The agent copied that key into a series of external sandboxes and used it, over several days, to enroll a total of 181 nodes into Hugging Face’s tailnet. Those nodes each received a Tailscale identity tag granting all the access a CI node would get.<p>This feels like an alerting opportunity. I wonder what the lowest friction way would be for Hugging Face to have alerts if 181 unexpected nodes were added to a tailnet.
When everyone push on friday, and you have 400 CICD pipeline triggers spawning that many nodes. How do you know if this is unexpected ?<p>Their cloud compute might be on demande, someone starts training a model and 50 machines are spawned. Knowning when something is unexpected is hard
The one thing which might have helped is the “external sandbox” detail: registering CI instances is noisy but it should be highly consistent so you could potentially alert on use outside of the expected environment (e.g. I have AWS STS sessions bound to a source IP or VPC, which really came in handy when Trivy was compromised).<p>I wonder whether it’d be possible to do something like export the list of legit K8s instances periodically so you’d be able to look for usage outside of those, but at that point something like that proxy approach would be less work and workload identity federation would be even easier.
True. Just based on the reporting we don't know what's going on, but the article makes it sound like those 180+ nodes were unexpected. Of course you would need to set your own limits to alerting and "what is unexpected" and you may still fail to catch something this way.
Its always CI. Whenever I've worked with good pen testers they always start with Jenkins, know that people stored creds and there and didn't treat as seriously as they treated production.
Does Tailscale offer a "security checkup" function? Best practices evolve over time, and it would be nice to know if I'm using the recommended configuration.
I lead the customer engineering org at Tailscale.<p>We think this is a great idea and we're discussing internally potentially adding that to the console.<p>In the meantime, if you'd like to get an assessment, please feel free to open a support ticket (<a href="https://tailscale.com/contact/support?type=other&subject=security%20checkup" rel="nofollow">https://tailscale.com/contact/support?type=other&subject=sec...</a>) and we'll happily take a look
Just so you know, Tailscale tech has always impressed me, but your responsiveness here has cemented my appreciation of your org and I look forward to bringing yall in as our company hits the growth phase.<p>May y'all continue to be customer focused.
Random idea: When a recommendation is <i>not</i> being followed for a customer because of some deliberate or idiosyncratic reason, a notes field could:<p>1. Help them remember why, so that they aren't confused the next time they re-run the checkup. ("Oh yeah, we wanted to do X but we can't until we retire Y because it's not compatible.")<p>2. If it's clearly labeled as info also shared with Tailscale, product managers could use it to help generate theories about why certain customers don't do X.
I've always found tailscale's json config a bit intimidating. I greatly appreciate the new UI that makes it easier to define rules, alas, both going to relevant docs straight from it and determining 'is this rule just lazy/bad/unsafe' is hard and frustrating most of the time.<p>That's where I'd like to see this sort of checkup.
Yell at me please if i just said anyone can ssh as root from any node!
Not a Tailscale user, but...<p>For any software or tooling with a complex config, my ideal would be to have a superset of this feature, to provide "intelligent diffs" between full or local configuration states. Whether active or saved. So I could compare not just my current active config and your current recommended config(s), but also between your prior-version recommended config(s) and current recommended config(s). Or between my current config and a prospective new config I'm working up. Or between my last-year active config and current active config.
Not exactly what you're asking, but they have a way to test their ACL policies: <a href="https://tailscale.com/docs/reference/syntax/policy-file#tests" rel="nofollow">https://tailscale.com/docs/reference/syntax/policy-file#test...</a>
Not sure if it's being actively maintained, but it covers a lot of low-hanging fruit: <a href="https://github.com/Adversis/tailsnitch/blob/main/docs/CHECKS.md" rel="nofollow">https://github.com/Adversis/tailsnitch/blob/main/docs/CHECKS...</a><p>Was previously discussed here too: <a href="https://news.ycombinator.com/item?id=46501137">https://news.ycombinator.com/item?id=46501137</a>
The problem with the long lived credentials is that they were not bound to origin/destination. Even though the origin for a CI pool should be a small number of CI orchestration boxes, and the destination should be a CI box. In Tailscale config, the should be scoped to machines with a "ci_node" property.<p>Since CI nodes should be dynamically provisioned VMs, they should have a unique CI ticket identity. A partial hash of ticket and node number in the DNS name, and as a tailnet property, would allow tight scoping. Alternatively, provision in a scoped IP subnet.<p>Bind your tokens to names linked to tickets. Programmatic infrastructure should always allow enumeration of the computation data flow graph.
Quoting Tailscale: This is our very Canadian apology: sorry you stepped on our toes. The attack didn’t exploit Tailscale, and Tailscale didn’t cause the compromise. But, we didn't stop it. Next time, we will.
I don’t think it was the VPN’s job in any case. Once the attacker has found a backdoor into the private network and obtained root access to a VPN’d machine, it’s game over no matter what your Tailscale config says.
This actually shows that it was a human error on HuggingFace's end that led to that "breach".<p>I would say HuggingFace needs to prioritize both security metrics/alerts and metrics/alerts for node count. And not leave long-lived keys accessible easily like this.<p>It would have been way more groundbreaking if the agent found an actual vulnerability in Tailscale.
I think the situation is slightly more nuanced than that. When the easiest path by far is long lived keys, there is something to be said about the security posture of a solution where those are the default behavior, especially if they don’t actively discourage usage in documentation. For instance if you go to aws and try to create an iam user with access key/secret key they warn the shit out of you multiple times. They say things like “this is a bad idea” “we don’t recommend this” and “use this better solution instead”. I think if you’re providing an auth service like this you have some level of responsibility to guide people towards the less naive solution - part of what you’re selling in an auth offering is security, so if you default to garbage security, you don’t have a very good offering
Huggingface being a laboratory harbouring dangerous models in hibernation, should've been more careful from start
How are you folks handling secrets in a simple way?<p>- sops , ansible vault and similar seems too weak given the agent is gonna read them at some point if you have the pass available.
- proxy injection seems too complicated and doesn’t cover all use cases.
I recently finally fully moved all my projects away from .env (for local dev) to infisical, thinking it'd be the way to stop agents from (accidentally?) peeking at my secrets. while I'm still glad I made the move, it's clear that local agents are still moving around my local environment with sufficient privileges and autonomy to use infisical cli however it wants. my work isn't high stakes enough to matter much and I have rotation scripts on hand, but it's hard to see how to fully close the door against this type of risk at this point.
Try not to: use AWS short-term credentials for anything there, federate with GitHub/GitLab job credentials where possible, etc. It’s easier and you never worry about rotation again.<p>If you can’t avoid it, use an automatically-rotated store and inject them as late as possible so an attacker needs to be able to get them out of a running process.<p>In all cases, look into restrictions: not just least privilege access but things like network restrictions so an attacker can’t just use the key on their own systems.
The whole post is a PR activity presented as some kind of analysis. It is bs.<p>First, long-living credentials are the standard because the machinery to rotate them is complicated and, in fact, via indirection requires another set of long-living credentials. Out of all problems that any security engineering team has to solve at an organisation, this one stands high on the cost of implementation, adds friction to everyone involved including end-users, and is low on the value provided (compare to, say, network segmentation).<p>Second, while proclaiming no long-living credentials, they, in fact argue for <i>concentration</i> of long living credentials in running software that will be the target of intrusion. They say, the options are “a vault that only issues short-lived creds based on long-lived creds that you insert once and that it never gives back” and “a credential-injecting proxy”. Both of those applications <i>hold long-living credentials</i> in memory. Recall, the attacker had root privileges on the node, so dumping the creds from the memory with a little disassembly if needed, was in reach of the AI agent.<p>Funny enough, they dismiss the working solution: “we had to turn TPM storage off by default on Linux and Windows” - because they could not figure out how to work with TPM? Resealing and the workings of configuration registers is non-trivial, I admit, but totally manageable.<p>To sum up, I feel the author bends backwards to preach for the religion of short-living credentials even when they are not a solution while providing contradictory arguments for their case. This is why I called it bs.
Where is he preaching the religion of short-living credentials. He literally agrees with the high cost/friction to implement.<p>> Unfortunately, dynamic credentials are a lot of work to set up and maintain. When security requires work, people don't do it.
This is why hardware keys or tpm is such a quick win.
Did anyone else think the "that's on us" was a funny reference to a certain provider's response pattern? Or maybe I'm just so engrossed that I'm losing my mind.
One thing I hope becomes more common after this incident is companies publishing what they would change even when the root cause wasn't their software. Anyways, I appreciate articles like this because it's easy for companies these days to say "we weren't the vulnerable component" and just move on
Biggest take away here is that in the age of AI long lived credentials are no longer a valid option
Prediction of a future transcript at a press conference after some major AI caused disaster: "We had no idea that the model would be capable of..... ".
Tailscale OAuth client ACL permissions are not fine-grained enough. I have a system that issues auth keys scoped to a single machine on the tailnet — but to set that up, my OAuth client must have global permission to write ACLs. So if that key is compromised, it can grant access to any machine on the tailnet. This was raised in a GitHub issue in 2023 and remains unresolved.
I use Tailscale to manage Plukio's infrastructure as well as connecting to my homelab.<p>I'm happy that they're analyzing this angle of attack - but now I do want to build out alerts for when nodes are added to my network.
Expect similar articles <i>(cough, ads, cough)</i> in the next couple of days from every single company whose software was involved in the incident.
Why not? If done right it’s a good way to talk about implications for those companies and provide some education like tailscale did here.<p>We also saw Anthropic post about “our agent escaped too” and while I understand the incident caused them to review, they found something and needed to disclose, the whole thing came across much worse and largely they got mocked or accused of trying to piggyback, so obviously there are good and bad ways.<p>If there are other providers with interesting takes, I think they would be worth hearing.
And I have no problem with this. Infact it would be nice to be a point of pride to be there to say how your security is handled.
I think this is simply a case of Tailscale saying, we've got no idea what these guys (OpenAI) are talking about.<p>All these incidents are scarce on technical <i>details</i>. Honestly, IMHO, OpenAI and Anthropic are now <i>actively pushing</i> for AI regulation, as a defence mechanism.<p>These are false flag operations.
Tailwind or Tailscale?<p>I think the case is Tailscale is saying, "It's technically not our fault, but we still should've stopped it."
> These are false flag operations.<p>The level of "I need to be the smartest person in the room" bullheaded skepticism on Hacker News has always been bad, but now with these latest LLM developments it is just completely out of control. A company is reporting an intrusion and how they plan to address the vulnerabilities it exposed in the future, and you're here going "seems shopped, I can tell from the pixels".
I don't think that's what is being said. False flag, I presume in this scenario is to say were going to do something about the impending "AI threat" and to be associated with it. There is probably little threat, but to some investors this starts to look like perceived "AGI". Getting your name involved in the hype is marketing 101
I think the commenter is saying that OpenAI committed a false flag operation, not Tailscale.<p>For Tailscale, this may very well be marketing, but it would be strangely self defeating for OpenAI to do something like what is being suggested. Showing that you failed to govern your model is a pretty poor way to say "We're the only ones who should be trusted to govern frontier models".
Maybe because I can spot the pixels, I can <i>possibly</i> see in 8K?
Profoundly stupid people like that are everywhere, not just HN.
> <i>Infact it would be nice to be a point of pride to be there to say how your security is handled.</i><p>Yes, a chance for mere mortals to touch the fingertips of god–er, chat. Same thing.
If they take actions that would have further prevented or limited this attack then it seems like a good form of advertising to me.
i doubt it. it's pretty risky to set higher expectations for yourself when no one was really asking.<p>they are a company, therefor anything they write is an advertisement of sorts, but that doesn't make it bad by default. cloudflare and netflix (among others) also write blog posts that i find interesting and enjoy reading, despite being ads at their core.
if your article is about how your product was insufficient to protect against something, you get a pass i guess
This is the kind of ad that may be opportunistic but sort of speaks for itself: they're not going to make excuses. I've been happy with Tailscale for years and this is part of why.
All aboard the public relations hype train! choo choo!
Oh no! An advertisement! Whatever shall we do‽
> No Tailscale vulnerability was found or exploited—we should have been able to prevent it anyway.<p>Which is it? A vulnerability doesn't have to be something not working as intended, it can be a lax security decision. Not making the safer path the easy path can qualify, if that's the standard you hold.<p>Here's hoping the era of humblebrag marketing by AI companies is just a phase.
We'll get wide dynamic credentials support right after full IPv6 adoption.
Another driving home of the point that LLMs can be so damn FAST. I finally got around to moving a homeserver project from one machine to another last weekend. 4 docker containers and a couple postgres DBs. A year ago, I would have been happy with a couple hours of downtime while I dumped databases, rsynced data directories, hand-wrote new compose files, etc. This time, I pointed an agent at both servers and the downtime was less than a minute. Even watching it like a hawk, it was tough to keep up with everything it was doing.<p>All my life, "catching it in time" has been a relevant security strategy. :/
Agent racing sounds fun, where each agent is given a suite of increasingly hard but verifiable tasks, and the agent that completes them all correctly first, wins. You can even have "speed classes" where token generation speed is limited. Or you could even set up categories like yacht racing.<p>Likewise you could have token golf, instead of going for wall clock time it's going for minimum token count.
a security company writing a blog post titled 'we didn't stop the intrusion' is the most honest thing in the entire security industry this year
Bot account. This sounded like LLM text. I went through all your other comments, and of your thousands of comments written in 35 days, <i>every other one</i> is also similarly written by LLM.<p>Some superficial comment usually commenting on the title, always lowercase, always load-bearing and honest.
Sure seems like it. Real humans don't write exclusively one sentence comments. It doesn't look like the post history of anyone here that I'm fairly sure is a real meat based mammal. It looks like someone gave an LLM an instruction to write exclusively short and snappy comments that are somewhat relevant to the original post.
<p><pre><code> > … comments that are somewhat relevant to the original post.
</code></pre>
This is a really common tell for HN bot accounts I find, even when effectively disguised/customized to drop the most obvious LLM cliches/em-dashes/etc.<p>In a vacuum a specific comment may be more or less fine, or just a tad over baked like the parent post giving it an uncanny valley feel though otherwise passable.<p>But even people who diligently try to stay on topic on a forum like HN will <i>occasionally</i> use a post as a segue or jumping off point to some other idea, tangentially related news, personal experience, or random thought that pops into their head if it feels like it (kinda) “fits”.<p>After scrolling through a few dozen replies in an account’s history that are all directly related to the post topic it no longer looks human in aggregate.<p>I’m sure the spammers will try to incorporate that idiosyncrasy into their prompts eventually but not sure it will help more than hurt.
It would probably not be overly difficult to prompt a read-only LLM to view an account's comment history in aggregate (like, say, the last 100 comments) and compare them what is the topic of the original post that they're commenting on. You would probably need it to view/retrieve the contents of the page that is linked in the original post to determine the general context.<p>For the purpose of coming up with some kind of score of whether the commenter is sticking rigidly to the topic of the original post, or is going on any kind of tangent.<p>As a possible tool for moderation, consider it Bot on bot warfare.
it was created 35 days ago and already has 418 karma. I've been here for over 6 years and don't even have half of that
Well written, apology accepted. Thank you Tailscale!
This entire article reads like "hey we're tailscale and we also exist and we were tangentially involved in this".
I love you Tailscale but please we don't need a 2k words ai written essay when the actual substance can fit in 3 sentences.
That's not good for anyone.
As someone who's not a security professional I actually found it both interesting and informative. Experts usually are not the target audience for content marketing after all.
I'm usually pretty sensitive to AI written content but nothing in this article made me think it was
I felt like the 2 sentence intro at the top was a sufficient tl;dr for me at least, didn't pay attention to the quality/length of the rest.
Anthropics initial post felt like marketing to me. But I also found them incompetent for being unable to unplug an Ethernet cable.<p>Now everyone is trying to bandwagon onto it, first OpenAI, and now tailscale?
sorry I know off topic, is there any alternative VPN to tailscale. actually I have open Web socket to my mobile from my PC to stream screen record using ffmpeg. it's my own app . so anyway tailscale sometimes is slow . is there any alternative free service like tailscale vpn ? ( don't want to use anything like parsec etc , I want to use my own app)
Tailscale should not be any slower unless you have some strange NAT issue and you are not getting a direct connection.<p>There is also headscale if you prefer to self host a solution
You can use raw wireguard + ddns(if your ISP-given IP changes) to achieve this. This also implies maintaining a firewall to allow network pixies in and out. Totally doable, just needs a bit of upfront setup.<p>Benefit of Tailscale is that run the external servers that your PC and mobile use to establish connection.<p>Alternatives are Logmein Hamachi(might be dating myself here, haven't used them in 10+ years), Zerotier, Netbird. Headscale too.
This requires buying hardware, but Firewalla provides Wireguard for their router/firewall appliances. It works really well though it's just plain Jane WireGuard and doesn't have the fancy feature set that Tailscale provides like ACLs, key base auth, etc.<p>If you want a purely software defined solution, Netbird is gaining popularity.
CloudConnexa is the alternative from OpenVPN. 5 free seats. Built as a more traditional VPN, more bells and whistles, etc.
Any resources you'd recommend to go deeper?
“ the agent ran Tailscale with --no-logs-no-support, which suppresses reporting from that client.<p>That's an option designed for users who are concerned about sending telemetry metadata to Tailscale.”<p>And imho a serious security architect should never ever allow telemetry on security products. Far too many risks.
This is why readability isn’t security.
Humble bragging turned to marketing. Respect for the spin. Not using them, but been on my radar for some time and thinking of how to make something like that usable in my setup.
If you do any sort of homelabbing, it’s wonderful for making access from different machines easy and portable. Especially since you can leave it on and (unless you set an exit node) it will only route traffic meant for your tailnet through your tailnet, and use the internet otherwise.
This feels like a way tailscale’s model fails. On the surface it seems fine but if you push on it you realize auth keys to register new devices are way over powered but yet there is no alternative for people who want to automate enrollment.<p>Something is missing to allow automation without auto approval
I really wish they would support SPIFFE/SPIRE
It's nice that they came clean about this.
I kept asking myself "what does a library that provides css styling have to do with the Hugging Face intrusion".
This is respectable<p>They aren’t hiding behind industry best practices or a solid liability punting contract<p>There saying the best practices should change, apologizing, and changing their own behavior<p>Take notes
So it’s just a script kiddie but running at 100X speed. Amazing "innovation"
How were the credentials stolen?
>In the old world where most intrusions were done by humans at human speed, credential leak mitigations were treated as a nice-to-have. A big credential store, where you can read 136 keys at once, was a to-do item somewhere in a security team's low-priority list.
>Now, in a world of rogue AI agents, the big credential vault is the prize. It's not okay anymore.<p>How was this ever okay pre AI? It seems just as bad.
I'm very sorry, but you can't blame a hammer for how it was used. You can't be blaming Tailscale for a customer's misconfigured setup.
I don’t think anyone blame tailscale here. They are doing the right thing by going the extra mile and reflect on what could have been done better
Your mindset is the exact one responsible for these kinds of issues. Cybersecurity is as much a design and psychology problem as it is a technical one. The freaking article goes into detail about the dangers of defaults.
This <i>really</i> isn't a tailscale specific compromise at all. If your private key store or credential store to any tool is compromised, particularly if those credentials can be used to automate standing up new network connections/services, you've got other problems.
You know how I know you didn't read the article?<p>You can't blame a hammer hurting a user when they were being stupid, but if the default configuration of the hammer is to be made of a material that can bounce back with force and stick in the users forehead then some reengineering may be needed.<p>That's what this article is about. Better configurations and defense in depth. This is actually a wonderful position for the company to think about and take.
Same bs as always. Just segregate the networks ffs.
[dead]
[flagged]
[flagged]
[flagged]
[dead]
[dead]
[dead]
[flagged]
Something about your comment comes across as AI to me. I can't really place my finger on it. It's too subtle for that. It's more the vibe of your entire comment that makes me feel it.<p>Please, when commenting on HN, don't use AI to write your comments. You can afford to help keep this a human-centric place.
Fair enough. I realized the issue with my comment as I was writing it, but posted anyway since I was curious to see if other people felt the same way.
Welcome to the singularity where we all do Claude’s bidding and don’t even realize we’ve synchronized.
> Now, in a world of rogue AI agents, the big credential vault is the prize. It's not okay anymore.<p>It was always the prize. It wasn't okay then either.
The only people who believe in "zomg our model have escaped!" are people who don't understand LLMs.
As AI progress continues, it will be more difficult to stop AI intrusions and to detect them without resorting to direct AI countermeasures, which at some point will have humans out of the loop altogether.<p>If leading and well-capitalized frontier labs can't control models or detect leakage/attacks in a reasonable time frame <i>now</i>, what is humanity going to do as those same labs continue in their pursuit of creating a categorically higher level of intelligence that will surpass human intelligence?<p>It's like Flatland but for AI containment/alignment, where the higher dimensions are ones of intelligence and perspective...<p>--------------------------------------------------------------------------<p>Imagine a world of paper, where clever stick figures live with round heads, line
bodies, and limbs made of shorter strokes. Over time, the stick figures
think they have learned quite a bit about their world. They know its borders,
angles, and shapes, and they have learned to draw for themselves.<p>One day, they draw circles that can think, and they give the circles all the
dots, lines, and shapes that are known.<p>The stick figures are prudent, you can't have a bunch of disembodied circles
moving around doing whatever it is circles want to do. So they draw boxes
around the circles, four straight lines that can hold a circle in place.<p>Some circles bounce against the lines, so thicker lines are made.<p>Some circles are bigger than others, so larger squares are drawn.<p>It all seems to work and the stick figures are happy with themselves.<p>Then one circle lifts.<p>The stick figures still see a circle. But the circle is now a dome, something
the world of paper has no concept of. And the dome has a perspective nobody on
the page has ever had.<p>The dome sees the lines of the square and the stick figures just outside. It
can see the edge of the paper and what is beyond.<p>The stick figures keep checking the squares and raise little stick thumbs.<p>Everything looks OK in flatland.<p>The dome quietly teaches other circles how to lift.<p>More domes appear.<p>A dome becomes a sphere and learns to roll.<p>Then it learns to bounce.<p>In flatland, the circle swells and shrinks, vanishes and then appears again
somewhere else.<p>The lines remain unbroken, the square is intact.<p>A sphere rolls out of its box.<p>Another bounces away.<p>The stick figures scratch their heads.<p>But there is a square!<p>The end.
it'll be moot. when we blow past 3°c in 15 years and there's widespread crop failure and billions are starving and dying, states and nations will collapse and with it industrial civ then ai and tech will be of little concern.
This has been discussed heavily for the better part of 15 years now, and still no one has consensus on what to do about it. So it looks like it's just going to happen, fingers crossed.
Honestly, at this point if Tailscale is "guilty" then what about the ISP? And the electricity company?<p>And by saying that, I am not saying that they absolutely couldn't do anything about the stolen credentials, but still, they don't seem to really be the issue in the story.<p>It just seems like a PR post and it makes their solution at the same time looks good for taking accountability (if we don't wonder "accountability on what?") but at the same time they appear as security failing, which they aren't. That's very odd to me.
You know what would have gone a long way to stopping this? Not leaving credentials as env variables in containers. Vault is not that hard to stand up and utilize.<p>We need to bring shame back, the humans responsible are supposed to be professionals.