WeBWorK Main Forum

Safest/wisest way to allow file and shell commands in some problems?

Safest/wisest way to allow file and shell commands in some problems?

by Christian Seberino -
Number of replies: 2


My answer checkers require the ability to run shell commands and write to files.

What is best way to allow this? Must I allow it for ALL problems?

(I'm trying to write problems that check computer programs for a programming class.)

Thanks,

cs
In reply to Christian Seberino

Re: Safest/wisest way to allow file and shell commands in some problems?

by Kurt O'Hearn -
Hi Christian,

I cannot comment on WeBWorK's ability to handle the problem of running user-submitted code (I, for one, would not feel safe forking off a process with user-generated code). However, I can instead point you to another homework submission system called Marmoset.

I personally have not used Marmoset (besides trying the demo), but Marmoset has been gaining momentum at computing educational conferences. Marmoset is designed to handle and automate the testing/grading of code in the computing fields. The downside to Marmoset (beside having to set up a whole new system) is the requirement of multiple servers to run the system (submission, build, and grading servers).

Even if you do not have interest in using it, it may be good to check it out to see how they've handled the problem of running potentially dangerous code on a system.

-Kurt