A secure application sandbox built with modern Linux sandboxing features - no longer actively developed, but still works fine, use bubblewrap if you need more functionality
C
295
187 commits
updated Dec 19, 2015
Playpen is a secure application sandbox built with modern Linux sandboxing features.
systemd-cgtop and robust control group
management.chroot.execve call by default and
includes support for parameter constraints. A learning mode is available to
automatically generate a minimal whitelist based on the system calls and
parameters used by the sandboxed process.A system call will only be permitted by the kernel if it matches one or more of the provided rules. Rules can be supplied either via a file (-S) or by passing rules on the command-line (-s).
Learning mode (-l) will append any missing rules to the whitelist file. It will add constraints on parameters specifying a sub-command, such as the request argument to ioctl. A coarser learning mode without parameter constraints is available (-L).
Syntax for the whitelist:
system_call
system_call: parameter operator value
system_call: parameter operator value, parameter operator value, [...]
Tabs and spaces are ignored. The command-line syntax uses semicolons as the separator between rules rather than expecting one rule per line.
The valid operators are !=, <, <=, >, >= and ==.
For example:
bar
foo: 2 == 100
foo: 2 == 200, 1 != 300, 1 != 400, 3 < 500
This permits the bar system call in all cases. The foo system call is
permitted if either:
# create a chroot
mkdir sandbox
pacstrap -cd sandbox
# run `ls -l` in the sandbox and create a system call whitelist
playpen sandbox -S whitelist -l -- ls -l /
# run it again, enforcing the learned system call whitelist
playpen sandbox -S whitelist -- ls -l /
C
98.0%
Makefile
2.0%
A secure application sandbox built with modern Linux sandboxing features - no longer actively developed, but still works fine, use bubblewrap if you need more functionality
C
295
187 commits
updated Dec 19, 2015
Playpen is a secure application sandbox built with modern Linux sandboxing features.
systemd-cgtop and robust control group
management.chroot.execve call by default and
includes support for parameter constraints. A learning mode is available to
automatically generate a minimal whitelist based on the system calls and
parameters used by the sandboxed process.A system call will only be permitted by the kernel if it matches one or more of the provided rules. Rules can be supplied either via a file (-S) or by passing rules on the command-line (-s).
Learning mode (-l) will append any missing rules to the whitelist file. It will add constraints on parameters specifying a sub-command, such as the request argument to ioctl. A coarser learning mode without parameter constraints is available (-L).
Syntax for the whitelist:
system_call
system_call: parameter operator value
system_call: parameter operator value, parameter operator value, [...]
Tabs and spaces are ignored. The command-line syntax uses semicolons as the separator between rules rather than expecting one rule per line.
The valid operators are !=, <, <=, >, >= and ==.
For example:
bar
foo: 2 == 100
foo: 2 == 200, 1 != 300, 1 != 400, 3 < 500
This permits the bar system call in all cases. The foo system call is
permitted if either:
# create a chroot
mkdir sandbox
pacstrap -cd sandbox
# run `ls -l` in the sandbox and create a system call whitelist
playpen sandbox -S whitelist -l -- ls -l /
# run it again, enforcing the learned system call whitelist
playpen sandbox -S whitelist -- ls -l /
C
98.0%
Makefile
2.0%