O projeto Trusted Remote Execution (REX) foi anunciado como uma nova solução de execução remota segura voltada para ambientes Linux e macOS. Desenvolvido com foco em segurança zero-trust, o REX combina a linguagem de scripting Rhai com o mecanismo de autorização Cedar da AWS para garantir que cada operação de sistema realizada por um script seja validada em tempo real — desde leitura de arquivos até chamadas de rede.
A proposta central do REX é eliminar ambiguidades na política de permissões típicas de ferramentas de automação. Em vez de depender de privilégios de usuário ou contêineres genéricos, ele aplica controle de acesso baseado em políticas (PBAC) em nível de API, bloqueando operações não autorizadas antes mesmo de serem executadas.
Como funciona a segurança em tempo real?
Cada chamada feita por um script — como open(), cat(), curl() ou systemctl list-units — passa por uma verificação dinâmica contra uma política escrita em Cedar. Essa política define exatamente quais recursos (arquivos, diretórios, URLs, processos) e ações (leitura, escrita, execução) são permitidas para determinados principals (como usuários ou cargos).
Essa abordagem garante três propriedades essenciais:
- Autorização Cedar em tempo de execução: nenhuma operação é realizada sem aprovação explícita da política declarada.
- Mitigação de condições de corrida (TOCTOU): o uso preferencial de file descriptors em vez de caminhos textuais reduz vulnerabilidades relacionadas a symlinks e race conditions.
- Execução totalmente isolada: scripts rodam no interpretador Rhai, sem acesso direto ao sistema host — todas as interações passam por APIs Rust seguras e autorizadas.
Primeiros passos práticos
A instalação e uso inicial são simplificados graças à integração nativa com Cargo. Basta executar:
cargo install rex-runner
Em seguida, é possível criar uma política Cedar mínima — por exemplo, permitindo acesso apenas ao diretório /tmp e a um arquivo específico dentro dele. Um script Rhai pode então escrever e ler nesse local, mas falhará imediatamente se tentar acessar /etc/passwd ou fazer uma requisição HTTP sem permissão explícita.
A estrutura do projeto é organizada em três camadas bem definidas:
Camada Core
Inclui crates como rex-cedar-auth (motor de avaliação de políticas), rex-runner (executável principal), rex-logger (registro estruturado com tracing) e rex-policy-schema (definições padrão de entidades e ações Cedar).
SDK em Rust seguro
Oferece implementações robustas de operações de sistema com autorização embutida:
rust-safe-io: operações de arquivos e diretóriosrust-safe-network:curl,dig,nslookup,netstatrust-safe-process-mgmt: controle de processos esystemctlrust-safe-system-info: consultas de CPU, memória,dmesg,sysctl
Bindings para Rhai
Traduzem as funcionalidades do SDK Rust para o ambiente de scripting, com crates como rhai-safe-io, rhai-safe-network e rhai-safe-process-mgmt, permitindo que operadores escrevam lógica de automação em Rhai sem abrir brechas de segurança.
Construção e testes
O projeto usa o ecossistema Rust padrão. Para compilar:
cargo build --workspace --release
E para executar toda a suíte de testes:
cargo test --workspace
A documentação oficial inclui guias detalhados sobre políticas Cedar no contexto do REX, referência da linguagem Cedar e instruções completas de execução local com rex-runner.
O REX representa um avanço significativo para equipes que precisam de automação confiável em infraestruturas críticas — especialmente em cenários de remote execution, gerenciamento de edge devices, ou orquestração de tarefas pós-implantação onde o princípio de menor privilégio não pode ser negociado.