
Um serviço que analisa imagens Docker e verifica vulnerabilidades
NOTA IMPORTANTE
A partir de 2023, o Anchore Engine não é mais mantido. Não haverá versões futuras lançadas. Os usuários são aconselhados a usar Syft e Grype.
Para usuários interessados em uma solução comercial suportada para varredura e conformidade de contêineres, agende uma demonstração para ver o amplo conjunto de capacidades empresariais do Anchore Enterprise, incluindo gerenciamento de SBOM, gerenciamento de vulnerabilidades e gerenciamento de conformidade.
Sobre
Anchore Engine é um projeto de código aberto que fornece um serviço centralizado para inspeção, análise e certificação de imagens de contêineres. O Anchore Engine é fornecido como uma imagem de contêiner Docker que pode ser executada de forma independente ou dentro de uma plataforma de orquestração como Kubernetes, Docker Swarm, Rancher, Amazon ECS e outras plataformas de orquestração de contêineres.
Com uma implantação do Anchore Engine em execução no seu ambiente, as imagens de contêineres são baixadas e analisadas de registros de contêineres compatíveis com Docker V2 e então avaliadas em relação a um banco de dados de vulnerabilidades.
A documentação histórica está disponível em Anchore Documentation.
O Anchore Engine pode ser acessado diretamente através de uma API RESTful ou via a CLI do Anchore.
Sistemas Operacionais Suportados
Pacotes Suportados
Existem várias maneiras de começar com o Anchore Engine. Para as informações mais recentes sobre quickstart e instalação completa em produção com docker-compose, Helm e outros métodos, visite:
O Anchore Engine é distribuído como uma Imagem Docker disponível no DockerHub.
Veja a documentação para o guia completo de início rápido.
Para levantar rapidamente uma instalação do Anchore Engine em um sistema com docker (e docker-compose) instalados, siga estes passos simples:
curl https://engine.anchore.io/docs/quickstart/docker-compose.yaml > docker-compose.yaml
docker-compose up -d
Assim que o Engine estiver em funcionamento, você pode começar a interagir com o sistema usando a CLI.
A CLI do Anchore é uma maneira fácil de controlar e interagir com o Anchore Engine.
A CLI do Anchore pode ser instalada usando o comando pip do Python, ou executando a CLI a partir da imagem de contêiner da CLI do Anchore Engine. Consulte o projeto Anchore CLI no Github para código e mais opções de instalação e uso.
Por padrão, a CLI do Anchore tenta conectar ao Anchore Engine em http://localhost:8228/v1 sem autenticação. O nome de usuário, senha e URL do servidor podem ser passados para a CLI do Anchore como argumentos de linha de comando:
--u TEXT Usuário ex. admin
--p TEXT Senha ex. foobar
--url TEXT URL do Serviço ex. http://localhost:8228/v1
Em vez de passar esses parâmetros para cada chamada da ferramenta, eles também podem ser definidos como variáveis de ambiente:
ANCHORE_CLI_URL=http://myserver.example.com:8228/v1
ANCHORE_CLI_USER=admin
ANCHORE_CLI_PASS=foobar
Adicione uma imagem ao Anchore Engine:
anchore-cli image add docker.io/library/debian:latest
Aguarde a imagem passar para o estado 'analyzed':
anchore-cli image wait docker.io/library/debian:latest
Liste imagens analisadas pelo Anchore Engine:
anchore-cli image list
Obtenha visão geral e informações resumidas da imagem:
anchore-cli image get docker.io/library/debian:latest
Liste os feeds e aguarde a conclusão de pelo menos uma sincronização de feed de dados de vulnerabilidade. A primeira sincronização pode levar algum tempo (20-30 minutos); depois disso, as sincronizações apenas mesclarão deltas.
anchore-cli system feeds list
anchore-cli system wait
Obtenha os resultados da varredura de vulnerabilidade em uma imagem:
anchore-cli image vuln docker.io/library/debian:latest os
Liste pacotes do sistema operacional presentes em uma imagem:
anchore-cli image content docker.io/library/debian:latest os
Para a definição da API externa (o serviço voltado para o usuário), veja External API Swagger Spec. Se você tem o Anchore Engine em execução, também pode revisar o Swagger direcionando seu navegador para http://:8228/v1/ui/ (NOTA: a barra final é necessária para que o navegador incorporado do Swagger UI seja visualizado corretamente).
Cada serviço implementa sua própria API, e todas as APIs são definidas na especificação Swagger/OpenAPI. Você pode encontrar cada uma no diretório anchore_engine/services/<servicename>/api/swagger.
Para mais detalhes sobre o uso da CLI do Anchore com o Anchore Engine, consulte a Documentação do Anchore Engine
Este repositório foi reformatado usando Black em Novembro de 2020. Este commit pode ser ignorado no seu ambiente local ao usar git blame, pois impactou muitos arquivos. Para ignorar o commit, você precisa configurar o git-blame para usar o arquivo fornecido: .git-blame-ignore-revs como uma lista de commits a serem ignorados para blame.
Configure sua configuração git local para usar o arquivo fornecido executando isto a partir da raiz desta árvore de código-fonte:
git config blame.ignoreRevsFile .git-blame-ignore-revs