erlef / erlef/elixir-secure-coding

Confusing code example in Section 5: Untrusted Code

Open
#39 1 comment 0 reactions 0 assignees View on GitHub
bug small adjustment
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.

![Screenshot 2022-11-29 at 15 35 21](https://user-images.githubusercontent.com/7852553/204557541-48b9be12-cfda-4713-afd8-7a434ecc9b82.png)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.