Estou tentando implementar um contêiner simples. Eu gostaria que os usuários pudessem especificar syscalls na lista de permissões em um arquivo profile.json.
Exemplo de conteúdo do arquivo profile.json:
{
"whitelisted_syscalls": ["read", "exit", "write", "accept"],
}
então, meu aplicativo apenas analisaria esse arquivo e habilitaria/desabilitaria syscalls com base no conteúdo.
O problema é que seccomp_rule_add
espera que o usuário use SCMP_SYS
macro. Por exemplo, para permitir read
syscall, eu normalmente chamaria:
seccomp_rule_add(filter, SCMP_ACT_ALLOW, SCMP_SYS(read), 0);
e SCMP_SYS(read)
seria desdobrado para um número inteiro dependendo de uma arquitetura.