To be clear: This is not my position! I advocate for service accounts in my post:
> It is much harder to reason about, say, the security of an arbitrary Engineer's laptop than it is an EC2 instance that exists exclusively to tell KMS to sign something.
> So every time we fire or lay off the person whose name is on the automation, we need to rotate the keys?
If a person previously had access to the key and knowledge of the key gives you control over that automated workflow, is that key (and by extension that workflow) still worth trusting?
Part of the threat model for an Engineering team is that people come and go. They move teams which have different levels of access. They leave the organization, in most cases, on good terms. I want to set up infrastructure where I don't need to remember that your SSH pubkey is baked into production configuration after you leave the company.
There are several options for setting up per-connection keys that are dispensed to users through the company SSO. That setup means you don't need to maintain separate infrastructure for (de-)provisioning SSH keys.
> "Had the engineer that acted on that known better, or did other checks, this would have been avoided."
<insert takes long drag tweet[1] here>
I personally find "LLMs can do $THING poorly" and "LLMs can do $THING well" articles kinda boring at this point. But! I'm hopeful that stories like this will shift the industry's focus towards robustness instead of just short-term efficiency. I suspect many decision making and change management processes accidentally benefited from just being a bit slow.
> The job of a code reviewer isn't to review code. It's to figure out how to obsolete their code review comment, that whole class of comment, in all future cases, until you don't need their reviews at all anymore.
Making entire classes of issues effectively impossible is definitely the ideal outcome. But, this feels much more complicated when you consider that trust doesn't always extend beyond the company's wall and you cannot always ignore that fact because the negative outcomes can be external to the company.
What if I, a trusted engineer, run `npm update` at the wrong time and malware makes its way into production and user data is stolen? A mistake to learn from, for sure, but a post-mortem is too late for those users.
I'm certainly not advocating for relying on human checks everywhere, but reasoning about where you crank the trust knob can get very complicated or costly. Occasionally a trustworthy human reviewer can be part of a very reasonable control.
It’s also the case that someone you trust makes an honest mistake and, for example, gets their laptop stolen and their credentials compromised. I do trust my team, and want that to be the foundation to our relationship, but I also recognize that humans are infallible and having guardrails (eg code review) is beneficial.
Congratulations! Fish is such a wonderful shell. It’s been my daily driver for many years now but I’ve had a renewed appreciation for it now that I’m working in several different development environments.
The default fish install Just Works so well that I don’t bother with trying to schlep my dotfiles around.
While there are compliance/security benefits it is not the primary motivation.
If you have fairly complicated infrastructure it can be way more efficient to have a pool of ready to go beefy EC2 instances on a recent commit of your multi-GB git repo instead of having to run everything on a laptop.
Signal does have a desktop application. I believe you can also register a Signal account using a phone number from a service like Twilio. I'm not 100% sure that will work with Signal desktop though.
Most interesting e2e projects have abandoned email, specifically SMTP, as a secure messaging platform. I would look outside SMTP-based solutions if I were to start using a different project (assuming doing so is an option... I hope it is!).
Praetorian | Security Engineer | Austin, Texas | REMOTE (For principal and staff positions)
Praetorian is different. We are a collective of highly-technical engineers focused on helping our clients solve their most difficult security problems. Rather than break things over and over, our goal is to have an actual impact in making the world a better place. 100% privately owned and self-funded, we are focused on doing the right thing over short term profits. Where other companies pay lip service to vision statements and principles, we are unwaveringly guided by our core values, which are:
* Put the client first - Everything else will work out.
* Enjoy the work you do - Passion eats education and experience for breakfast.
* Be humble - True significance is only achieved as a team.
* Embrace the wobble - There is existential urgency to our work. We need to move and adapt quickly.
* Walk with a swagger - Relish the new challenge.
* Default to open - The right decision is in the data. Share all of it.
* Orient to action - Do not wait to be directed. Engage.
* Performance matters - We are a small company intent on doing big things. Every individual effort counts.
* Stop evil - Our mission is to make the world a safer and more secure place.
* Make craters - Our time on this earth is short. Leave an impact.
Although small, we are growing rapidly, with 50% YOY growth for the past three years. That growth is based on fantastic clients and their support. Our annual net promoter score is consistently over 80%. By comparison, Apple is typically in the mid 70s, and Amazon is usually in the high 60s.
We are looking for experienced engineers that share our values. We offer our staff a generous benefits package, including:
I think a password manager (minus some of the scary bits like browser plugins) is a much better option than a mental password generation scheme. Maybe some folks can handle this but I think this is a non-ideal general recommendation.
This is a common theme in this thread but I'll re-state it here:
Web browsers cannot reliably distinguish between a configuration mistake and an attack.
For this reason, I think hard HPKP fails are a good thing. For those who opt-in to HPKP, this is a risk one takes in exchange for greater control over certificate validation.
As far as I know almost all browser security warnings are overridable. The only one that comes to mind that does not have a click-through option is when a HSTS-enabled site fails a validation check.