voltone

voltone

The EEF’s Security WG has released the first public draft of the Secure Coding and Deployment Hardening Guidelines for BEAM languages.

Secure coding practices can help reduce vulnerabilities in software projects by steering programmers away from dangerous functions or patterns, and towards more robust alternatives. Deployment hardening is the process of reducing the attack surface of a production environment, e.g. by removing unused components and revising unsafe configurations.”

We welcome feedback and suggestions through the group’s GitHub repo.

Showing Posts 13 to 4

michalmuskala

michalmuskala

Looks good, thanks!

voltone

voltone OP

Ah, that was not intentional, thanks for pointing it out. We just wanted to illustrate how the hardening flags need to be added to other flags the user might want to set. There is some more copy & paste weirdness going there.

How’s this: Do not recommend `-g` in CFLAGS by voltone · Pull Request #15 · erlef/security-wg · GitHub ?

michalmuskala

michalmuskala

I noticed the Installing section suggests using -g flag for compiling Erlang. I would imagine omitting debug symbols should generally increase security or be neutral, but definitely not increase it. What is the reasoning behind this recommendation?

voltone

voltone OP

Announcement of the EEF Security Group’s Secure Coding and Deployment Hardening Guidelines at CodeBEAM SF 2020:

(That’s the full video, including the introductory 10 mins that were missing from a previous version)

This talk provides some background on where secure coding practices fit in a secure software development life cycle (SSDLC), and highlights some of the recommendations from the document.

Exadra37

Exadra37

Well, I don’t get the value of using ssl when it it ignores SSL ceriticates, does from my point of view it’s a security vulnerability, despite being documented that the module doesn’t do what it’s name implies it does.

voltone

voltone OP

Unfortunately this has been the documented behaviour of :ssl (and, by extension, :httpc) all along, so the OTP team does not consider this a vulnerability. It is important that everyone is aware of it, and I would highly recommend adding test cases to verify that connections fail when they should (e.g. using https://badssl.com) to any application that includes some sort of TLS client.

The fact that a CA trust store is not included is no real excuse for not setting {:verify, :verify_peer}. Ideally that would be the default, which would cause TLS clients to fail unless the caller passed in the :cacertfile/:cacerts option or explicitly disabled verification with {:verify, :verify_none}.

amnu3387

amnu3387

typo on the 2nd last paragraph amaounts

amnu3387

amnu3387

Haven’t read it all yet, but I think the idea of compiling these guidelines/hints is great. :+1:

LostKobrakai

LostKobrakai

I’m not sure this is the topic to discuss if unsafe defaults due to not shipping certificates with erlang is a security vulnerability or not.

Exadra37

Exadra37

I am still surprised that a CVE was not open by the author of that talks due to the :httpc module dangerous defaults of ignoring https certificates. We need to explicitly tell to check for them.

If I am not in mistake this vulnerability is not fixed yet, or is it?

Where Next? Top

Trending in Guides/Tuts Top

rogach
I’ve spent some time understanding how to do hot code reloading with releases built using mix release, and here I’d like to detail the st...
New
c4lliope
# ~/src/livebook/.iex.exs System.cmd("xdg-open", [ LivebookWeb.Endpoint.access_url() ] ) Because Livebook requires a unique passcode on ...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews