#!/usr/bin/python3 import code import sys import seccomp f = seccomp.SyscallFilter(defaction=seccomp.KILL) # Necessary for Python. f.add_rule(seccomp.ALLOW, "exit_group") f.add_rule(seccomp.ALLOW, "rt_sigaction") f.add_rule(seccomp.ALLOW, "brk") # Mostly harmless. f.add_rule(seccomp.ALLOW, "mprotect") # Allow reading from stdin and writing to stdout/stderr. f.add_rule(seccomp.ALLOW, "read", seccomp.Arg(0, seccomp.EQ, sys.stdin.fileno())) f.add_rule(seccomp.ALLOW, "write", seccomp.Arg(0, seccomp.EQ, sys.stdout.fileno())) f.add_rule(seccomp.ALLOW, "write", seccomp.Arg(0, seccomp.EQ, sys.stderr.fileno())) f.add_rule(seccomp.ALLOW, "ioctl") f.add_rule(seccomp.ALLOW, "mmap") f.add_rule(seccomp.ALLOW, "munmap") # Needed for finding source code for exceptions. f.add_rule(seccomp.ALLOW, "stat") f.add_rule(seccomp.ALLOW, "open", seccomp.Arg(1, seccomp.MASKED_EQ, 0x3, 0)) f.add_rule(seccomp.ALLOW, "fcntl") f.add_rule(seccomp.ALLOW, "fstat") f.add_rule(seccomp.ALLOW, "lseek") f.add_rule(seccomp.ALLOW, "read") f.add_rule(seccomp.ALLOW, "close") # Needed for code.InteractiveConsole. f.add_rule(seccomp.ALLOW, "access") f.add_rule(seccomp.ALLOW, "select") f.load() code.interact(banner='')