News for hackers. Stuff that matters.
Re:Why do our programs need to read input and write output? by mcnamaratw on Sunday October 08, 2017 @01:12PM (#15429006)
My favorite part is that injecting an attacker's code would not cause a security problem, because the platform is immune to side effects.
Re:Why do our programs need to read input and write output? by marcosdumay on Sunday October 08, 2017 @02:21PM (#15429275)
The compiler is perfectly able to create side-effects.
Re:Why do our programs need to read input and write output? by mcnamaratw on Sunday October 08, 2017 @03:32PM (#15429578)
I'm not making the claim. It seems to be in the linked article:

""That's a security vulnerability!", you protest. "You are ... literally ... injecting remote code into your program."

Playing the devil's advocate, I ask you what is wrong with remote code injection

"Well, for starters, if the URL is compromised the attacker can run arbitrary code like ..."

... reading and writing files? Dhall is totally pure and doesn't support any effects at all (besides heating up CPUs ).

This brings us full circle back to our original "

Re:Why do our programs need to read input and write output? by marcosdumay on Sunday October 08, 2017 @08:17PM (#15430754)
Oh, ok. On the specific case of Dhall, it can not.
Re:Why do our programs need to read input and write output? by Gabriel439 on Sunday October 08, 2017 @02:34PM (#15429339)
However, the compiler/interpreter places an upper bound on the amount of code that we need to audit because it acts like a trusted kernel. We only need to audit the compiler/interpreter itself for safety and once we do so we can automatically trust all programs written in the language that it compiles/interprets
Re:Why do our programs need to read input and write output? by marcosdumay on Sunday October 08, 2017 @08:19PM (#15430761)
In a general case, the compiler acts as a sandbox. How much harm the malicious code can do depends on the specifics of how much IO it enables.

On the case of Dhall it's entirely safe, if you generalize it into a full OS equivalent system, you'd have to audit everything.