Em resumo
- Os pacotes maliciosos e vulneráveis são bloqueados na instalação, em todos os dispositivos da empresa, incluindo os de não programadores que escrevem código com ferramentas de IA
- A análise de dependências e de container é executada em todos os repositórios e container
- Uma verificação obrigatória do Aikido no GitHub impede que o código vulnerável chegue à produção
- Os developers mantêm-se no seu fluxo de trabalho normal em vez de terem de aprender outra ferramenta
- O Aikido alimenta a cadeia de conformidade, criando tickets com data e tornando as falhas de SLA mais visíveis
O novo risco era open source, e a configuração antiga apenas monitorizava a produção
A Too Good To Go, a empresa por trás do maior marketplace mundial de excedentes alimentares, utiliza o Aikido para detetar pacotes open source maliciosos e vulneráveis antes de chegarem ao dispositivo de um developer ou à produção, e para manter o seu trabalho de segurança alinhado com a conformidade.
Robert Christiansen, vice-presidente de engenharia, é responsável pela engenharia, pela experiência dos programadores e pela conformidade em todas as equipas de software da empresa. A Too Good To Go gere a sua plataforma de comercialização de alimentos excedentes desde 2016 e, atualmente, liga mais de 150 milhões de utilizadores registados a mais de 200 000 parceiros comerciais ativos em 20 países, tudo isto apoiado por uma equipa de engenharia integrada numa empresa com cerca de 1 300 colaboradores.
Há um ano e meio, a prioridade da equipa era parar as bibliotecas infetadas antes de chegarem à produção. Ao longo dos últimos seis meses, os ataques a pacotes open source e aos developers que os instalavam aumentaram rapidamente, e os projetos open source estão a ser inundados com novas vulnerabilidades. O maior risco atual reside mais cedo na cadeia: um pacote que compromete o dispositivo de um developer antes de qualquer lançamento. Os developers têm habitualmente mais acessos do que qualquer outra pessoa, o que torna os seus dispositivos no alvo mais valioso.
A exposição também se espalhou para além da engenharia. Pessoas noutras funções de negócio começaram a escrever código com ferramentas de IA, descarregando pacotes Node e Python para dispositivos em redor dos quais nenhum processo de segurança foi construído. O Robert considera isto ainda mais perigoso. As ferramentas existentes da equipa apenas faziam análises após a compilação. Isso protegia a produção e deixava o desenvolvimento vulnerável.
A conformidade elevou ainda mais a fasquia. A Too Good To Go cumpre a norma NIS2 e a PCI, sendo que a PCI define os seus próprios requisitos sobre a rapidez com que a equipa tem de reagir a uma vulnerabilidade. A equipa precisava de um único produto que pudesse parar os problemas no dispositivo e no momento da compilação, e provar que o acompanhamento ocorreu dentro do prazo.
Uma única ferramenta desde o dispositivo até ao pipeline
O Aikido Safe Chain é agora executado em todos os dispositivos da organização. Verifica se o Node ou o Python estão instalados e protege a etapa de instalação, para que um pacote problemático seja bloqueado antes de ser implementado, independentemente de quem o esteja a instalar. A proteção de dispositivos abrange cerca de 160 pessoas que a empresa classifica como engenharia, quer escrevam código ou não.
No pipeline, cada alteração tem de passar por uma verificação do Aikido no GitHub antes de poder avançar para produção. Como a verificação está integrada no fluxo de desenvolvimento normal, a segurança nunca se transforma num passo separado de que alguém se tenha de lembrar. O Aikido monitoriza dependências vulneráveis e imagens de container em pouco menos de 200 repositórios e mais de 200 container, incluindo as cadeias profundas de dependências transitivas que até as imagens Docker mais blindadas transportam.
Os developers cuja função é atualizar bibliotecas utilizam o plugin do IntelliJ para verificar se um resultado é um problema real e se uma atualização poderá quebrar algo antes de mexerem nele.
Os developers nem sequer precisam de aceder ao Aikido a toda a hora. Tornou-se apenas parte do fluxo de trabalho.
Porque é que a Too Good To Go escolheu o Aikido
- Proteção no dispositivo e em tempo de compilação (os dois locais que a configuração antiga deixava vulneráveis)
- Uma configuração rápida e de baixo esforço
- Uma IU simples e preços transparentes
O Aikido deteta o que de outra forma passaria
A maior alteração é o que já não passa despercebido. O Safe Chain e a proteção de dispositivos já impediram pacotes maliciosos em dispositivos de programadores e, quando questionado sobre se o Aikido deteta ameaças reais, a resposta de Robert é "com toda a certeza, está a detetar coisas que de outra forma passariam despercebidas".
Temos agora total visibilidade sobre quais as bibliotecas que precisamos de corrigir, tanto na infraestrutura como no código.
Robert destaca um resultado comercial acima de todos os outros: a equipa não teve nenhum incidente devido a uma biblioteca comprometida.
No que diz respeito à conformidade, o Aikido cria tickets marcados com datas, para que, quando uma correção ultrapassa o seu SLA, todos o possam ver imediatamente. Com o PCI a definir expectativas firmes quanto aos tempos de resposta, esse registo ajuda a Too Good To Go a manter-se em conformidade sem ter de verificar o estado manualmente.
Como a Too Good To Go utiliza o Aikido atualmente
Atualmente em uso
- análise de dependências
- Varredura de Container
- Aikido Safe Chain em toda a organização
- Proteção de dispositivos em toda a engenharia
- Verificação de pipeline do GitHub
- O plugin do IntelliJ para os programadores que efetuam correções
Próximos passos
- Um modelo de severidade que mapeia cada vulnerabilidade para a sua exposição real, para que os serviços internos sem acesso à internet sejam corrigidos num ciclo mensal, enquanto os expostos são corrigidos imediatamente
Em avaliação
- Pentest de IA, que o engenheiro de segurança da equipa quer testar, para poder executar testes automatizados com mais frequência, a juntar aos pentests que já realizam todos os anos
Veredito final
O produto foi fácil de configurar e funciona. Ainda bem que o fizemos e teria adorado tê-lo mais cedo.


