Hacker Newsnew | past | comments | ask | show | jobs | submit | sakisv's commentslogin

The way I solve the plain text problem is through a combination of direnv[1] and pass[2].

For a given project, I have a `./creds` directory which is managed with pass and it contains all the access tokens and api keys that are relevant for that project, one per file, for example, `./creds/cloudflare/api_token`. Pass encrypts all these files via gpg, for which I use a key stored on a Yubikey.

Next to the `./creds` directory, I have an `.envrc` which includes some lines that read the encrypted files and store their values in environment variables, like so: `export CLOUDFLARE_API_TOKEN=$(pass creds/cloudflare/api_token)`.

Every time that I `cd` into that project's directory, direnv reads and executes that file (just once) and all these are stored as environment variables, but only for that terminal/session.

This solves the problem of plain-text files, but of course the values remain in ENV and something malicious could look for some well known variable names to extract from there. Personally I try to install things in a new termux tab every time which is less than ideal.

I'd like to see if and how other people solve this problem

[1]: https://direnv.net/ [2]: https://www.passwordstore.org/


You can even go further and delete all your secrets from your env by creating wrapper scripts

Example : https://github.com/combostrap/devfiles/blob/main/dev-scripts...

It’s not completely full proof but at least gpg asks my passphrase only when I run the script


At least with direnv your exports are removed when you leave the directory.


but if you `cd project && npm install compromised-package` then compromised-package's setup script can still read your env vars, right?


Yes, but I guess that is still much better than that it can read all your .env files on your machine

Well, you can never be sure that he didn't:

https://www.fastly.com/blog/summary-of-june-8-outage


It's also what was the cause of the Azure Front Doors global outage two weeks ago - https://aka.ms/air/YKYN-BWZ

"A specific sequence of customer configuration changes, performed across two different control plane build versions, resulted in incompatible customer configuration metadata being generated. These customer configuration changes themselves were valid and non-malicious – however they produced metadata that, when deployed to edge site servers, exposed a latent bug in the data plane. This incompatibility triggered a crash during asynchronous processing within the data plane service. This defect escaped detection due to a gap in our pre-production validation, since not all features are validated across different control plane build versions."


This is actually pretty nice and amazing that they publish video format incident retrospectives.


Oh don't you worry. We are very much talking about the global outage as if he was the root cause. Like good colleagues :)


Hmm, wait a minute.. maybe he was the cause! (no, kidding. just upping the pressure as a good peer :)


are we truly good if we don't start a class action suit against this hapless scapegoat?!


Just join the one we've started over in this cubicle!


> May 12, we began a software deployment that introduced a bug that could be triggered by a specific customer configuration under specific circumstances.

I'd love to know more about what those specific circumstances were!


I'm pretty sure I crashed Gmail using something weird in its filters. It was a few years ago. Every time I did something specific (I don't remember what), it would freeze and then display a 502 error for a while.


Damn, imagine being the customer responsible for that, oof


What do you imagine would be the result if you brought down cloudflare with a legitimate config update (ie not specifically crafted to trigger known bugs) while not even working for them? If I were the customer "responsible" for this outage, I'd just be annoyed that their software is apparently so fragile.


I would be fine if it was my "fault", but I'm sure people in business would find a way to make me suffer.

But on a personal level, this is like ordering something at a restaurant and the cook burning the kitchen because they forgot to take out your pizza out of the oven or something.

I would be telling it to everyone over beers (but not my boss).


I would be tempted to put it on my CV :D


I think I agree with what I think you're trying to say.

However I don't agree with the repercussions of this, which are the same ones that make all reasonable people, security experts included, oppose EU's ChatControl or the UK's backdoor requests: There is no way to ensure and protect the people that need protection, as there is no way to ensure that only "the good guys" have it.

We tend to bullshit ourselves into believing that because spyware software like Predator are weapons, meaning that only countries would be allowed to buy them and use them (same way that Jeff Bezos cannot buy and use an F-35 for example). We see though, that certain individuals _can_ get their hands on these things and use them however they want.

For example, 3 years ago someone adjacent to the greek government bought and used Predator against MEPs, journalists, army generals, mafia bosses, MPs of opposing parties and even MPs of their own, ruling, party. The greek government of course denied that they did it, and they said that this individual did not act under the instructions of the government (though they then changed the law to prevent anyone for learning details about it, but that's a different story).

So, apart from adopting the same approach as with ChatControl and encryption backdoors, i.e. banning them, I don't know how we could protect ourselves against them.


I'm an American and am glad of my personal belief that the American system would not allow something like ChatControl by state mandate. I also wouldn't participate in commercial exploit development (even if I was capable of doing so competitively). But I don't think the two things are at all comparable.


ChatControl has almost happened here in the USA multiple times, and they will try again.


If you say so. Either way: not comparable to CNE operations.


So, this is Google Now but instead of one company having access to the data on their systems, now you're giving access to your data from different companies/sources to OpenAI.

(I do miss Google Now, it really did feel like the future)


The "major rule" in question is whether you should rest the meat after cooking or not.


The major rule was resting meat for a duration of time, not whether or not it should be done. The article still suggests resting meat.


Rest it to temp, not time.


Also it's not wrong, but actually right


Essentials: my own domain for emails, Fastmail, Bitwarden, Google for 100GB of storage.

Less essential: Obsidian, Kagi (this one may be bumped to the "essentials" at some point), a few VPS on Hetzner to run some projects, domain names for said projects.

Just because I like them and want to support them: Signal


I want to SaaS-ify my scraping process. It's gotten to a point that it works nice and reliably for me, now I need to wrap it in a good DX package and call it version 0.1.

(The main drive behind this was not to sell it, but to have a UI for when a website changes its layout and I'm on holidays and don't have access to my terminal and/or my yubikeys)


Starting a bit of a tangent here I admit, but this makes me much more worried about the future of mobile browsing.

Sure, soon enough a decent non-chromium based desktop browser will come along, be it Zen or something else, but what about the mobile world?

Right now firefox is perfect for me: It makes the web browsable by allowing ublock origin, it syncs my tabs, history and bookmarks, it's great.

Moving to a scenario that we have a different browser on the desktop and a different one on the phone or, worse, the same on the phone but without adblocking sounds like a huge regression.

P.S. Regarding Zen: If you want to be taken seriously, or at least as something more than a toy project, teaching your maintainers how to talk to your (potential) users will go a long way. Telling them off will not gain you any friends. (I'm referring to the github discussion mentioned in a sibling comment: https://github.com/zen-browser/desktop/discussions/5907)


That sucks. I'm kind in the same boat, but with one additional requirement: It should have an android app that I can install uBlock origin. The few times that I had to browse from a phone without an adblock I had to stand in awe as to what a lot/most people have to suffer through daily.

(The other more minor requirement for me is bookmark tags, but I may be able to hijack my way around that)


I have no reason to doubt your explanation and intention, however I think it would have been more efficient if this misunderstanding could be avoided.

Maybe something like "This looks good. Would be nice to see it extended to support companies that do not follow the calendar year.".


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: