erlef / erlef/elixir-secure-coding
Confusing code example in Section 5: Untrusted Code
- Dominant language
- Elixir
- Stars
- 731
- Forks
- 172
- PR merge metrics
- No merged PRs in 30d
Description
In Section 5: Untrusted Code there's this example that is suggested to be insecure:
```elixir
name = Kino.Input.text("What's your name?")
```
```elixir
textfield_value = Kino.Input.read(name)
{result, binding} = Code.eval_string("a", a: textfield_value)
"Hello, " <> result
```
We did this security training at my small team at work and none of us could figure out how to choose an input that would prove that this code is insecure. See screenshot for example. Is it possible that this example is not correct? Was it supposed to say `Code.eval_string(textfield_value)` instead? That would definitely be insecure.

Contributor guide
Assessment
This issue has not been assessed yet.