erlef / erlef/elixir-secure-coding

Confusing code example in Section 5: Untrusted Code

未关闭
#39 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
bug small adjustment
主要语言
Elixir
星标
731
派生
172
PR 合并指标
30 天内没有已合并 PR

描述

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)

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。