O Que É um Sandbox de Runner? Contendo o Que um Job Pode Fazer
Um sandbox de runner é um ambiente confinado que limita o que um job de CI pode acessar - seu filesystem, rede e chamadas de sistema - de modo que o job não consiga ultrapassar o limite que lhe foi atribuído.
Onde o isolamento separa jobs uns dos outros, um sandbox restringe um único job por dentro: o que ele pode tocar, onde pode se conectar, o que tem permissão para fazer. O sandboxing importa mais quando um job executa código não confiável ou de terceiros.
Isolamento vs sandbox
Isolamento é manter jobs separados. Um sandbox é restringir as capacidades de um job - limitar sua saída de rede, acesso ao filesystem e operações privilegiadas. São camadas de segurança complementares.
O que um sandbox restringe
- Rede: limita ou nega conexões de saída para controlar a exfiltração.
- Filesystem: confina escritas a uma área de rascunho; protege o restante.
- Privilégios: remove capabilities para que o job não consiga escalar.
Por que isso importa
A CI executa código de dependências, forks e pull requests que você não controla totalmente. Um sandbox limita o dano se qualquer parte desse código for maliciosa ou comprometida, transformando uma possível brecha em uma falha contida.
Sandboxing na prática
O sandboxing combina naturalmente com runners efêmeros: um job confinado em uma máquina de uso único tem tanto alcance limitado quanto nenhuma persistência. Juntos, eles impedem que cargas de trabalho de CI não confiáveis se tornem um problema de segurança.
O trade-off de usabilidade
Um sandbox apertado demais quebra jobs legítimos - uma chamada de rede negada ou uma syscall bloqueada faz falhar um build que deveria passar. O objetivo é o menor privilégio que ainda permita que o trabalho real rode, e é por isso que o sandboxing é ajustado à carga de trabalho em vez de aplicado como um bloqueio genérico.
Principais conclusões
- Um sandbox de runner restringe o que um único job pode acessar ou fazer.
- Ele complementa o isolamento, que separa jobs uns dos outros.
- Ele limita rede, filesystem e operações privilegiadas.
- Sandboxing mais efemeridade contém código de CI não confiável.