github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/worker/runtime/spec/seccomp.go (about)

     1  package spec
     2  
     3  import "github.com/opencontainers/runtime-spec/specs-go"
     4  
     5  var seccomp = &specs.LinuxSeccomp{
     6  	DefaultAction: specs.ActErrno,
     7  	Architectures: []specs.Arch{
     8  		specs.ArchX86_64,
     9  		specs.ArchX86,
    10  		specs.ArchX32,
    11  	},
    12  	Syscalls: []specs.LinuxSyscall{
    13  		AllowSyscall("accept"),
    14  		AllowSyscall("accept4"),
    15  		AllowSyscall("access"),
    16  		AllowSyscall("alarm"),
    17  		AllowSyscall("bind"),
    18  		AllowSyscall("brk"),
    19  		AllowSyscall("capget"),
    20  		AllowSyscall("capset"),
    21  		AllowSyscall("chdir"),
    22  		AllowSyscall("chmod"),
    23  		AllowSyscall("chown"),
    24  		AllowSyscall("chown32"),
    25  		AllowSyscall("clock_getres"),
    26  		AllowSyscall("clock_gettime"),
    27  		AllowSyscall("clock_nanosleep"),
    28  		AllowSyscall("close"),
    29  		AllowSyscall("connect"),
    30  		AllowSyscall("copy_file_range"),
    31  		AllowSyscall("creat"),
    32  		AllowSyscall("dup"),
    33  		AllowSyscall("dup2"),
    34  		AllowSyscall("dup3"),
    35  		AllowSyscall("epoll_create"),
    36  		AllowSyscall("epoll_create1"),
    37  		AllowSyscall("epoll_ctl"),
    38  		AllowSyscall("epoll_ctl_old"),
    39  		AllowSyscall("epoll_pwait"),
    40  		AllowSyscall("epoll_wait"),
    41  		AllowSyscall("epoll_wait_old"),
    42  		AllowSyscall("eventfd"),
    43  		AllowSyscall("eventfd2"),
    44  		AllowSyscall("execve"),
    45  		AllowSyscall("execveat"),
    46  		AllowSyscall("exit"),
    47  		AllowSyscall("exit_group"),
    48  		AllowSyscall("faccessat"),
    49  		AllowSyscall("fadvise64"),
    50  		AllowSyscall("fadvise64_64"),
    51  		AllowSyscall("fallocate"),
    52  		AllowSyscall("fanotify_mark"),
    53  		AllowSyscall("fchdir"),
    54  		AllowSyscall("fchmod"),
    55  		AllowSyscall("fchmodat"),
    56  		AllowSyscall("fchown"),
    57  		AllowSyscall("fchown32"),
    58  		AllowSyscall("fchownat"),
    59  		AllowSyscall("fcntl"),
    60  		AllowSyscall("fcntl64"),
    61  		AllowSyscall("fdatasync"),
    62  		AllowSyscall("fgetxattr"),
    63  		AllowSyscall("flistxattr"),
    64  		AllowSyscall("flock"),
    65  		AllowSyscall("fork"),
    66  		AllowSyscall("fremovexattr"),
    67  		AllowSyscall("fsetxattr"),
    68  		AllowSyscall("fstat"),
    69  		AllowSyscall("fstat64"),
    70  		AllowSyscall("fstatat64"),
    71  		AllowSyscall("fstatfs"),
    72  		AllowSyscall("fstatfs64"),
    73  		AllowSyscall("fsync"),
    74  		AllowSyscall("ftruncate"),
    75  		AllowSyscall("ftruncate64"),
    76  		AllowSyscall("futex"),
    77  		AllowSyscall("futimesat"),
    78  		AllowSyscall("getcpu"),
    79  		AllowSyscall("getcwd"),
    80  		AllowSyscall("getdents"),
    81  		AllowSyscall("getdents64"),
    82  		AllowSyscall("getegid"),
    83  		AllowSyscall("getegid32"),
    84  		AllowSyscall("geteuid"),
    85  		AllowSyscall("geteuid32"),
    86  		AllowSyscall("getgid"),
    87  		AllowSyscall("getgid32"),
    88  		AllowSyscall("getgroups"),
    89  		AllowSyscall("getgroups32"),
    90  		AllowSyscall("getitimer"),
    91  		AllowSyscall("getpeername"),
    92  		AllowSyscall("getpgid"),
    93  		AllowSyscall("getpgrp"),
    94  		AllowSyscall("getpid"),
    95  		AllowSyscall("getppid"),
    96  		AllowSyscall("getpriority"),
    97  		AllowSyscall("getrandom"),
    98  		AllowSyscall("getresgid"),
    99  		AllowSyscall("getresgid32"),
   100  		AllowSyscall("getresuid"),
   101  		AllowSyscall("getresuid32"),
   102  		AllowSyscall("getrlimit"),
   103  		AllowSyscall("get_robust_list"),
   104  		AllowSyscall("getrusage"),
   105  		AllowSyscall("getsid"),
   106  		AllowSyscall("getsockname"),
   107  		AllowSyscall("getsockopt"),
   108  		AllowSyscall("get_thread_area"),
   109  		AllowSyscall("gettid"),
   110  		AllowSyscall("gettimeofday"),
   111  		AllowSyscall("getuid"),
   112  		AllowSyscall("getuid32"),
   113  		AllowSyscall("getxattr"),
   114  		AllowSyscall("inotify_add_watch"),
   115  		AllowSyscall("inotify_init"),
   116  		AllowSyscall("inotify_init1"),
   117  		AllowSyscall("inotify_rm_watch"),
   118  		AllowSyscall("io_cancel"),
   119  		AllowSyscall("ioctl"),
   120  		AllowSyscall("io_destroy"),
   121  		AllowSyscall("io_getevents"),
   122  		AllowSyscall("ioprio_get"),
   123  		AllowSyscall("ioprio_set"),
   124  		AllowSyscall("io_setup"),
   125  		AllowSyscall("io_submit"),
   126  		AllowSyscall("ipc"),
   127  		AllowSyscall("kill"),
   128  		AllowSyscall("lchown"),
   129  		AllowSyscall("lchown32"),
   130  		AllowSyscall("lgetxattr"),
   131  		AllowSyscall("link"),
   132  		AllowSyscall("linkat"),
   133  		AllowSyscall("listen"),
   134  		AllowSyscall("listxattr"),
   135  		AllowSyscall("llistxattr"),
   136  		AllowSyscall("_llseek"),
   137  		AllowSyscall("lremovexattr"),
   138  		AllowSyscall("lseek"),
   139  		AllowSyscall("lsetxattr"),
   140  		AllowSyscall("lstat"),
   141  		AllowSyscall("lstat64"),
   142  		AllowSyscall("madvise"),
   143  		AllowSyscall("memfd_create"),
   144  		AllowSyscall("mincore"),
   145  		AllowSyscall("mkdir"),
   146  		AllowSyscall("mkdirat"),
   147  		AllowSyscall("mknod"),
   148  		AllowSyscall("mknodat"),
   149  		AllowSyscall("mlock"),
   150  		AllowSyscall("mlock2"),
   151  		AllowSyscall("mlockall"),
   152  		AllowSyscall("mmap"),
   153  		AllowSyscall("mmap2"),
   154  		AllowSyscall("mprotect"),
   155  		AllowSyscall("mq_getsetattr"),
   156  		AllowSyscall("mq_notify"),
   157  		AllowSyscall("mq_open"),
   158  		AllowSyscall("mq_timedreceive"),
   159  		AllowSyscall("mq_timedsend"),
   160  		AllowSyscall("mq_unlink"),
   161  		AllowSyscall("mremap"),
   162  		AllowSyscall("msgctl"),
   163  		AllowSyscall("msgget"),
   164  		AllowSyscall("msgrcv"),
   165  		AllowSyscall("msgsnd"),
   166  		AllowSyscall("msync"),
   167  		AllowSyscall("munlock"),
   168  		AllowSyscall("munlockall"),
   169  		AllowSyscall("munmap"),
   170  		AllowSyscall("nanosleep"),
   171  		AllowSyscall("newfstatat"),
   172  		AllowSyscall("_newselect"),
   173  		AllowSyscall("open"),
   174  		AllowSyscall("openat"),
   175  		AllowSyscall("pause"),
   176  		AllowSyscall("personality",
   177  			specs.LinuxSeccompArg{
   178  				Index:    0,
   179  				Value:    0,
   180  				ValueTwo: 0,
   181  				Op:       specs.OpEqualTo,
   182  			},
   183  		),
   184  		AllowSyscall("personality",
   185  			specs.LinuxSeccompArg{
   186  				Index:    0,
   187  				Value:    8,
   188  				ValueTwo: 0,
   189  				Op:       specs.OpEqualTo,
   190  			},
   191  		),
   192  		AllowSyscall("personality",
   193  			specs.LinuxSeccompArg{
   194  				Index:    0,
   195  				Value:    4294967295,
   196  				ValueTwo: 0,
   197  				Op:       specs.OpEqualTo,
   198  			},
   199  		),
   200  		AllowSyscall("pipe"),
   201  		AllowSyscall("pipe2"),
   202  		AllowSyscall("poll"),
   203  		AllowSyscall("ppoll"),
   204  		AllowSyscall("prctl"),
   205  		AllowSyscall("pread64"),
   206  		AllowSyscall("preadv"),
   207  		AllowSyscall("prlimit64"),
   208  		AllowSyscall("pselect6"),
   209  		AllowSyscall("pwrite64"),
   210  		AllowSyscall("pwritev"),
   211  		AllowSyscall("read"),
   212  		AllowSyscall("readahead"),
   213  		AllowSyscall("readlink"),
   214  		AllowSyscall("readlinkat"),
   215  		AllowSyscall("readv"),
   216  		AllowSyscall("recv"),
   217  		AllowSyscall("recvfrom"),
   218  		AllowSyscall("recvmmsg"),
   219  		AllowSyscall("recvmsg"),
   220  		AllowSyscall("remap_file_pages"),
   221  		AllowSyscall("removexattr"),
   222  		AllowSyscall("rename"),
   223  		AllowSyscall("renameat"),
   224  		AllowSyscall("renameat2"),
   225  		AllowSyscall("restart_syscall"),
   226  		AllowSyscall("rmdir"),
   227  		AllowSyscall("rt_sigaction"),
   228  		AllowSyscall("rt_sigpending"),
   229  		AllowSyscall("rt_sigprocmask"),
   230  		AllowSyscall("rt_sigqueueinfo"),
   231  		AllowSyscall("rt_sigreturn"),
   232  		AllowSyscall("rt_sigsuspend"),
   233  		AllowSyscall("rt_sigtimedwait"),
   234  		AllowSyscall("rt_tgsigqueueinfo"),
   235  		AllowSyscall("sched_getaffinity"),
   236  		AllowSyscall("sched_getattr"),
   237  		AllowSyscall("sched_getparam"),
   238  		AllowSyscall("sched_get_priority_max"),
   239  		AllowSyscall("sched_get_priority_min"),
   240  		AllowSyscall("sched_getscheduler"),
   241  		AllowSyscall("sched_rr_get_interval"),
   242  		AllowSyscall("sched_setaffinity"),
   243  		AllowSyscall("sched_setattr"),
   244  		AllowSyscall("sched_setparam"),
   245  		AllowSyscall("sched_setscheduler"),
   246  		AllowSyscall("sched_yield"),
   247  		AllowSyscall("seccomp"),
   248  		AllowSyscall("select"),
   249  		AllowSyscall("semctl"),
   250  		AllowSyscall("semget"),
   251  		AllowSyscall("semop"),
   252  		AllowSyscall("semtimedop"),
   253  		AllowSyscall("send"),
   254  		AllowSyscall("sendfile"),
   255  		AllowSyscall("sendfile64"),
   256  		AllowSyscall("sendmmsg"),
   257  		AllowSyscall("sendmsg"),
   258  		AllowSyscall("sendto"),
   259  		AllowSyscall("setfsgid"),
   260  		AllowSyscall("setfsgid32"),
   261  		AllowSyscall("setfsuid"),
   262  		AllowSyscall("setfsuid32"),
   263  		AllowSyscall("setgid"),
   264  		AllowSyscall("setgid32"),
   265  		AllowSyscall("setgroups"),
   266  		AllowSyscall("setgroups32"),
   267  		AllowSyscall("setitimer"),
   268  		AllowSyscall("setpgid"),
   269  		AllowSyscall("setpriority"),
   270  		AllowSyscall("setregid"),
   271  		AllowSyscall("setregid32"),
   272  		AllowSyscall("setresgid"),
   273  		AllowSyscall("setresgid32"),
   274  		AllowSyscall("setresuid"),
   275  		AllowSyscall("setresuid32"),
   276  		AllowSyscall("setreuid"),
   277  		AllowSyscall("setreuid32"),
   278  		AllowSyscall("setrlimit"),
   279  		AllowSyscall("set_robust_list"),
   280  		AllowSyscall("setsid"),
   281  		AllowSyscall("setsockopt"),
   282  		AllowSyscall("set_thread_area"),
   283  		AllowSyscall("set_tid_address"),
   284  		AllowSyscall("setuid"),
   285  		AllowSyscall("setuid32"),
   286  		AllowSyscall("setxattr"),
   287  		AllowSyscall("shmat"),
   288  		AllowSyscall("shmctl"),
   289  		AllowSyscall("shmdt"),
   290  		AllowSyscall("shmget"),
   291  		AllowSyscall("shutdown"),
   292  		AllowSyscall("sigaltstack"),
   293  		AllowSyscall("signalfd"),
   294  		AllowSyscall("signalfd4"),
   295  		AllowSyscall("sigreturn"),
   296  		AllowSyscall("socket"),
   297  		AllowSyscall("socketcall"),
   298  		AllowSyscall("socketpair"),
   299  		AllowSyscall("splice"),
   300  		AllowSyscall("stat"),
   301  		AllowSyscall("stat64"),
   302  		AllowSyscall("statfs"),
   303  		AllowSyscall("statfs64"),
   304  		AllowSyscall("statx"),
   305  		AllowSyscall("symlink"),
   306  		AllowSyscall("symlinkat"),
   307  		AllowSyscall("sync"),
   308  		AllowSyscall("sync_file_range"),
   309  		AllowSyscall("syncfs"),
   310  		AllowSyscall("sysinfo"),
   311  		AllowSyscall("syslog"),
   312  		AllowSyscall("tee"),
   313  		AllowSyscall("tgkill"),
   314  		AllowSyscall("time"),
   315  		AllowSyscall("timer_create"),
   316  		AllowSyscall("timer_delete"),
   317  		AllowSyscall("timerfd_create"),
   318  		AllowSyscall("timerfd_gettime"),
   319  		AllowSyscall("timerfd_settime"),
   320  		AllowSyscall("timer_getoverrun"),
   321  		AllowSyscall("timer_gettime"),
   322  		AllowSyscall("timer_settime"),
   323  		AllowSyscall("times"),
   324  		AllowSyscall("tkill"),
   325  		AllowSyscall("truncate"),
   326  		AllowSyscall("truncate64"),
   327  		AllowSyscall("ugetrlimit"),
   328  		AllowSyscall("umask"),
   329  		AllowSyscall("uname"),
   330  		AllowSyscall("unlink"),
   331  		AllowSyscall("unlinkat"),
   332  		AllowSyscall("utime"),
   333  		AllowSyscall("utimensat"),
   334  		AllowSyscall("utimes"),
   335  		AllowSyscall("vfork"),
   336  		AllowSyscall("vmsplice"),
   337  		AllowSyscall("wait4"),
   338  		AllowSyscall("waitid"),
   339  		AllowSyscall("waitpid"),
   340  		AllowSyscall("write"),
   341  		AllowSyscall("writev"),
   342  		AllowSyscall("arch_prctl"),
   343  		AllowSyscall("modify_ldt"),
   344  		AllowSyscall("chroot"),
   345  		AllowSyscall("clone",
   346  			specs.LinuxSeccompArg{
   347  				Index:    0,
   348  				Value:    2080505856,
   349  				ValueTwo: 0,
   350  				Op:       specs.OpMaskedEqual,
   351  			},
   352  		),
   353  	},
   354  }
   355  
   356  func AllowSyscall(syscall string, args ...specs.LinuxSeccompArg) specs.LinuxSyscall {
   357  	return specs.LinuxSyscall{
   358  		Names:  []string{syscall},
   359  		Action: specs.ActAllow,
   360  		Args:   args,
   361  	}
   362  }