this post was submitted on 07 Jun 2024
532 points (98.4% liked)

Technology

59361 readers
7028 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 
  • Web3 developer Brian Guan lost $40,000 after accidentally posting his wallet's secret keys publicly on GitHub, with the funds being drained in just two minutes.
  • The crypto community's reactions were mixed, with some offering support and others mocking Guan's previous comments about developers using AI tools like ChatGPT for coding.
  • This incident highlights ongoing debates about security practices and the role of AI in software development within the crypto community.
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 55 points 5 months ago (1 children)

Even though that's a good extra precaution, per person config data, such as keys, should be stored outside of the repo, eg. in the parent directory or better in the users home dir. There is zero reason to have it in the repo. Even if you use a VM/containers, you can add the config in an extra mount/share.

[–] barsquid 6 points 5 months ago (3 children)

What's the general consensus on storing encrypted data in the repo with the keys outside? I see people recommend that but I'm too paranoid and my secrets are very small in size so it hasn't been necessary.

[–] [email protected] 10 points 5 months ago* (last edited 5 months ago) (2 children)

the format of the encrypted file can give the attackers an advantage. if your code reads the decrypted file, the attacker can guess the first line is a comment or the name of a setting. a savvy person can combine that with the algorithm to perform a "known plaintext attack", for example by generating a number of possible passwords that would lead to files starting like that.

[–] barsquid 5 points 5 months ago

That's smart. Anyone trying that should definitely have a machine-generated strong password!

[–] [email protected] 4 points 5 months ago

That's not quite the definition of known plaintext attack (cryptography nerd here), that's bruteforce with a "crib" to use older terminology (known patterns which allows you to test candidate keys).

A known plaintext attack is defined as an attack on the algorithm to extract the key faster than bruteforce with analytical attacks.

[–] [email protected] 8 points 5 months ago

I've seen that done for configuration management like Salt or Ansible. The repos for that were always hosted on internal Gitlab instances though.

[–] elephantium 0 points 5 months ago

I see some of that in my job. We put encrypted data in settings files, and the keys for decryption are provided on the VMs where we deploy. The developers never actually see the keys.

I suppose it's as secure as the process for managing the production VMs, assuming the encryption isn't just md5!