feat: initial support for python
This commit is contained in:
parent
a9c91dcfac
commit
cd5323d561
@ -6,7 +6,6 @@ void setup_lang_c_cpp(scmp_filter_ctx ctx) {
|
||||
// some more syscall(s) that glibc uses
|
||||
int white[] = {
|
||||
SCMP_SYS(clone), // 56
|
||||
SCMP_SYS(arch_prctl), // 158
|
||||
SCMP_SYS(futex), // 202
|
||||
SCMP_SYS(set_tid_address), // 218
|
||||
SCMP_SYS(exit_group), // 231
|
||||
|
@ -9,7 +9,6 @@ void setup_lang_go(scmp_filter_ctx ctx) {
|
||||
SCMP_SYS(madvise), // 28
|
||||
SCMP_SYS(clone), // 56
|
||||
SCMP_SYS(sigaltstack), // 131
|
||||
SCMP_SYS(arch_prctl), // 158
|
||||
SCMP_SYS(gettid), // 186
|
||||
SCMP_SYS(sched_getaffinity), // 204
|
||||
SCMP_SYS(exit_group), // 231
|
||||
|
34
rules/lang_python.c
Normal file
34
rules/lang_python.c
Normal file
@ -0,0 +1,34 @@
|
||||
#include "rules.h"
|
||||
|
||||
#include <seccomp.h>
|
||||
|
||||
void setup_lang_python(scmp_filter_ctx ctx) {
|
||||
int white[] = {
|
||||
SCMP_SYS(rt_sigaction), // 13
|
||||
SCMP_SYS(rt_sigprocmask), // 14
|
||||
SCMP_SYS(ioctl), // 16
|
||||
SCMP_SYS(fcntl), // 72
|
||||
SCMP_SYS(getcwd), // 79
|
||||
SCMP_SYS(readlink), // 89
|
||||
SCMP_SYS(sysinfo), // 99
|
||||
SCMP_SYS(getuid), // 102
|
||||
SCMP_SYS(getgid), // 104
|
||||
SCMP_SYS(geteuid), // 107
|
||||
SCMP_SYS(getegid), // 108
|
||||
SCMP_SYS(gettid), // 186
|
||||
SCMP_SYS(futex), // 202
|
||||
SCMP_SYS(getdents64), // 217
|
||||
SCMP_SYS(set_tid_address), // 218
|
||||
SCMP_SYS(pselect6), // 270
|
||||
SCMP_SYS(set_robust_list), // 273
|
||||
SCMP_SYS(rseq), // 334
|
||||
};
|
||||
ADD_RULE_LIST(white, SCMP_ACT_ALLOW);
|
||||
}
|
||||
|
||||
struct rule lang_python_rule = {
|
||||
.name = "python3",
|
||||
.setup = setup_lang_python,
|
||||
};
|
||||
|
||||
void __attribute__((constructor(101))) register_lang_python(void) { register_rule(&lang_python_rule); }
|
@ -14,7 +14,7 @@ void setup_common(scmp_filter_ctx ctx, const char *exe_path) {
|
||||
// allow to execute self
|
||||
add_syscall_nr_arg(SCMP_SYS(execve), ctx, SCMP_ACT_ALLOW, 1, &SCMP_A0(SCMP_CMP_EQ, (scmp_datum_t)exe_path));
|
||||
|
||||
// allow to read files - do not allow write, readwrite, append, create
|
||||
// allow to read files - do not allow "write", "readwrite", "append", "create"
|
||||
add_syscall_nr_arg(SCMP_SYS(open), ctx, SCMP_ACT_ALLOW, 1,
|
||||
&SCMP_A1(SCMP_CMP_MASKED_EQ, O_WRONLY | O_RDWR | O_APPEND | O_CREAT | O_EXCL, 0));
|
||||
add_syscall_nr_arg(SCMP_SYS(openat), ctx, SCMP_ACT_ALLOW, 1,
|
||||
@ -39,6 +39,7 @@ void setup_common(scmp_filter_ctx ctx, const char *exe_path) {
|
||||
SCMP_SYS(access), // 21
|
||||
SCMP_SYS(nanosleep), // 35
|
||||
SCMP_SYS(getpid), // 39
|
||||
SCMP_SYS(arch_prctl), // 158
|
||||
SCMP_SYS(clock_gettime), // 228
|
||||
SCMP_SYS(clock_getres), // 229
|
||||
SCMP_SYS(clock_nanosleep), // 230
|
||||
|
Loading…
Reference in New Issue
Block a user