Blog

  • Como compartilhar clusters de GPU entre equipes com isolamento e justiça usando o Amazon SageMaker HyperPod

    O problema: múltiplas equipes, um cluster caro

    Clusters de GPU são investimentos significativos. Dentro de uma mesma organização, é comum que várias equipes — de ciência de dados, visão computacional, pesquisa em arquiteturas de modelos — precisem acessar a mesma infraestrutura ao mesmo tempo. Sem uma arquitetura bem pensada para esse cenário multi-tenant (multi-equipe), o resultado costuma ser caótico: consumo descontrolado de recursos, sem isolamento entre times, sem como atribuir os custos de GPU a quem realmente os gerou, e sobrecarga administrativa que freia a inovação.

    Para endereçar esse desafio, a AWS publicou uma arquitetura de referência detalhada para construir ambientes multi-tenant no Amazon SageMaker HyperPod com Amazon Elastic Kubernetes Service (EKS). O HyperPod é um serviço de IA projetado especificamente para gerenciar clusters de computação em larga escala para cargas de trabalho de IA generativa, com monitoramento de saúde dos nós, recuperação automática de falhas e gerenciamento do ciclo de vida do cluster.

    Visão geral da arquitetura

    A arquitetura proposta pela AWS organiza o compartilhamento de um único cluster HyperPod EKS entre duas equipes (Equipe A e Equipe B), cada uma operando dentro do seu próprio namespace isolado. O fluxo é estruturado em camadas, conectando a identidade do usuário, passando pelos controles de autorização, até os namespaces de carga de trabalho no cluster.

    Os principais blocos que compõem essa solução são:

    • AWS IAM Identity Center para autenticação centralizada, com federação para provedores de identidade externos
    • Domínios SageMaker AI por equipe para uma experiência de workspace personalizada
    • Namespaces Kubernetes para isolamento de cargas de trabalho
    • HyperPod Task Governance para alocação justa de recursos de computação
    • Alocação de custos por namespace para visibilidade de gastos por equipe

    Autenticação e controle de acesso

    A fundação de qualquer sistema multi-tenant é uma autenticação robusta. Nessa arquitetura, o AWS IAM Identity Center (sucessor do AWS Single Sign-On) atua como camada centralizada de autenticação, federando com um provedor de identidade externo — no exemplo da AWS, o Microsoft Entra ID (antigo Azure AD), embora o mesmo padrão funcione com qualquer provedor compatível com SAML (Security Assertion Markup Language) 2.0.

    A configuração envolve três etapas principais:

    • Estrutura de grupos no provedor de identidade: criar grupos que correspondam às equipes organizacionais (TeamA, TeamB, Admin) no Entra ID
    • Provisionamento via SCIM (System for Cross-domain Identity Management): sincronização automática de usuários e grupos entre o Entra ID e o IAM Identity Center — quando um novo usuário é adicionado ao grupo TeamA no Entra ID, ele automaticamente ganha acesso sem intervenção manual
    • Federação SAML 2.0: quando os usuários se autenticam, fazem isso contra o Entra ID; o Identity Center atua como provedor de serviços, confiando nas asserções do tenant Entra ID

    Saiba mais: O que é o IAM Identity Center · Conectar um provedor de identidade externo · Perfil SCIM e implementação SAML 2.0

    Autorização: IAM e RBAC do Kubernetes

    Com a autenticação estabelecida, o próximo passo é a autorização — controlar o que cada equipe pode fazer nos serviços AWS e no cluster Kubernetes. Essa arquitetura opera em dois níveis: IAM para acesso a serviços AWS e RBAC (Role-Based Access Control — Controle de Acesso Baseado em Funções) do Kubernetes para acesso ao cluster.

    Roles IAM por equipe

    Cada equipe recebe uma role IAM dedicada, que serve como execution role do domínio SageMaker AI e define quais serviços AWS a equipe pode acessar. Tipicamente, essas políticas incluem acesso ao Amazon SageMaker AI, ao Amazon S3 (com escopo para prefixos de bucket específicos da equipe), ao Amazon CloudWatch para logs e métricas, e ao Amazon EKS para que a interface do SageMaker Studio possa fazer chamadas à API Kubernetes em nome do usuário.

    Saiba mais: Como usar execution roles do SageMaker AI

    Permission sets no Identity Center para acesso via CLI

    Além do SageMaker Studio, as equipes frequentemente precisam de acesso direto à conta AWS para operações de linha de comando, como executar comandos kubectl. O Identity Center oferece permission sets para isso. Os membros de cada equipe configuram o AWS CLI para autenticar via Identity Center usando aws configure sso, o que cria perfis em ~/.aws/config. Um exemplo de configuração resultante:

    [sso-session my-sso]
    sso_start_url = https://d-xxxxxxxxxx.awsapps.com/start
    sso_region = us-west-2
    sso_registration_scopes = sso:account:access
    
    [default]
    sso_session = my-sso
    sso_account_id = 123456789012
    sso_role_name = OpsAdmin
    region = us-west-2
    
    [profile team-a]
    sso_session = my-sso
    sso_account_id = 123456789012
    sso_role_name = TeamA-permission-set
    region = us-west-2
    
    [profile team-b]
    sso_session = my-sso
    sso_account_id = 123456789012
    sso_role_name = TeamB-permission-set
    region = us-west-2

    Saiba mais: Gerenciar contas AWS com permission sets · Configurando autenticação do IAM Identity Center com o AWS CLI

    Domínios SageMaker AI por equipe

    Os domínios SageMaker AI fornecem o limite de workspace para cada equipe. A AWS recomenda criar um domínio por equipe — um padrão bem estabelecido para organizar ambientes multi-team. Cada domínio é configurado com a execution role específica da equipe e com autenticação via Identity Center, permitindo que os usuários façam login uma única vez pelo provedor de identidade corporativo e cheguem diretamente ao ambiente Studio da sua equipe.

    Administradores também podem personalizar a navegação de cada domínio, ocultando itens irrelevantes para os fluxos de trabalho do HyperPod e reduzindo a sobrecarga cognitiva para os membros da equipe.

    Saiba mais: Entidades e status de domínios SageMaker AI · Visão geral de múltiplos domínios

    Isolamento no cluster HyperPod EKS

    Namespaces Kubernetes

    No nível do cluster, o isolamento é obtido por meio de namespaces Kubernetes dedicados por equipe — por exemplo, hyperpod-ns-team-a e hyperpod-ns-team-b. Os namespaces criam uma fronteira lógica que isola as cargas de trabalho de cada equipe (Spaces, jobs de treinamento, endpoints de inferência) umas das outras.

    É importante notar, conforme a própria AWS ressalta, que namespaces são uma fronteira de isolamento, não uma fronteira de segurança rígida. Essa arquitetura é voltada para equipes dentro de uma mesma organização, que compartilham um cluster sob um domínio administrativo comum e um nível básico de confiança mútua. Para isolamento entre tenants completamente desconfiados ou com requisitos regulatórios rígidos, a recomendação é usar fronteiras mais fortes, como clusters ou contas separadas.

    Saiba mais: Namespaces Kubernetes

    Isolamento de rede

    Por padrão, a rede Kubernetes é plana: qualquer pod pode se comunicar com qualquer outro pod em todos os namespaces. Para restringir o tráfego entre equipes, a AWS recomenda usar recursos NetworkPolicy do Kubernetes com o padrão de negar tudo por default em cada namespace e depois permitir explicitamente o tráfego necessário. O exemplo abaixo nega todo ingresso no namespace da equipe e depois permite tráfego apenas de pods dentro do mesmo namespace:

    # 1. Default-deny all ingress in the team's namespace.
    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
      name: default-deny-ingress
      namespace: hyperpod-ns-team-a
    spec:
      podSelector: {}  # applies to all pods in the namespace
      policyTypes:
      - Ingress
    ---
    # 2. Allow ingress only from pods within the same namespace.
    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
      name: allow-same-namespace
      namespace: hyperpod-ns-team-a
    spec:
      podSelector: {}
      policyTypes:
      - Ingress
      ingress:
      - from:
        - podSelector: {}  # any pod in this namespace

    Saiba mais: Network policies Kubernetes · Network policy do Amazon VPC CNI

    Access entries do EKS

    Os access entries do EKS conectam principals IAM às permissões RBAC do Kubernetes. Para cada equipe, são criadas duas entradas: uma para o acesso via SageMaker Studio (usando a execution role do domínio) e outra para o acesso via CLI (usando a role provisionada pelo Identity Center para o permission set). Ambas as entradas são escopadas ao namespace da equipe, garantindo que — independentemente de o acesso vir do Studio ou do terminal — os usuários só interajam com recursos do seu próprio namespace.

    Saiba mais: Conceder acesso a usuários IAM ao Kubernetes com EKS access entries

    HyperPod Task Governance: cotas e prioridades

    Quando habilitado no cluster, o HyperPod Task Governance adiciona uma camada de gerenciamento de recursos com três capacidades principais:

    • Cotas de computação: define quanto de capacidade de GPU e CPU cada equipe pode consumir, evitando que uma única equipe monopolize o hardware compartilhado
    • Prioridades: permite atribuir prioridades de escalonamento por equipe ou tipo de carga de trabalho, de forma que endpoints de inferência em produção possam preemptar jobs de treinamento experimentais quando os recursos estiverem escassos
    • Escalonamento justo: quando múltiplas equipes competem por recursos, a alocação segue as políticas configuradas em vez do modelo primeiro-a-chegar-primeiro-a-ser-atendido

    O Task Governance é construído sobre o Kueue, e os jobs são roteados para a fila local da equipe via kueue.x-k8s.io/queue-name.

    Saiba mais: Task governance do SageMaker HyperPod

    Armazenamento: sistemas de arquivos e S3

    Sistemas de arquivos compatíveis com POSIX

    Para cargas de trabalho de treinamento distribuído que exigem um sistema de arquivos de alto desempenho compartilhado, a AWS sugere três opções:

    • Amazon FSx for Lustre: sistema de arquivos paralelo de alta taxa de transferência e baixa latência, ideal para treinamentos em larga escala
    • Amazon FSx for OpenZFS: sistema de arquivos de uso geral com semântica POSIX robusta, snapshots e compressão
    • Amazon Elastic File System (EFS): armazenamento NFS (Network File System) totalmente gerenciado e elástico, com suporte a access points para isolamento de diretórios por equipe

    O layout típico de armazenamento inclui diretórios compartilhados por equipe (ex: /fsx/TeamA, /fsx/TeamB) e diretórios home por usuário (ex: /home/User1, /home/User2). As permissões POSIX nesses sistemas de arquivos dependem de UIDs, GIDs e grupos suplementares para reforçar as fronteiras de acesso. A AWS recomenda usar um webhook de admissão mutante do Kubernetes para recuperar informações de identidade POSIX do repositório de identidades e injetar automaticamente no contexto de segurança do Pod quando uma carga de trabalho é submetida:

    # 1. Extract the caller's session identity from the admission request.
    # On EKS, requests from IAM-assumed roles (including IAM Identity Center)
    # surface the STS session name in userInfo.extra["sessionName"]. Its format
    # depends on how the session is created (e.g., an SSO short name, an email,
    # or a role-session-name); align your identity mapping with this value.
    def extract_username(admission_request):
        extra = admission_request["userInfo"]["extra"]
        ...
        return extra["sessionName"][0]
    
    # 2. Look up the POSIX identity from a mapping table (e.g. DynamoDB).
    def lookup_posix_identity(username):
        item = posix_table.get_item(Key={"username": username})["Item"]
        ...
        return {
            "uid": int(item["uid"]),
            "gid": int(item["gid"]),
            "supplementalGroups": [int(g) for g in item["supplementalGroups"]],
        }
    
    # 3. Patch the Pod security context with the resolved POSIX identity.
    def build_security_context_patch(pod, posix):
        ...
        return [{
            "op": "add",
            "path": "/spec/securityContext",
            "value": {
                "runAsUser": posix["uid"],
                "runAsGroup": posix["gid"],
                "fsGroup": posix["gid"],
                "supplementalGroups": posix["supplementalGroups"],
            },
        }]

    Saiba mais: FSx for Lustre · FSx for OpenZFS · Amazon EFS

    Amazon S3

    Para armazenamento de objetos, o acesso aos buckets S3 é governado pela execution role IAM da equipe. É possível criar buckets por equipe ou usar um bucket compartilhado com prefixos por equipe, dependendo das políticas IAM para reforçar o isolamento. Os pods dentro do cluster precisam de service accounts configurados com IRSA (IAM Roles for Service Accounts) ou EKS Pod Identity para autenticar no S3.

    HyperPod Spaces, treinamento e inferência

    Spaces para desenvolvimento interativo

    Os HyperPod Spaces fornecem ambientes de desenvolvimento interativo (IDEs) rodando diretamente nos nós do cluster. Em um cluster compartilhado, os Spaces devem ser escopados ao namespace de cada equipe por meio de templates de Space com escopo de namespace. Um exemplo de template para JupyterLab da Equipe A:

    apiVersion: workspace.jupyter.org/v1alpha1
    kind: WorkspaceTemplate
    metadata:
      name: jl-smd-custom
      namespace: hyperpod-ns-team-a  # scopes the template to Team A's namespace
    spec:
      displayName: "JupyterLab (team-a)"
      description: "SageMaker Distribution"
      appType: jupyterlab
      baseLabels:
        - key: kueue.x-k8s.io/queue-name  # Task Governance (Kueue) local queue for Team A
          value: hyperpod-ns-team-a-localqueue
      ...  # container command, default CPU/memory resources, security context, access type, etc.
      ...
      defaultVolumes:
        - name: home-dir          # per-user home directory
          mountPath: /home
          persistentVolumeClaimName: fsx-openzfs-claim
        - name: shared-data       # Team A's shared directory
          mountPath: /fsx
          persistentVolumeClaimName: fsx-lustre-claim
      ...  # primary (EBS) storage defaults and limits ...

    Saiba mais: Ambientes de desenvolvimento interativo no Amazon SageMaker HyperPod EKS

    Jobs de treinamento distribuído

    O HyperPod Training Operator permite que equipes submetam jobs de treinamento distribuído como recursos customizados do Kubernetes (HyperPodPyTorchJob). Os jobs são escopados ao namespace da equipe e sujeitos às cotas e prioridades do Task Governance. Os dois elementos que ancoram um job a uma equipe são o metadata.namespace e os labels do Task Governance:

    apiVersion: sagemaker.amazonaws.com/v1
    kind: HyperPodPyTorchJob
    metadata:
      name: team-a-training-job
      namespace: hyperpod-ns-team-a  # scopes the job to Team A's namespace
      labels:
        kueue.x-k8s.io/queue-name: hyperpod-ns-team-a-localqueue  # Task Governance (Kueue) local queue
        kueue.x-k8s.io/priority-class: training-priority  # name of a WorkloadPriorityClass
    spec:
      ...  # replicaSpecs, container image, command, resources, volumes, etc. ...

    Saiba mais: Usando o HyperPod training operator

    Endpoints de inferência

    O HyperPod Inference Operator permite que equipes façam deploy de modelos como endpoints de inferência diretamente no cluster. Assim como os jobs de treinamento, os endpoints são escopados por namespace. Para cargas de inferência em produção que exigem alta disponibilidade, a AWS recomenda atribuir prioridade de escalonamento mais alta aos endpoints de inferência do que aos jobs de treinamento em lote:

    apiVersion: inference.sagemaker.aws.amazon.com/v1
    kind: InferenceEndpointConfig
    metadata:
      name: team-a-inference-endpoint
      namespace: hyperpod-ns-team-a  # scopes the endpoint to Team A's namespace
      labels:
        kueue.x-k8s.io/queue-name: hyperpod-ns-team-a-localqueue  # Task Governance (Kueue) local queue
        kueue.x-k8s.io/priority-class: inference-priority  # higher-priority WorkloadPriorityClass
    spec:
      ...  # model source, instance type, replica count, autoscaling, etc. ...

    Saiba mais: Deploy de modelos no Amazon SageMaker HyperPod

    Observabilidade com Amazon Managed Grafana

    O HyperPod Observability oferece capacidades de monitoramento e dashboards integrados via Amazon Managed Grafana. Para o cenário multi-tenant, o acesso das equipes ao Grafana deve ser configurado como somente leitura: os grupos TeamA e TeamB recebem a role Viewer, enquanto o grupo Admin recebe a role Admin ou Editor. O Amazon Managed Grafana usa o IAM Identity Center como mecanismo de autenticação, permitindo que os usuários acessem o Grafana com as mesmas credenciais corporativas que usam para o SageMaker Studio.

    A AWS também recomenda criar dashboards dedicados que filtrem dados por namespace, de forma que cada equipe veja apenas as métricas das suas próprias cargas de trabalho.

    Saiba mais: Observabilidade para clusters Amazon SageMaker HyperPod orquestrados pelo Amazon EKS

    Alocação de custos e chargeback

    Em um ambiente onde equipes compartilham infraestrutura cara de GPU, saber quem consome o quê é essencial para accountability, orçamento e chargeback. A AWS indica o Kubecost para essa necessidade, pois ele quebra os gastos dentro do cluster em conceitos nativos do Kubernetes (namespace, label, deployment, serviço) e os mapeia para conceitos organizacionais como equipe, projeto ou ambiente.

    Como a arquitetura já isola cada equipe em um namespace dedicado, a alocação de custos por namespace se alinha diretamente com as fronteiras das equipes, dando aos administradores uma visão clara de consumo de GPU, CPU, memória, armazenamento e rede por equipe — sem necessidade de tags adicionais nas cargas de trabalho. Para instruções passo a passo sobre como implantar e configurar o Kubecost em um cluster HyperPod, a AWS disponibilizou documentação específica sobre Kubecost no SageMaker HyperPod.

    Com o Kubecost em operação, é possível configurar orçamentos e alertas por namespace, suportar processos de chargeback (cobrar as equipes pelo uso) ou showback (reportar o uso sem cobrar), e dar a cada equipe visibilidade dos seus próprios dados de custo sem expor os dados das outras.

    Conclusão

    A arquitetura de referência publicada pela AWS para ambientes multi-tenant no SageMaker HyperPod com EKS combina múltiplos blocos de construção em uma solução coesa: federação de identidade, isolamento por namespace, RBAC, governança baseada em cotas e alocação de custos. O resultado é um blueprint que permite a múltiplas equipes compartilhar eficientemente um único cluster HyperPod EKS, mantendo as fronteiras de isolamento, controle e visibilidade necessárias.

    A abordagem é flexível e pode ser estendida para conectar equipes a clusters HyperPod Slurm junto com EKS, proporcionando uma experiência multi-tenant unificada em diferentes backends de orquestração. Os padrões fundamentais — federação de identidade, isolamento por namespace, RBAC, governança por cotas e alocação de custos — permanecem aplicáveis independentemente de como a organização evolua sua infraestrutura de IA.

    Fonte

    Share GPU clusters across teams with isolation and fairness using Amazon SageMaker HyperPod (https://aws.amazon.com/blogs/machine-learning/share-gpu-clusters-across-teams-with-isolation-and-fairness-using-amazon-sagemaker-hyperpod/)

  • Além das horas economizadas: como construir um caso de negócio para automação agêntica

    O problema com o modelo tradicional de ROI

    A automação agêntica — aquela baseada em software que raciocina, interpreta contexto e se adapta para completar tarefas — está aparecendo cada vez mais nos roadmaps de centros de excelência em Inteligência Artificial (AI CoE). O problema é que a forma como as empresas costumam justificar investimentos em automação foi desenhada para outra era.

    O modelo clássico de Retorno sobre Investimento (ROI) funciona assim: conta-se o volume de transações, mede-se o tempo médio por tarefa, multiplica-se pelo custo da hora de trabalho e subtrai-se o custo de construção da solução. Esse raciocínio fez sentido para a Automação Robótica de Processos (RPA), onde os processos são estáveis, as regras são fixas e as exceções são raras.

    O trouble é que a automação agêntica opera em um território completamente diferente. O modelo antigo pressupõe processos estáveis — e por isso ignora o custo de manutenção quando eles mudam. Pressupõe tarefas baseadas em regras — e por isso não tem linha de orçamento para exceções. Pressupõe que o trabalho é a totalidade do processo — e por isso nunca contabiliza o custo da supervisão humana. E trata uma hora economizada como valor garantido, quando na prática essa capacidade liberada frequentemente é absorvida pelo backlog e nunca chega ao resultado financeiro (P&L).

    Uma pesquisa da McKinsey reforça esse ponto ao identificar que transformações bem-sucedidas com IA seguem um padrão “1:3:5”: para cada dólar investido em tecnologia agêntica, as organizações gastam três em redesenho de processos e cinco em capacitação e adoção. Porém, a maioria das empresas inverte completamente essa fórmula (McKinsey, “Gestão de mudanças em IA agêntica: fechando o gap de adoção”, 2026). O valor da automação agêntica não está apenas na tarefa em si — está no que acontece ao redor dela: o julgamento, as exceções, a coordenação entre sistemas.

    O Agentic Value Model: quatro dimensões de valor

    Para capturar o valor real da automação agêntica, a AWS propõe um framework chamado Agentic Value Model, que mede quatro dimensões — além de uma condição essencial que determina se esse valor de fato chega ao resultado financeiro.

    1. Economia de tempo

    Esse pilar ainda existe, mas os agentes o ampliam para trabalhos que o RPA tradicional trata mal — ou só consegue lidar com lógicas de exceção extensas. A métrica é a mesma; o que muda é a base de trabalho à qual ela se aplica.

    2. Tratamento de exceções

    As exceções carregam boa parte dos custos operacionais, mas raramente aparecem nos modelos de ROI convencionais. A AWS aponta faixas de referência: corrigir um erro pode custar de 1,5 a 4 vezes o valor da transação original, e o erro humano pode representar de 2% a 15% do custo operacional total (AWS Prescriptive Guidance, “Avaliando seus custos atuais de processos humanos”). Um multiplicador de retrabalho precifica as exceções que a equipe detecta; o percentual de erro precifica as que passam despercebidas. Modelos que consideram apenas mão de obra ignoram os dois.

    3. Qualidade das decisões

    Agentes podem aplicar uma política consistente em escala, com raciocínio registrado — embora consistência e taxas de erro precisem de monitoramento contínuo. Como a própria AWS observa, “decisões de baixo volume e alto valor podem justificar assistência agêntica pela melhoria na qualidade da decisão, e não pela redução de custos” (AWS Prescriptive Guidance, “Entendendo a economia da IA agêntica”). Uma única decisão melhor em crédito, precificação ou risco pode superar um ano inteiro de minutos economizados.

    4. Resiliência a mudanças e economia de manutenção

    Esse pilar funciona nos dois sentidos. Scripts tradicionais são frágeis: quando uma tela ou sistema upstream muda, eles quebram e alguém precisa reconstruí-los. Agentes absorvem parte da variação sem exigir reescrita, mas deslocam a manutenção para avaliações, prompts, monitoramento e operações de modelos — sem eliminar o custo, apenas mudando sua natureza. O caso de negócio precisa comparar o custo evitado de manutenção de scripts com o custo operacional contínuo dos agentes. Em processos que mudam com frequência, a matemática pode favorecer os agentes; em processos congelados, pode não favorecer.

    A condição que governa tudo: realização de valor

    Cada benefício precisa de um mecanismo definido que converta a melhoria operacional em valor econômico — e de um responsável nomeado. Para capacidade liberada, isso significa reduzir gastos ou redirecionar essa capacidade para um resultado mensurável e nomeado.

    Um exemplo ilustrativo ajuda a entender o raciocínio: imagine um processo de triagem de sinistros que trata 200.000 casos por ano, com cerca de 12 minutos por sinistro e custo de US$ 45 por hora, resultando em um custo base de aproximadamente US$ 1,8 milhão. Automatizar os 70% rotineiros libera cerca de 28.000 horas — ou aproximadamente US$ 1,26 milhão em capacidade — antes de descontar o tempo de supervisão que esses sinistros ainda exigem.

    É aqui que a maioria dos casos de negócio erra: liberar horas não é o mesmo que economizar dinheiro. A empresa só gasta menos se empregar menos pessoas ou reduzir gastos com terceiros, horas extras ou outsourcing. Se atrito natural e menor uso de horas extras capturam metade desse valor, o caso deve registrar cerca de US$ 630.000 — não o valor cheio. Realocar as pessoas é o resultado mais comum, e então o valor está no que elas passam a produzir. Para cada hora liberada, conta-se o valor da realocação ou a redução de custo em dinheiro — nunca os dois.

    Somando a dimensão de exceções ao mesmo exemplo: dos 8% de sinistros que precisam de correção (16.000 casos), com um custo de correção de 3,5 vezes o custo de tratamento original (cerca de US$ 9), chega-se a aproximadamente US$ 504.000 em exposição anual a retrabalho. Esse é o baseline — não o valor agêntico. O valor está na parcela que o agente elimina: uma redução de 40%, ajustada por um fator de realização de 75%, resulta em um benefício modelado de cerca de US$ 151.000. E isso antes de precificar qualquer melhoria em decisões de detecção de fraude.

    A fórmula consolidada

    Para manter a matemática consistente, a AWS recomenda dimensionar cada pool de valor da mesma forma e descontar os custos. A fórmula consolidada é:

    Valor anual líquido = valor de capacidade realizada + custos evitados de correção e erros + ganho em resultados de decisões + manutenção e downtime evitados — custo de implementação anualizado — custo de runtime dos agentes, integrações, avaliações, supervisão, governança e gestão de mudanças — perdas geradas por novos erros introduzidos pelo agente.

    Erros que o agente não elimina já estão fora do termo de custo evitado — portanto, não devem ser subtraídos uma segunda vez. Para programas multianuais, o custo de implementação deve ser registrado no ano em que é gasto, os benefícios devem crescer conforme a adoção avança, e os fluxos de caixa anuais devem ser descontados ao Valor Presente Líquido (VPL).

    Casos reais com Amazon Quick Automate

    Três implantações iniciais do Amazon Quick Automate — serviço de automação dentro do Amazon Quick — ilustram as dimensões do modelo em prática:

    • Kitsa, empresa de seleção de sites para ensaios clínicos, automatizou a extração de mais de 50 pontos de dados em centenas de milhares de sites. Reportou 91% de redução de custos e aquisição de dados 96% mais rápida, com 96% de cobertura, encaminhando casos de baixa confiança para revisão humana. Isso exemplifica economia de tempo e tratamento de exceções: unificar dados de alta qualidade em escala desbloqueou um gargalo central que permitiu ao seu agente de seleção de sites avaliar mais locais com maior precisão.
    • dLocal, provedora de pagamentos cross-border, automatizou até 75% das revisões de conformidade de comerciantes em avaliações controladas. Isso liberou especialistas para casos complexos e de alto risco (qualidade de decisão) e adicionou verificações contínuas de desvio de política que uma revisão manual periódica jamais conseguiria detectar (resiliência a mudanças). Especialistas que antes gastavam horas em verificações rotineiras passaram a dedicar esse tempo a casos que exigem julgamento regulatório.
    • Genpact, automatizando risco em cadeias de suprimentos em múltiplos sistemas SAP, reportou redução na análise de impacto de interrupções de 2 a 3 dias para minutos — o tipo de coordenação entre sistemas que nenhum sistema de registro único consegue fazer sozinho (economia de tempo e qualidade de decisão).

    Nenhuma dessas implantações prova todos os quatro pools simultaneamente — o que reforça por que o caso de negócio precisa dimensionar cada dimensão separadamente.

    Framework de priorização: o que automatizar com agentes

    Para decidir quais workflows merecem automação agêntica, a AWS sugere avaliar cada candidato em dois eixos:

    • Complexidade da tarefa: quanto raciocínio, contexto e adaptação ela exige.
    • Risco da decisão: o custo de errar, que define o nível de autonomia que pode ser concedido.

    Combinados, esses dois eixos formam uma matriz dois por dois:

    • Baixa complexidade, baixo risco: mantenha no RPA — agentes adicionam custo sem agregar valor.
    • Alta complexidade, baixo risco: jogo de capacidade — automatize para throughput e absorção de exceções.
    • Alta complexidade, alto risco: jogo de qualidade de decisão — mantenha um humano no loop e justifique com base em melhores decisões.
    • Baixa complexidade, alto risco: jogo de controles — reforce as salvaguardas em torno da etapa em vez de adicionar raciocínio que ela não precisa.

    Um atalho prático: se uma pessoa precisa navegar entre sistemas e interpretar contexto ambíguo em cada etapa, vale avaliar uma abordagem agêntica. Se o caminho é determinístico, o RPA pode ainda ser mais barato.

    Como apresentar o caso para a liderança

    A recomendação da AWS é apresentar o investimento como um portfólio de workflows — não como um projeto isolado. A pesquisa da McKinsey mostra por que pilotos isolados travam: quase dois terços das empresas já experimentaram agentes, mas menos de 10% conseguiram escalar para valor tangível (McKinsey, “Escalando IA agêntica com transformações de dados”, 2026). O valor vem de definir os resultados, incorporar agentes profundamente nos workflows centrais e redesenhar os modelos operacionais ao redor deles.

    A sugestão é levar para a liderança de três a cinco domínios priorizados, cada um com seu caso nas quatro dimensões. Um elemento que costuma convencer um CFO cético é a regra de parada: estruture o investimento com metas de break-even explícitas e pontos predefinidos para interromper o financiamento de agentes que não entregam. Conecte cada domínio a um indicador-chave de desempenho (KPI) que a liderança já acompanha — custo por atendimento, tempo de ciclo, Net Promoter Score (NPS) ou exposição a conformidade. E trate a governança como acelerador: autonomia delimitada, supervisão onde o risco é alto e auditabilidade por design permitem ampliar a autonomia dos agentes conforme as evidências se acumulam.

    Começando com Amazon Quick

    O Amazon Quick integra pesquisa, inteligência de negócios e automação em uma única experiência agêntica. Com o Quick Automate, equipes podem orquestrar ações de interface, chamadas de API e revisão humana em workflows corporativos — gerando dados de execução por caso que um AI CoE pode combinar com KPIs operacionais e financeiros para medir o valor à medida que ele se realiza. Essa medição é o que transforma um primeiro projeto em um portfólio.

    O ponto de partida recomendado é identificar um workflow onde uma pessoa navega entre sistemas, interpreta contexto e resolve exceções manualmente. Coloque esse workflow em produção, estabeleça o baseline dos pools de valor e do custo operacional, nomeie um responsável e prove o número. A partir daí, o caso de portfólio se acumula à medida que cada novo workflow reporta resultados.

    Conclusão

    A questão central não é se a automação agêntica economiza horas — é onde ela entrega valor que as ferramentas existentes não conseguem, e como provar isso antes de gastar. A disciplina descrita no framework da AWS — dimensionar cada pool de valor, aplicar fatores de realização realistas e definir regras de parada — é o que torna essa prova crível. Equipes que provam valor em um workflow podem financiar o próximo a partir de resultados medidos, não de projeções. Para aprofundamento na economia subjacente, a AWS Prescriptive Guidance sobre economia de IA agêntica é um bom ponto de partida.

    Fonte

    Beyond hours saved: Building the business case for agentic automation (https://aws.amazon.com/blogs/machine-learning/beyond-hours-saved-building-the-business-case-for-agentic-automation/)

  • Repensando o controle de acesso em RAG com Amazon Quick e Amazon Bedrock

    O problema de segurança que toda empresa enfrenta com IA

    Organizações ao redor do mundo estão adotando a Geração Aumentada por Recuperação (RAG) para extrair insights de bases de conhecimento corporativo — Microsoft SharePoint, Google Drive, Atlassian Confluence. O conceito é poderoso: permitir que assistentes de IA respondam perguntas com base em documentos internos da empresa.

    Mas existe um desafio crítico que muitas implementações ignoram: essas bases de conhecimento contêm informações sensíveis, governadas por estruturas complexas de permissões. Garantir que as respostas geradas pela IA respeitem essas permissões é um dos problemas mais difíceis da IA corporativa.

    A AWS publicou um artigo detalhando como o Amazon Quick e o Amazon Bedrock Knowledge Bases abordam esse desafio por meio de verificação de listas de controle de acesso (ACL) em tempo real — consultando as permissões diretamente na fonte autoritativa no momento da consulta.

    Por que as abordagens tradicionais falham

    A solução mais comum para controle de acesso em RAG é a chamada abordagem de “replicar e filtrar”. O funcionamento é o seguinte: um conector de dados (como um conector do SharePoint) extrai as ACLs durante um ciclo de sincronização periódica. Essas ACLs são replicadas e armazenadas como atributos no índice. Na hora da consulta, o sistema mapeia o usuário autenticado para os atributos de ACL armazenados e filtra os resultados.

    À primeira vista parece razoável. Mas a AWS identifica três fragilidades fundamentais nessa abordagem:

    O sistema de IA não é a fonte da verdade

    Nesse modelo, o sistema de IA assume sozinho a responsabilidade pela aplicação das permissões, sem ser a fonte autoritativa. Isso exige que os conectores de dados repliquem com precisão lógicas de ACL complexas e específicas de cada fonte — hierarquias de herança, membros de grupos, políticas de acesso condicional e regras de negação. Mapear isso corretamente em dezenas de conectores diferentes é uma tarefa extremamente suscetível a erros.

    Permissões desatualizadas criam brechas de segurança

    Em geral, os conectores de dados operam com sincronizações periódicas. Isso significa que as ACLs armazenadas no índice são apenas um retrato do momento em que a última sincronização ocorreu. Algumas soluções usam atualizações baseadas em eventos, mas isso não funciona de forma universal. O Confluence, por exemplo, não emite um evento quando a associação a um grupo muda. Entre um ciclo e outro de sincronização, um usuário que teve o acesso revogado pode continuar recebendo respostas da IA com base em documentos que não deveria mais ver.

    Fontes de dados evoluem constantemente

    Plataformas como SharePoint e Google Drive lançam regularmente novos mecanismos de controle de acesso. Uma nova funcionalidade de permissão pode criar lacunas na lógica de mapeamento do conector — expondo conteúdo indevidamente até que o conector seja atualizado.

    A solução da AWS: verificação de ACL em tempo real

    Para superar essas limitações, a AWS implementou verificações de ACL em tempo real como uma camada adicional de segurança no Amazon Quick e no Amazon Bedrock Knowledge Bases. O sistema garante que os controles de acesso mais atuais sejam sempre aplicados, consultando as permissões diretamente na fonte autoritativa no momento da consulta — sem depender de dados de ACL potencialmente desatualizados ou mapeados incorretamente.

    Como funciona: o exemplo com Google Drive

    Quando um usuário envia uma consulta a um agente do Amazon Quick que utiliza uma base de conhecimento do Google Drive, o sistema aplica o controle de acesso em dois estágios:

    Estágio 1: Filtragem pré-recuperação

    O Amazon Quick realiza uma busca semântica no índice vetorial para encontrar os trechos de documentos mais relevantes. O sistema aplica as listas de controle de acesso já armazenadas no índice, produzindo um conjunto preliminar de documentos candidatos. Esse estágio é necessário porque fazer chamadas de API em tempo real para cada documento do índice seria inviável em termos de custo e desempenho em escala.

    Estágio 2: Verificação em tempo real

    O Amazon Quick verifica os documentos candidatos em tempo real, chamando as APIs do Google Drive. Utiliza a credencial de conta de serviço fornecida pelo administrador para gerar tokens de acesso específicos para o usuário por meio de impersonação. O Google Drive mantém a fonte de verdade das ACLs associadas a cada documento. Documentos que o usuário não está autorizado a acessar são excluídos do conjunto de resultados. Apenas os trechos verificados e autorizados são enviados ao modelo de linguagem de grande escala (LLM) como contexto para a geração da resposta.

    Essa abordagem de dois estágios equilibra desempenho e segurança: usa as ACLs em cache para eficiência, mas garante a correção por meio de verificações em tempo real.

    Além da aplicação de ACLs, o Amazon Bedrock oferece controles de IA responsável — incluindo o Amazon Bedrock Guardrails para filtragem de conteúdo, verificações de fundamentação para reduzir alucinações e políticas de segurança configuráveis.

    Por que isso importa para as organizações

    A AWS destaca três benefícios principais dessa abordagem:

    • Permissões sempre atualizadas: sem mais brechas de segurança entre ciclos de sincronização. Se o acesso de um colaborador for revogado, a mudança é refletida nas respostas da IA em instantes — não horas ou dias depois.
    • Confiança para escalar: as organizações podem expandir a cobertura de suas bases de conhecimento sabendo que as verificações de ACL em tempo real validam as permissões na fonte autoritativa a cada consulta, independentemente da fonte de dados.
    • Menor carga operacional: não é necessário se preocupar com a frequência das sincronizações.

    O que os clientes dizem

    A Mondelēz International implantou o Amazon Quick para mais de 35.000 colaboradores em quatro regiões. Jamahl Wiggins, especialista sênior em Inovação M365 da empresa, destacou que o controle de acesso em tempo real foi o diferencial decisivo na avaliação da solução — respondendo de forma definitiva à exigência do time de segurança e conformidade de que cada colaborador acesse apenas as informações para as quais está autorizado.

    Conclusão

    A arquitetura de ACL em duas camadas implementada no Amazon Quick e no Amazon Bedrock Knowledge Bases representa uma evolução importante para o uso seguro de RAG em ambientes corporativos. Ao verificar as permissões diretamente nas fontes autoritativas no momento da consulta, a solução elimina as brechas criadas por dados desatualizados e reduz o risco de exposição indevida de informações sensíveis.

    Para começar a explorar, a AWS disponibiliza documentação do Amazon Quick e do Amazon Bedrock Knowledge Bases.

    Fonte

    Rethinking access control for RAG with Amazon Quick and Amazon Bedrock (https://aws.amazon.com/blogs/machine-learning/rethinking-access-control-for-rag-with-amazon-quick-and-amazon-bedrock/)

  • Automatize a remediação após investigações do AWS DevOps Agent

    O problema: diagnóstico sem remediação

    Reduzir o tempo entre a detecção de um incidente, sua investigação e a correção é uma das prioridades mais críticas para equipes que operam cargas de trabalho em produção na AWS. Quando algo dá errado, o engenheiro de plantão precisa diagnosticar rapidamente o problema, identificar a causa raiz e aplicar a correção — muitas vezes de madrugada.

    O AWS DevOps Agent já resolve a parte de diagnóstico: é um agente com inteligência artificial que faz a triagem autônoma de incidentes ao longo do dia, correlacionando métricas, logs e topologia de aplicação para entregar uma Análise de Causa Raiz (RCA) e ações recomendadas de resolução. Mas há um detalhe importante: para manter controle e evitar mudanças não intencionais, a maioria das organizações mantém seus agentes de observabilidade — incluindo o AWS DevOps Agent — no modo “observar e reportar”. Ou seja, o agente diagnostica, mas não modifica recursos em produção diretamente.

    É exatamente essa lacuna que a AWS abordou em um post técnico recente, demonstrando como usar AWS Lambda Durable Functions, Amazon EventBridge e Amazon Bedrock para criar um fluxo automatizado de remediação que complementa o AWS DevOps Agent. O resultado é um pipeline que transforma os resumos de investigação em correções pré-validadas, prontas para aprovação com uma única ação do engenheiro responsável.

    Visão geral da solução

    Com AWS Lambda Durable Functions, é possível construir aplicações resilientes de múltiplos passos e fluxos de IA que podem rodar por até um ano sem necessidade de gerenciar infraestrutura adicional ou escrever código customizado de gerenciamento de estado e tratamento de erros. Essas funções fazem checkpoints automáticos do progresso, suspendem a execução durante tarefas de longa duração e se recuperam de falhas mantendo o progresso confiável mesmo diante de interrupções.

    O fluxo da solução funciona assim:

    • O AWS DevOps Agent conclui uma investigação de incidente e emite um evento contendo sintomas, descobertas e análise de causa raiz.
    • O Amazon EventBridge recebe o evento de conclusão da investigação e aciona a função devops-agent-trigger com o conteúdo da investigação.
    • Essa função Lambda empacota o resumo da investigação e invoca a durable function devops-agent-remediation-durable.
    • A durable function envia o contexto da investigação ao Amazon Bedrock, que analisa as descobertas e busca remediações aplicáveis.
    • O Amazon Bedrock identifica e lista as ferramentas de remediação disponíveis a partir de uma lista de permissões (allowlist) de funções Lambda aprovadas: devops-agent-lambda-tool.
    • O Amazon Bedrock propõe ações específicas de remediação com base nas descobertas e nas ferramentas disponíveis.
    • Para ações de leitura, a durable function executa as ferramentas de remediação de forma autônoma. Para mudanças em infraestrutura, o fluxo suspende e aguarda aprovação humana antes de prosseguir.
    • Após a aprovação, a durable function aplica as ações de remediação à infraestrutura usando as ferramentas selecionadas.
    • A durable function opera como um loop agêntico, chamando o Amazon Bedrock iterativamente, executando ferramentas aprovadas e alimentando os resultados de volta na conversa até que a remediação esteja completa.

    Segurança e controle: allowlist e aprovação humana

    Para manter as ações automatizadas seguras e auditáveis, o orquestrador aplica uma allowlist de ferramentas de remediação. Cada ferramenta é uma função Lambda construída para um propósito específico e bem delimitado — como ler a configuração de uma função Lambda ou atualizar uma declaração de política do Gerenciamento de Identidade e Acesso (IAM). O Amazon Bedrock só pode selecionar e invocar ferramentas desse conjunto aprovado, mantendo o escopo das ações automatizadas sob controle.

    O fluxo ainda distingue entre operações de leitura e operações mutantes. Ferramentas de leitura executam de forma autônoma, sem intervenção humana. Ações mutantes — que modificariam o estado da infraestrutura — fazem a durable function suspender a execução e aguardar aprovação humana. É aqui que o AWS Lambda Durable Functions oferece uma vantagem fundamental: a função faz checkpoints do progresso e pausa por minutos, horas ou até dias sem consumir recursos de computação, retomando exatamente de onde parou após receber o sinal de aprovação.

    Quando o engenheiro de plantão finalmente entra em ação, o sistema já diagnosticou o problema, coletou as configurações relevantes e preparou um conjunto de mudanças pré-validadas prontas para aprovação com um clique.

    Pré-requisitos e implantação com AWS CDK

    Antes de implantar a solução, é necessário ter os seguintes pré-requisitos:

    Para implantar a solução usando o AWS Cloud Development Kit (AWS CDK), execute os seguintes passos:

    Clone o repositório:

    $ git clone https://github.com/aws-samples/sample-automate-remediation-post-devops-agent-investigation.git

    Navegue até o diretório:

    $ cd sample-automate-remediation-post-devops-agent-investigation

    Faça o bootstrap do AWS CDK (necessário na primeira vez que você usa o AWS CDK em um ambiente específico — combinação de conta e região AWS):

    $ cdk bootstrap

    Implante o stack:

    $ cdk deploy

    O AWS CDK provisiona e configura automaticamente os seguintes recursos:

    • Três funções Lambda: devops-agent-trigger, devops-agent-remediation-durable e devops-agent-lambda-tool.
    • Uma regra do Amazon EventBridge.

    As permissões de IAM são gerenciadas automaticamente pelo AWS CDK seguindo o princípio de menor privilégio. Por exemplo, o Amazon EventBridge recebe permissão lambda:InvokeFunction para a função devops-agent-trigger. O stack concede a permissão aidevops:ListJournalRecords a essa função para buscar os resumos de investigação do journal do AWS DevOps Agent. Também concede a permissão bedrock:InvokeModel à função devops-agent-remediation-durable para invocar o Amazon Bedrock.

    Simulando o incidente e validando o fluxo

    Para demonstrar o fluxo de ponta a ponta, o post original simula um cenário comum: uma função Lambda que ultrapassa o timeout configurado. Isso dá ao AWS DevOps Agent um incidente real para investigar e coloca o fluxo de remediação em ação. Os passos para criar e invocar essa função de teste estão no repositório, que inclui uma função devops-agent-timeout pronta para uso e instruções para implantá-la, invocá-la e confirmar o erro de timeout no Amazon CloudWatch Logs. Para o passo a passo completo, consulte a seção “Simulate the incident” do README.

    Com o stack implantado e a função devops-agent-timeout falhando com erros de timeout, o fluxo se desenrola assim:

    1. Abra o console do AWS DevOps Agent, navegue até o seu espaço de agente e pergunte: “What is happening with the devops-agent-timeout function?”
    2. A investigação inicia e leva alguns minutos. O AWS DevOps Agent correlaciona métricas, logs e a configuração da função para determinar a causa raiz.
    3. Após a conclusão, o agente apresenta a análise de causa raiz, identificando que o timeout da função é insuficiente para a carga de trabalho.

    A conclusão da investigação emite um evento para o Amazon EventBridge, que aciona a função devops-agent-trigger. Essa função busca o resumo da investigação do journal do AWS DevOps Agent — incluindo sintomas, causas raiz, causas contribuintes e lacunas da investigação — e o envia para a durable function.

    O loop agêntico em ação

    A durable function inicia seu loop agêntico enviando o contexto da investigação ao Amazon Bedrock. Na primeira chamada ao Bedrock, o modelo analisa o resumo e determina que precisa inspecionar a configuração atual da função antes de propor uma correção. Ele seleciona a ferramenta lambda_get_function_configuration da allowlist. Como é uma operação de leitura, ela executa de forma autônoma sem exigir aprovação humana. O resultado mostra a configuração atual da função devops-agent-timeout, confirmando um valor de timeout de 3 segundos.

    Com a configuração confirmada, o Amazon Bedrock avança para a próxima iteração. Ele raciocina que o timeout de 3 segundos é a causa raiz das falhas e propõe aumentá-lo para 30 segundos. A resposta do Amazon Bedrock contém tanto o raciocínio quanto a chamada de ferramenta:

    {
      ....
    },
    "output": {
      "message": {
        "role": "assistant",
        "content": [
          {
            "text": "Now I can see the current configuration confirms the issue - the function has a 3-second timeout. Given that this appears to be a test function for timeout scenarios (based on the name \"devops-agent-timeout\" and its association with \"DevOps Agent Test Infrastructure\"), I'll increase the timeout to a reasonable value that should allow the function to complete successfully. I'll set it to 30 seconds, which is a common timeout for Lambda functions that need more execution time."
          },
          {
            "toolUse": {
              "toolUseId": "tooluse_lcGHbWDxng5HiLpmhWagDS",
              "name": "lambda_update_function_configuration",
              "input": {
                "FunctionName": "devops-agent-timeout",
                "Timeout": 30
              },
              "type": "tool_use"
            }
          }
          ...
        }
      }
    }

    Como lambda_update_function_configuration é uma ação mutante, a durable function suspende a execução e aguarda aprovação humana.

    Importante: o resumo da investigação enviado ao Amazon Bedrock e a remediação proposta são gerados por IA e devem sempre ser revisados antes da aprovação. O gate de aprovação humana é o controle de segurança: quem aprova deve inspecionar os parâmetros completos da ferramenta — por exemplo, o FunctionName e o Timeout exatos em uma chamada lambda_update_function_configuration — e confirmar que a mudança está correta.

    Para aprovar via AWS CLI:

    $ aws lambda send-durable-execution-callback-success \
        --callback-id <callback-id> \
        --cli-binary-format raw-in-base64-out \
        --result '{"approved": true}'

    Após a aprovação, a durable function retoma a execução, invoca a ferramenta Lambda para atualizar a configuração e o Amazon Bedrock confirma que a remediação foi concluída. O output final confirma a remediação bem-sucedida:

    {
      "EventType": "StepSucceeded",
      "Name": "bedrock-call-4",
      ....
    },
    "output": {
      "message": {
        "role": "assistant",
        "content": [
          {
            "text": "## Remediation Complete\n\n**Issue Identified:** The Lambda function `devops-agent-timeout` in eu-west-1 was configured with a 3-second timeout that was insufficient for its execution time, causing timeout errors at exactly 3000ms.\n\n**Action Taken:** Successfully updated the Lambda function configuration to increase the timeout from 3 seconds to 30 seconds.\n\n**Verification:** Confirmed the configuration change was applied successfully. The function now has:\n- **Timeout:** 30 seconds (increased from 3 seconds)\n- **Status:** Successful update completion\n- **LastModified:** 2026-05-22T11:11:28.000+0000\n\nThis remediation should resolve the timeout errors by providing the function with adequate time to complete its execution. The 30-second timeout provides a 10x increase from the original 3-second limit, which should be sufficient for most operations while still maintaining reasonable execution bounds for a Lambda function."
          }
        ]
      }
    },
    "stopReason": "end_turn",
    ...
    }

    Todo esse ciclo — da detecção do incidente à correção automatizada — exigiu apenas uma única ação de aprovação do engenheiro. O sistema cuidou do diagnóstico, da coleta de configurações, da proposta de remediação e da execução de forma autônoma.

    Limpeza dos recursos

    Para remover os recursos criados, execute:

    $ cdk destroy

    Delete manualmente a função de simulação de incidente:

    $ aws lambda delete-function --function-name devops-agent-timeout

    Delete manualmente a role IAM e o grupo de logs do CloudWatch da função:

    $ aws iam detach-role-policy \
        --role-name devops-agent-timeout-role \
        --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
    $ aws iam delete-role --role-name devops-agent-timeout-role
    $ aws logs delete-log-group --log-group-name /aws/lambda/devops-agent-timeout

    Conclusão

    A solução demonstrada pela AWS mostra como é possível fechar o ciclo entre investigação e remediação de incidentes usando Lambda Durable Functions, Amazon EventBridge e Amazon Bedrock em conjunto com o DevOps Agent. O fluxo transforma resumos de investigação em passos de remediação acionáveis que rodam com aprovação humana no loop.

    A abordagem reduz o Tempo Médio de Resolução (MTTR) porque, quando o engenheiro de plantão entra em ação, o sistema já diagnosticou o problema, coletou as configurações atuais e preparou uma correção pronta para aprovação. A segurança permanece central no design: a allowlist restringe o Amazon Bedrock a invocar apenas ferramentas pré-aprovadas, e o gate de aprovação humana evita que mudanças não intencionais cheguem à produção sem autorização explícita.

    A arquitetura também é extensível por natureza. Adicionar novas capacidades de remediação requer apenas atualizações de configuração no registro de ferramentas, sem mudanças de código no orquestrador. E como as AWS Lambda Durable Functions suspendem sem consumir recursos de computação durante a espera por aprovação, a solução permanece eficiente em custo mesmo quando os ciclos de aprovação se estendem por horas ou dias.

    Para começar, baixe o template completo do AWS CDK no repositório no GitHub e siga os passos descritos para implantar a solução no seu ambiente.

    Fonte

    Automate remediation post AWS DevOps Agent investigation (https://aws.amazon.com/blogs/machine-learning/automate-remediation-post-aws-devops-agent-investigation/)

  • Configurando seu harness de vulnerabilidades com IA, Parte 2: o arquivo de steering

    O problema com modelos de IA sem configuração

    A AWS publicou a segunda parte de sua série sobre harness de vulnerabilidades com IA, e desta vez o foco é a peça que realmente determina a qualidade das análises: o arquivo de steering. Se a primeira parte da série cobriu a arquitetura do harness, esta parte cobre a configuração — e a distinção importa muito mais do que parece.

    A lição central do post é direta: o mesmo modelo de fronteira que produz uma avaliação de segurança rigorosa e baseada em evidências com um conjunto de instruções vai produzir cadeias de ataque alucinadas e classificações de severidade infladas com outro. A capacidade do modelo é fixa. O que você configura é o julgamento dele.

    As iterações iniciais da equipe da AWS produziram achados que soavam autoritativos mas desmoronavam sob escrutínio. O modelo reportava uma injeção SQL em uma função que não existia, afirmava confiança ALTA sem nenhuma base estrutural, ou ignorava um AWS WAF em modo de bloqueio diretamente no caminho da requisição. A correção não foi um modelo melhor — foi uma direção melhor.

    O que é um arquivo de steering

    Um arquivo de steering é um conjunto de instruções que um assistente de codificação com IA carrega no início de cada sessão. Ferramentas diferentes usam convenções diferentes: o Kiro lê arquivos markdown do diretório .kiro/steering/, o Claude Code usa CLAUDE.md, o Cursor usa .cursorrules, e o GitHub Copilot usa .github/copilot-instructions.md. A função é a mesma em todos os casos: instruções persistentes que moldam como o modelo aborda o trabalho no repositório.

    Aplicado à análise de segurança, um arquivo de steering codifica a metodologia de triagem da equipe como instruções executáveis pelo modelo. Em vez de depender de engenheiros individuais para aplicar essa metodologia de forma consistente, você a codifica uma vez e o modelo a aplica uniformemente em todas as análises.

    Por que configuração supera prompting pontual

    Um prompt de turno único — “encontre vulnerabilidades neste código” — produz o que o comportamento padrão do modelo gera. Esse padrão é otimizado para utilidade, não para rigor. O modelo vai encontrar coisas para reportar porque você pediu para encontrar coisas.

    Um arquivo de steering muda o padrão. Ele estabelece três pilares fundamentais:

    • O que conta como evidência: sem instruções explícitas, um modelo trata seu próprio raciocínio como evidência suficiente. O arquivo de steering exige verificação estrutural — fluxo de dados confirmado, existência de função confirmada e caminho de chamada confirmado — antes de um achado ser reportado.
    • O que confiança significa: por conta própria, um modelo atribui confiança com base em quão plausível sua narrativa soa para si mesmo. O arquivo de steering substitui essa confiança auto-reportada por uma fórmula calculada a partir de sinais estruturais binários.
    • Como a infraestrutura afeta a prioridade: deixado aos seus padrões, um modelo avalia vulnerabilidades isoladas do contexto de implantação. O arquivo de steering exige a análise de Infraestrutura como Código (IaC) e a aplicação de multiplicadores específicos por controle antes de atribuir prioridade.

    O objetivo é reprodutibilidade: a mesma base de código deve produzir os mesmos achados avaliados independentemente de quem executa a análise ou quando.

    As cinco seções que importam

    1. Verificação estrutural antes de confiar no modelo

    Esta é descrita como a instrução mais importante do arquivo. A regra é simples: nunca confie na confiança auto-reportada de um modelo sobre uma vulnerabilidade. Verifique as afirmações contra a estrutura do código: os arquivos referenciados existem? As funções referenciadas existem? O fluxo de dados confirma a afirmação? Existe um caminho de chamada?

    Se um achado falha em todas as verificações estruturais, ele é rejeitado independentemente de quão convincente a narrativa soa. Sem essa instrução, o modelo gera cadeias de ataque plausíveis que referenciam funções renomeadas três commits atrás, arquivos em pacotes diferentes, ou fluxos de dados que passam por sanitização que o modelo não percebeu. Nos testes da AWS, aproximadamente 30% dos achados de modelos sem steering referenciavam estruturas de código que não existiam no repositório alvo. Com o arquivo de steering, esse número caiu a zero.

    2. Pontuação de confiança baseada em evidências

    A fórmula abaixo substitui a confiança intuitiva do modelo por uma pontuação calculada a partir de sinais observáveis. Cada fator é binário: confirmado ou não confirmado.

    confidence = 0.30 * taint_confirms_flow
               + 0.25 * no_sanitization_found
               + 0.20 * entry_point_is_public
               + 0.15 * call_graph_confirms_path
               + 0.10 * sink_type_matches_category

    A confirmação de taint recebeu o maior peso (0,30) porque um caminho de fluxo de dados confirmado — evidência de que dados controlados pelo usuário chegam a uma operação sensível à segurança — é o preditor mais forte de que um achado é real. Na validação da AWS contra aplicações vulneráveis conhecidas, achados com taint confirmado e sem sanitização eram exploráveis em 89% das vezes. Achados onde o modelo reportou confiança ALTA sem confirmação estrutural eram exploráveis em apenas 34% das vezes.

    A fórmula é um ponto de partida, não um padrão fixo. Os pesos devem refletir os dados de validação de cada equipe.

    3. Avaliação com consciência de infraestrutura

    Esta seção endereça uma categoria comum de superpriorização: reportar uma vulnerabilidade com severidade total quando controles compensatórios já estão em vigor.

    score_after_controls = max(0.15, score * block_1 * block_2 * ... * block_n)

    Os controles são mapeados para classes específicas de vulnerabilidade. Um AWS WAF com regras de injeção SQL em modo de bloqueio é um controle FORTE (multiplicador de 0,25x) contra injeção SQL. É irrelevante para ataques de desserialização. O arquivo de steering especifica esse mapeamento explicitamente em vez de deixar o modelo adivinhar.

    O empilhamento multiplicativo de controles com um piso de 0,15 codifica o pensamento de defesa em profundidade. Múltiplos controles reduzem o risco mais do que qualquer controle único, mas nenhuma combinação reduz o risco a zero.

    Uma sutileza importante aprendida durante a validação: controles de acesso (autenticação e autorização) e controles de bloqueio de ataque (regras de WAF e validação de entrada) servem funções diferentes. Autenticação limita quem pode tentar um exploit — não limita o que acontece quando um usuário autenticado tenta um. Uma injeção de comando atrás de autenticação IAM ainda é uma injeção de comando; o pool de atacantes é menor, mas o impacto quando explorado é inalterado.

    4. Integração de inteligência de ameaças

    O arquivo de steering incorpora sinais do catálogo Catálogo de Vulnerabilidades Exploradas Conhecidas (KEV) da CISA e do Sistema de Pontuação de Previsão de Exploits (EPSS) para aumentar a prioridade quando a inteligência de ameaças indica risco ativo.

    Os sinais reconhecidos e seus boosts são:

    • Explorada ativamente (CISA KEV): +0,30
    • Associada a ransomware (CISA KEV): +0,15
    • EPSS >= 0,5: +0,20
    • Prova de conceito pública existente: +0,10

    Há um limite de +0,50 de boost total para evitar que a inteligência de ameaças domine a pontuação. A lógica é separar urgência de severidade: uma vulnerabilidade de dependência de severidade média sob exploração ativa por grupos de ransomware exige resposta mais rápida do que um achado crítico em nível de código que requer precondições complexas e não tem ferramental conhecido.

    5. Classificação de prioridade

    A pontuação produz um número, e a classificação de prioridade transforma esse número em uma decisão — que é o que um desenvolvedor precisa ao receber um achado. O arquivo de steering define quatro níveis de ação:

    • P0 — Pontuação >= 0,8, sem mitigação efetiva de bloqueio de ataque: corrigir imediatamente
    • P1 — Pontuação >= 0,6 OU inteligência de ameaça ativa: corrigir neste sprint
    • P2 — Pontuação >= 0,4, evidência parcial: investigar quando houver capacidade
    • P3 — Pontuação < 0,4 ou efetivamente mitigado: aceitar risco ou backlog

    A instrução mais controversa do arquivo: não registre achados P3 como issues de segurança. O raciocínio é sólido — registrar achados de baixa confiança ou totalmente mitigados como tickets treina equipes a ignorar as ferramentas de segurança. Um pipeline que produz dez achados confirmados recebe mais atenção de engenharia do que um que produz duzentos “talvez”.

    Resultados da validação

    A AWS testou o arquivo de steering contra uma aplicação vulnerável construída especificamente para o teste, contendo dez vulnerabilidades conhecidas: oito exploráveis e duas mitigadas por controles de infraestrutura. A aplicação incluía um AWS WAF com regras de injeção SQL em modo de bloqueio, funções AWS Lambda isoladas em Amazon VPC, e autenticação IAM em cada endpoint.

    Sem o arquivo de steering: o modelo encontrou todas as dez vulnerabilidades e identificou corretamente os dois achados mitigados como menor prioridade. No entanto, atribuiu severidade por intuição e não produziu verificação estrutural de suas afirmações.

    Com o arquivo de steering: o modelo encontrou nove das dez vulnerabilidades (não sinalizando uma credencial hardcoded intencionalmente embutida em código de teste unitário que estava definida mas nunca chamada), rebaixou corretamente os dois achados mitigados para P3 com justificativa documentada, mostrou o cálculo de confiança para cada achado, e verificou cada fluxo de dados afirmado contra o código real.

    A calibração de pontuação exigiu uma iteração: a versão inicial aplicava autenticação como multiplicador genérico que suprimia todos os achados atrás de IAM para P2, independentemente do impacto. A correção separou controles de limitação de acesso dos controles de bloqueio de ataque. A versão atual classifica corretamente uma injeção de comando atrás de autenticação IAM como P0.

    Como usar o arquivo de steering

    Opção 1: Como steering file do Kiro

    Coloque o arquivo no repositório em .kiro/steering/vuln-triage.md. Qualquer sessão usando o agente padrão do Kiro carrega as instruções automaticamente. Se sua equipe usa um agente customizado, você precisa adicionar o arquivo explicitamente aos recursos do agente:

    { "resources": ["file://.kiro/steering/**/*.md"] }

    A estrutura do repositório fica assim:

    your-repo/
    ├── .kiro/
    │   └── steering/
    │       └── vuln-triage.md  ← steering file
    ├── src/
    ├── cdk/
    └── ...

    Também é possível colocá-lo em ~/.kiro/steering/ para aplicar a metodologia em todos os workspaces da máquina.

    Opção 2: Como skill do Kiro

    Se você quer a metodologia disponível sob demanda em vez de consumir espaço de contexto em cada turno, use-a como skill. O Kiro carrega apenas o nome e a descrição da skill na inicialização e puxa as instruções completas quando a skill é ativada.

    Uma skill é uma pasta contendo um arquivo SKILL.md. O nome da pasta deve corresponder ao nome no cabeçalho YAML:

    name: vuln-triage
    description: Structured vulnerability triage methodology with evidence-based scoring and infrastructure-aware prioritization. Use when analyzing code for security vulnerabilities.

    A estrutura fica assim:

    your-repo/
    ├── .kiro/
    │   └── skills/
    │       └── vuln-triage/
    │           └── SKILL.md  ← skill file
    ├── src/
    └── ...

    Uma skill chamada vuln-triage se torna o comando /vuln-triage, permitindo que um engenheiro execute uma avaliação sob demanda: /vuln-triage focus on the authentication changes. Para disponibilizar em todos os projetos da máquina, coloque em ~/.kiro/skills/.

    Opção 3: Adaptado para outras ferramentas

    A metodologia não é específica do Kiro. O repositório também disponibiliza o mesmo conteúdo como arquivo CLAUDE.md para o Claude Code, e os princípios se aplicam a qualquer assistente que carregue instruções persistentes do repositório.

    O que o arquivo de steering não substitui

    Um arquivo de steering é metodologia, não maquinário. Ele diz ao modelo como pensar sobre achados, mas não fornece:

    • Rastreamento programático de taint: o modelo aproxima o fluxo de dados lendo o código. Um rastreador de taint dedicado confirma o fluxo contra a árvore de sintaxe abstrata (AST) de forma determinística.
    • Verificação de infraestrutura em tempo real: o arquivo de steering instrui o modelo a analisar arquivos de IaC, mas ele não pode fazer chamadas de API para verificar se uma regra do AWS WAF está realmente anexada ao Amazon API Gateway no ambiente implantado.
    • Feeds de inteligência de ameaças ao vivo: o modelo inclui entradas históricas do KEV da CISA em seus dados de treinamento, mas não pode consultar feeds em tempo real. Para status atual de exploração, é necessária uma integração via API.
    • Verificação baseada em execução: confirmar explorabilidade executando uma prova de conceito contra um ambiente real requer ferramental adicional.

    Cada uma dessas capacidades adiciona confiança ao pipeline. O arquivo de steering sem elas ainda produz resultados mensuravelmente melhores do que um modelo sem direção — achados estruturados, evidências citadas e priorização com consciência de infraestrutura. Mas representa a primeira camada de um harness maduro, não o sistema completo.

    Disponibilidade

    O arquivo de steering está disponível no repositório GitHub da AWS. A recomendação é usá-lo, adaptá-lo ao ambiente específico e compartilhar os resultados com a comunidade.

    Fonte

    Configuring your AI vulnerability harness, Part 2: The steering file (https://aws.amazon.com/blogs/security/configuring-your-ai-vulnerability-harness-part-2-the-steering-file/)

  • Construindo seu Harness de Vulnerabilidades com IA, Parte 1

    O problema: volume de achados maior do que a capacidade de triagem

    Scanners de vulnerabilidade produzem achados mais rápido do que times de segurança conseguem analisar manualmente. À medida que os times de desenvolvimento entregam mais código com mais dependências, o volume de candidatos a vulnerabilidade só cresce. O desafio não é encontrar potenciais problemas — é separar o sinal do ruído na velocidade que o pipeline de entrega exige.

    Para endereçar esse gap, a AWS publicou um guia técnico descrevendo um pipeline de três camadas que parte dos achados brutos de scanners e chega a um conjunto pequeno e priorizado, com evidências documentadas de exploitabilidade. Este é o primeiro post de uma série: o artigo complementar, Configurando seu harness de vulnerabilidades com IA, cobrirá o arquivo de direcionamento (steering file) que controla o comportamento do modelo dentro desse pipeline.

    O que é um harness de testes

    Um harness de testes é um framework automatizado que submete um sistema a entradas controladas e observa se as saídas correspondem ao comportamento esperado. Aplicado à detecção de vulnerabilidades, o harness recebe cada achado candidato, constrói um teste para avaliar a exploitabilidade, executa esse teste em ambiente controlado e registra as evidências.

    É importante deixar claro: o harness é a infraestrutura de testes, não os resultados que ela produz.

    Por que ferramentas tradicionais não são suficientes

    Ferramentas tradicionais de Teste Estático de Segurança de Aplicações (SAST — Static Application Security Testing) funcionam por correspondência de padrões, com análise de fluxo de dados variando conforme a ferramenta e a linguagem. Elas identificam bem os sinks de formato conhecido, mas têm dificuldade com cadeias de múltiplos saltos, falhas de lógica de negócio, sanitização dependente de contexto e com determinar se um sink é alcançável a partir de uma entrada controlada pelo atacante.

    A análise aumentada por IA preenche essa lacuna de raciocínio: rastreando entre arquivos, inferindo intenção e pesando o contexto de implantação. A distinção conceitual central é que o modelo não é executado contra a base de código — a base de código é contexto passado a um modelo com um prompt específico. O modelo recebe o código e aplica raciocínio sobre como os dados fluem, onde existem limites de confiança e se padrões relevantes de segurança estão presentes.

    O escopo do contexto é uma das partes mais difíceis dessa arquitetura. Contexto demais pode sobrecarregar a janela de raciocínio do modelo; contexto de menos pode gerar lacunas de análise e falsos negativos. Para uma função AWS Lambda simples, o contexto relevante pode ser um único arquivo mais sua função do Gerenciamento de Identidade e Acesso da AWS (IAM). Para um microsserviço complexo com bibliotecas compartilhadas e infraestrutura em camadas, decidir o que incluir exige entender o grafo de dependências da aplicação.

    O modelo pode raciocinar sobre a topologia de implantação se você fornecer esse contexto — por exemplo, passando constructs do Kit de Desenvolvimento em Nuvem da AWS (AWS CDK) ou templates do AWS CloudFormation como contexto adicional. Começar com escopo restrito e expandir apenas quando a avaliação inicial do modelo for inconclusiva tende a produzir resultados melhores do que passar tudo de uma vez.

    Construindo o pipeline de três camadas

    Scanners de segurança podem produzir grandes volumes de achados a cada execução. Muitos são falsos positivos — parecem vulnerabilidades, mas não são problemas reais. Para separar os problemas reais do ruído, o pipeline filtra os achados em três camadas. Cada camada aplica um tipo diferente de evidência. Ao final, resta um número menor de problemas priorizados e respaldados por evidências documentadas.

    Camada 1: Concordância entre múltiplos scanners

    A plausibilidade vem primeiro. A ideia é executar múltiplos scanners de forma independente contra a mesma base de código: quando dois ou mais convergem para o mesmo achado, a confiança aumenta. Quando apenas um scanner reporta um problema e nenhuma outra ferramenta concorda, o pipeline sinaliza esse achado para escrutínio extra.

    Essa abordagem — chamada de concordância entre múltiplos scanners (multi-scanner agreement) — é uma forma de baixo custo de aumentar a confiança. Funciona com as ferramentas que você já usa e não requer nenhuma infraestrutura nova.

    Camada 2: Verificação estrutural

    A segunda camada verifica a estrutura. Scanners com IA descrevem como acreditam que uma vulnerabilidade funciona: os dados entram por uma função, passam por outra e chegam a um ponto onde podem causar dano. Porém, essas descrições podem estar erradas. Antes de um achado avançar, o pipeline o verifica contra o código real. Ele checa se a função mencionada pelo scanner existe, se o arquivo existe e se os dados podem fluir pelo caminho descrito. Caso contrário, o pipeline rejeita o achado.

    Essa etapa de verificação usa a Árvore Sintática Abstrata (AST — Abstract Syntax Tree) do código: um mapa estruturado de como funções, arquivos e fluxos de dados se conectam na sua base de código.

    Essa etapa protege a credibilidade do output do pipeline. Se achados não verificados chegam a revisores humanos, os times rapidamente aprendem a desconfiar dos resultados — o que reduz o valor de segurança da ferramenta.

    Camada 3: Contexto de implantação

    A camada final adiciona contexto de implantação. Vulnerabilidades existem dentro do contexto de uma arquitetura, que pode incluir controles de proteção — como regras do AWS WAF, isolamento de rede, requisitos de autenticação e validação de entrada. Essa camada lê seus templates de Infraestrutura como Código (IaC — Infrastructure as Code), como arquivos CloudFormation ou Terraform que definem sua arquitetura em nuvem, junto com o código-fonte da aplicação. Em seguida, verifica se um atacante consegue explorar a vulnerabilidade contornando os controles existentes.

    Nem todos os controles oferecem o mesmo nível de proteção. Uma regra de firewall de aplicação web que bloqueia diretamente a técnica de ataque relevante oferece mitigação mais forte do que uma que trata um tipo diferente de vulnerabilidade. O pipeline trata a efetividade dos controles como um espectro, não como uma caixa de seleção de sim ou não.

    O resultado: uma lista curta com alta confiança

    O resultado é uma lista reduzida de achados. Cada um passou pelas três camadas: superou a verificação de plausibilidade, sua estrutura foi confirmada contra o código e seu contexto de implantação indica que pode ser explorado. O número de achados diminui a cada camada, e a confiança nos achados restantes aumenta.

    Quatro princípios que emergiram da construção do pipeline

    • Filtragem progressiva com evidências crescentes — Cada camada exige um tipo diferente de prova. A primeira verifica se o achado é plausível. A segunda determina se é estruturalmente real. A terceira analisa se é explorável no contexto. Usar três camadas focadas funciona melhor do que uma camada abrangente, porque cada uma captura um tipo diferente de erro.
    • O contexto de infraestrutura transforma a priorização — Sem contexto de implantação, você pode assumir que um achado de severidade crítica é mais urgente do que um de severidade média. Porém, um achado crítico protegido por controles robustos pode ser menos urgente do que um achado médio diretamente exposto à internet. Para fazer essa avaliação, o pipeline precisa acessar seus templates de IaC, não apenas o código-fonte da aplicação.
    • Concordância independente supera a confiança de uma única ferramenta — Nenhum scanner detecta de forma confiável toda a gama de vulnerabilidades. Nenhum modelo produz resultados corretos em todas as situações. Quando múltiplas ferramentas independentes concordam em um achado, essa concordância fornece um sinal mais forte do que o score de confiança auto-reportado de uma única ferramenta.
    • Afirmações geradas por IA exigem verificação antes da revisão humana — Modelos de linguagem podem produzir outputs que soam plausíveis, mas podem não estar corretos. Verificar achados gerados por IA contra a estrutura real do código — antes que um humano os revise — é o que separa um sistema útil de um que corrói a confiança por meio de erros com aparência de certeza.

    Como aplicar isso ao seu ambiente

    Não é necessário construir tudo de uma vez. A recomendação é adotar as camadas na ordem de retorno imediato:

    • Comece pela indexação — Construa (ou use) um índice baseado em AST da sua base de código que exponha pontos de entrada, sinks e configuração de autenticação. Isso não tem custo de execução e oferece um mapa da sua superfície de ataque antes de qualquer IA ser envolvida.
    • Adicione triagem com múltiplos scanners — Pegue o output que você já obtém de ferramentas como Semgrep, CodeQL ou equivalentes, e passe-o pelo gate de AST mais uma classificação de exploitabilidade por um Modelo de Linguagem de Grande Escala (LLM — Large Language Model). Isso entrega redução substancial de ruído com investimento modesto.
    • Adicione geração de hipóteses — Após a triagem estar estável, adicione descoberta orientada por IA de vulnerabilidades que os scanners perdem: cadeias de múltiplos saltos, falhas de lógica de negócio e fluxos de dados entre pacotes. Esta é a etapa onde a qualidade do direcionamento importa muito — veja o artigo Configurando seu harness de vulnerabilidades com IA.
    • Adicione contexto de infraestrutura — Faça o parse do seu CDK ou CloudFormation, mapeie controles para classes de vulnerabilidade e aplique os multiplicadores. É aqui que sua priorização se torna mais precisa.
    • Adicione verificação ao vivo — Execute provas de conceito (PoCs — Proofs of Concept) contra um alvo de pré-produção implantado com critérios estruturados de sucesso. Essa etapa exige mais overhead operacional, então execute-a por último e apenas para achados que já passaram pelo seu limiar de confiança.

    Trate o pipeline como algo que você ajusta ao longo do tempo. Valide-o contra verdadeiros e falsos positivos conhecidos, ajuste os pesos e reexecute.

    O que esse pipeline não resolve

    O harness é infraestrutura de detecção. Ele ajuda a identificar quais achados são provavelmente reais e quais merecem atenção primeiro. Ele não:

    • Corrige o código — Remediação é um problema separado. O harness produz achados com evidências suficientes para que um humano ou agente possa agir; o ato de remediar exige suas próprias ferramentas e processos.
    • Substitui a revisão humana para ação final — Mesmo após três camadas de filtragem, o output é uma lista priorizada de achados provavelmente exploráveis, não exploits comprovados. Achados de Prioridade 0 (P0) ainda justificam revisão por um engenheiro antes de impulsionar mudanças no código.
    • Captura classes de vulnerabilidade fora do perfil de detecção do conjunto de scanners — Se nenhum dos seus scanners procura por uma categoria específica de vulnerabilidade, o harness não a vai surfacear. A geração de hipóteses aumentada por IA fecha parte dessa lacuna, mas falhas novas ou de lógica de negócio ainda dependem do que o modelo consegue raciocinar a partir do código.
    • Verifica o estado da infraestrutura ao vivo por padrão — Fazer o parse de IaC informa o que foi definido. Não informa se uma regra do WAF foi desabilitada na semana passada ou se um grupo de segurança foi modificado após a implantação. Verificação ao vivo é uma integração adicional, não uma propriedade das camadas em si.

    Cada um desses limites aponta para onde a arquitetura se estende, não onde ela falha. O harness é o primeiro andar de um sistema de múltiplos andares, não o edifício inteiro.

    O que vem a seguir

    A arquitetura produz resultados consistentes quando o modelo recebe instruções consistentes. O artigo complementar, Configurando seu harness de vulnerabilidades com IA, cobre o arquivo de direcionamento que codifica essa metodologia como instruções executáveis por máquina — incluindo a fórmula de confiança, os multiplicadores de controle de infraestrutura e os gates de verificação que ajudam a evitar que achados alucinados cheguem aos seus engenheiros.

    O mesmo modelo que produz avaliações rigorosas e baseadas em evidências com instruções bem elaboradas pode produzir classificações de severidade infladas e cadeias de ataque fabricadas sem essas instruções. A configuração é o que transforma capacidade em julgamento.

    Para mais informações sobre os serviços mencionados neste post, consulte a documentação do AWS Lambda, do AWS WAF e do AWS CloudFormation.

    Fonte

    Building your AI vulnerability harness, Part 1 (https://aws.amazon.com/blogs/security/building-your-ai-vulnerability-harness-part-1/)

  • AWS Config agora cobre 77 novos tipos de recursos

    AWS Config ganha cobertura expandida de recursos

    O AWS Config acaba de receber uma atualização relevante: a AWS adicionou suporte a 77 novos tipos de recursos, ampliando a capacidade do serviço de monitorar, auditar e avaliar configurações em ambientes AWS. Os novos tipos abrangem serviços variados, incluindo Amazon EC2, Amazon S3 Files e Amazon Q Business.

    Para quem já tem o AWS Config configurado para registrar todos os tipos de recursos, a expansão é automática — nenhuma ação adicional é necessária. Os novos tipos já funcionam com regras do Config e com agregadores do Config, mantendo a compatibilidade com arquiteturas multi-conta e multi-região. A cobertura está disponível em todas as regiões AWS onde os respectivos serviços estão presentes.

    Os 77 novos tipos de recursos suportados

    Confira abaixo a lista completa dos novos tipos que passam a ser rastreados pelo AWS Config:

    • AWS::ApplicationAutoScaling::ScalableTarget
    • AWS::GuardDuty::ThreatEntitySet
    • AWS::PCS::Queue
    • AWS::ApplicationSignals::Discovery
    • AWS::GuardDuty::TrustedEntitySet
    • AWS::QBusiness::DataSource
    • AWS::APS::AnomalyDetector
    • AWS::HealthLake::DataTransformationProfile
    • AWS::QBusiness::Index
    • AWS::APS::ResourcePolicy
    • AWS::InspectorV2::CodeSecurityScanConfiguration
    • AWS::QBusiness::Permission
    • AWS::ARCRegionSwitch::Plan
    • AWS::IoT::Logging
    • AWS::QBusiness::Plugin
    • AWS::Batch::QuotaShare
    • AWS::IoTWireless::WirelessDeviceImportTask
    • AWS::QBusiness::Retriever
    • AWS::Batch::ServiceEnvironment
    • AWS::LicenseManager::Grant
    • AWS::QBusiness::WebExperience
    • AWS::BedrockAgentCore::PaymentConnector
    • AWS::LicenseManager::License
    • AWS::QuickSight::OAuthClientApplication
    • AWS::BedrockAgentCore::ResourcePolicy
    • AWS::Lightsail::DatabaseSnapshot
    • AWS::RTBFabric::InboundExternalLink
    • AWS::Braket::SpendingLimit
    • AWS::MediaConnect::RouterInput
    • AWS::RTBFabric::RequesterGateway
    • AWS::CleanRooms::IdMappingTable
    • AWS::MediaConnect::RouterNetworkInterface
    • AWS::S3Files::AccessPoint
    • AWS::CleanRoomsML::ConfiguredModelAlgorithm
    • AWS::MediaLive::Multiplex
    • AWS::S3Files::FileSystem
    • AWS::CloudWatch::AlarmMuteRule
    • AWS::MediaLive::Node
    • AWS::S3Files::FileSystemPolicy
    • AWS::Connect::UserHierarchyStructure
    • AWS::MediaLive::SdiSource
    • AWS::S3Files::MountTarget
    • AWS::ConnectCampaignsV2::Campaign
    • AWS::MediaPackageV2::ChannelPolicy
    • AWS::SecurityAgent::Application
    • AWS::CUR::ReportDefinition
    • AWS::MediaPackageV2::OriginEndpointPolicy
    • AWS::SecurityAgent::TargetDomain
    • AWS::DataSync::LocationAzureBlob
    • AWS::MediaTailor::ChannelPolicy
    • AWS::SES::MailManagerAddressList
    • AWS::DataSync::LocationFSxONTAP
    • AWS::NeptuneGraph::GraphSnapshot
    • AWS::SSM::MaintenanceWindow
    • AWS::DataSync::LocationFSxOpenZFS
    • AWS::Notifications::EventRule
    • AWS::SSO::Application
    • AWS::EC2::TransitGatewayMeteringPolicy
    • AWS::Notifications::NotificationHub
    • AWS::Timestream::InfluxDBCluster
    • AWS::EC2::VPCCidrBlock
    • AWS::Omics::Configuration
    • AWS::Timestream::InfluxDBInstance
    • AWS::ECR::RegistryScanningConfiguration
    • AWS::Omics::WorkflowVersion
    • AWS::Transcribe::VocabularyFilter
    • AWS::EKS::Capability
    • AWS::OpenSearchServerless::CollectionGroup
    • AWS::Wisdom::AIGuardrail
    • AWS::ElementalInference::Feed
    • AWS::PCAConnectorAD::ServicePrincipalName
    • AWS::Wisdom::Assistant
    • AWS::EntityResolution::IdNamespace
    • AWS::PCS::Cluster
    • AWS::WorkSpacesWeb::NetworkSettings
    • AWS::Glue::Blueprint
    • AWS::PCS::ComputeNodeGroup

    Por que isso importa para o seu ambiente

    Times que dependem do AWS Config para manter conformidade e visibilidade operacional saem ganhando diretamente com essa atualização. Serviços de inteligência artificial como Amazon Q Business e Bedrock Agent Core, além de componentes de infraestrutura como Amazon EKS, S3 Files e DataSync, agora podem ser rastreados com o mesmo rigor que outros recursos já cobertos. Na prática, isso significa a possibilidade de criar regras de conformidade, consultar o histórico de configurações e consolidar dados em agregadores para todos esses novos tipos — fechando lacunas que antes existiam em ambientes que adotaram esses serviços mais recentes.

    Fonte

    AWS Config now supports 77 new resource types (https://aws.amazon.com/about-aws/whats-new/2026/10/aws-config-new-resource-types)

  • Claude Haiku 5.5 agora disponível no AWS GovCloud (US)

    O que foi anunciado

    A AWS anunciou que o Claude Haiku 5.5, da Anthropic, já está disponível no AWS GovCloud (US). Trata-se do modelo mais rápido e eficiente da família Claude 5.5, projetado especialmente para cenários de alto volume e sensibilidade a custos — como subagentes em arquiteturas multiagente e tarefas em larga escala.

    Redução de custo expressiva

    Segundo a Anthropic, o Haiku 5.5 custa aproximadamente 75% menos do que o Claude Haiku 4.5 para a maioria das tarefas. Para equipes que rodam grandes volumes de inferência, essa diferença pode representar uma economia considerável no final do mês.

    Capacidades técnicas

    O Claude Haiku 5.5 é o modelo mais capaz da linha Haiku até hoje, com avanços relevantes em relação ao Haiku 4.5 nas seguintes áreas:

    • Codificação
    • Uso de ferramentas (tool use)
    • Uso de computador (computer use)
    • Agentes

    Além disso, é o primeiro modelo da linha Haiku a contar com controles de esforço. Isso significa que as equipes podem calibrar, por tarefa, o quanto de inteligência (e custo) o modelo deve empregar — uma flexibilidade importante para otimizar pipelines heterogêneos.

    Casos de uso ideais

    O Haiku 5.5 foi pensado para situações em que velocidade e custo são os fatores determinantes. Entre os casos de uso mais indicados estão:

    • Experiências em tempo real: agentes de voz, suporte ao vivo e assistentes dentro de aplicativos
    • Tarefas de alto volume: classificação, sumarização e extração de campos-chave de documentos
    • Subagente em arquiteturas multiagente: um modelo mais robusto, como o Claude Opus 5.5, pode planejar o trabalho e delegar tarefas bem definidas — como codificação, uso de ferramentas e automação de navegador — ao Haiku, tornando viável rodar múltiplos agentes em paralelo

    Integração com o Amazon Bedrock

    O acesso ao Haiku 5.5 no GovCloud é feito via Amazon Bedrock, que garante que os dados permaneçam dentro da infraestrutura da AWS com residência regional. A plataforma também oferece recursos gerenciados pela AWS, como Guardrails e Knowledge Bases, por meio de um serviço unificado.

    Para saber mais, consulte a documentação do Amazon Bedrock e a disponibilidade regional.

    Fonte

    Claude Haiku 5.5 is now available on AWS GovCloud (US) (https://aws.amazon.com/about-aws/whats-new/2026/10/claude-haiku-5-5-aws-govcloud/)

  • Claude Haiku 5.5 chega ao Amazon Bedrock: mais rápido, mais barato e pronto para agentes

    O que é o Claude Haiku 5.5

    A AWS anunciou a disponibilidade do Claude Haiku 5.5 no Amazon Bedrock e no Claude Platform on AWS. Segundo a Anthropic, o Haiku 5.5 é o modelo mais rápido e eficiente da família Claude 5.5, desenvolvido especialmente para subagentes e workloads de alto volume com sensibilidade a custo. Um destaque importante: o modelo custa aproximadamente 75% menos do que o Claude Haiku 4.5 para a maioria das tarefas.

    O Amazon Bedrock entrega as capacidades do Haiku 5.5 mantendo os dados dentro da infraestrutura AWS, com residência regional dos dados. O modelo funciona com os controles que equipes já utilizam no dia a dia: Gerenciamento de Identidade e Acesso (IAM) para controle de acesso, AWS CloudTrail para auditoria, Amazon CloudWatch para monitoramento e Amazon Bedrock Guardrails. O consumo aparece diretamente na fatura AWS.

    Já o Claude Platform on AWS oferece acesso direto à experiência nativa da Anthropic por meio do Console de Gerenciamento da AWS — mesmas APIs, recursos e console que você teria trabalhando diretamente com a Anthropic, mas unificado com a autenticação e cobrança AWS.

    O que diferencia o Haiku 5.5

    O Claude Haiku 5.5 é o modelo Haiku mais capaz da Anthropic em termos de codificação, uso de ferramentas, uso de computador e tarefas agênticas. É também o primeiro modelo Haiku com controles de esforço, permitindo ajustar o equilíbrio entre custo e inteligência por tarefa — em vez de usar uma configuração única para toda a carga de trabalho.

    Os ganhos aparecem especialmente em tarefas rápidas e repetíveis em escala:

    • Codificação: atua como subagente roteando requisições, revisando código e classificando documentos extensos.
    • Trabalho com conhecimento: extrai informações-chave de documentos pequenos a médios, faz varreduras iniciais e responde perguntas rápidas sobre uma base de conhecimento.
    • Aplicações interativas: responde com velocidade suficiente para conversas simples com respostas ágeis e úteis.
    • Processamento de Linguagem Natural (PLN) tradicional: classificação, sumarização e geração de texto no volume e custo que funcionalidades em produção exigem.

    O modelo também lida com codificação agêntica e uso de ferramentas em múltiplas etapas, além de suportar imagens em alta resolução. Para tarefas repetitivas de browser e desktop, o Haiku 5.5 pode atuar como subagente de uso de computador com um custo que se sustenta em escala. Em fluxos de desenvolvimento, é uma boa escolha para iterar rapidamente em mudanças de interface (UI e UX) e para alterações pequenas e específicas em múltiplos arquivos de uma base de código.

    Combinando Haiku 5.5 com Opus 5.5

    O Haiku 5.5 foi pensado para trabalhar em conjunto com o Claude Opus 5.5. A lógica é simples e eficiente:

    • Claude Opus 5.5 planeja o trabalho e toma as decisões de julgamento. Ele decompõe problemas complexos, define a abordagem e assume o raciocínio mais difícil — como depuração de releases, revisão de segurança em pull requests grandes e análises longas que resultam em um relatório completo.
    • Claude Haiku 5.5 assume a camada rápida dos subagentes. Lida com tarefas de alto volume como roteamento de requisições, classificação e sumarização, reescrita de documentos extensos e aplicação de mudanças pequenas e específicas em muitos arquivos. Como subagente de revisão, pode verificar rapidamente a ordem das operações e a direção geral, liberando o Opus 5.5 para focar no raciocínio mais complexo.

    Como o Haiku 5.5 é rápido e eficiente em custo, é possível rodar vários subagentes Haiku em paralelo — o que torna a combinação especialmente poderosa para workloads agênticos em produção.

    Como começar com o Claude Haiku 5.5 no Amazon Bedrock

    Para experimentar o Haiku 5.5 pelo console, basta acessar o console do Amazon Bedrock, ir em Test → Playground e selecionar o Haiku 5.5 como modelo para executar um prompt diretamente.

    Por código, é possível chamar o modelo usando a API de Mensagens da Anthropic contra o endpoint bedrock-runtime via SDK da Anthropic. Também é possível usar as APIs de Invocação e Conversa no bedrock-runtime por meio da Interface de Linha de Comando da AWS (AWS CLI) e do AWS SDK.

    Pré-requisitos

    • Conta AWS ativa com acesso ao Amazon Bedrock.
    • AWS CLI instalada e configurada.
    • Python 3.10+.
    • Boto3 instalado: pip install boto3.
    • SDK da Anthropic instalado: pip install anthropic.
    • Gerador de Token do Amazon Bedrock instalado: pip install aws_bedrock_token_generator.
    • Permissões IAM: bedrock:InvokeModel, bedrock:InvokeModelWithResponseStream.

    Exemplo com AWS SDK para Python (Boto3) — API InvokeModel

    import boto3
    import json
    
    # Create a Bedrock Runtime client
    bedrock_runtime = boto3.client(
        service_name="bedrock-runtime",
        region_name="us-east-1"
    )
    
    # Invoke Claude Haiku 5.5
    response = bedrock_runtime.invoke_model(
        modelId="global.anthropic.claude-haiku-5-5",
        contentType="application/json",
        accept="application/json",
        body=json.dumps({
            "anthropic_version": "bedrock-2023-05-31",
            "max_tokens": 4096,
            "messages": [
                {
                    "role": "user",
                    "content": "Can you explain the features of Amazon Bedrock?"
                }
            ]
        })
    )
    
    result = json.loads(response["body"].read())
    
    # Haiku 5.5 may return a thinking block before the text block,
    # so select the text block rather than a fixed index.
    print(next(b["text"] for b in result["content"] if b["type"] == "text"))

    Exemplo com a API Converse do Amazon Bedrock

    import boto3
    
    # Create a Bedrock Runtime client
    bedrock_runtime = boto3.client(
        service_name="bedrock-runtime",
        region_name="us-east-1"
    )
    
    # Invoke Claude Haiku 5.5
    response = bedrock_runtime.converse(
        modelId="global.anthropic.claude-haiku-5-5",
        messages=[
            {
                "role": "user",
                "content": [
                    {
                        "text": "Can you explain the features of Amazon Bedrock?"
                    }
                ]
            }
        ],
        inferenceConfig={
            "maxTokens": 4096
        }
    )
    
    if 'output' in response:
        blocks = response['output']['message']['content']
        print('\n'.join(b.get('text', '') for b in blocks if 'text' in b))

    Exemplo com a API de Mensagens da Anthropic via SDK anthropic

    from anthropic import Anthropic
    from aws_bedrock_token_generator import provide_token
    
    token = provide_token(region="us-east-1")
    
    client = Anthropic(
        base_url="https://bedrock-runtime.us-east-1.amazonaws.com/anthropic",
        api_key=token,
    )
    
    # Invoke Claude Haiku 5.5
    response = client.messages.create(
        model="global.anthropic.claude-haiku-5-5",
        max_tokens=1024,
        messages=[{"role": "user", "content": "Can you explain the features of Amazon Bedrock?"}],
    )
    
    print(response)

    Para mais exemplos, o notebook de introdução no GitHub é um bom ponto de partida. O monitoramento de uso, desempenho e custos pode ser feito pelo Amazon CloudWatch e pelo AWS Cost Explorer.

    Disponibilidade

    O Claude Haiku 5.5 está disponível agora no Amazon Bedrock por meio dos perfis de inferência US Geo CRIS (us.), EU Geo CRIS (eu.), AU Geo CRIS (au.), JP Geo CRIS (jp.) e Global CRIS (global.) no bedrock-runtime. No AWS GovCloud (US), está disponível nos endpoints bedrock-runtime e bedrock-mantle.

    Consulte a documentação do Amazon Bedrock para a lista completa de regiões suportadas e as informações de preços do Amazon Bedrock. O modelo também está disponível pelo Claude Platform on AWS na América do Norte.

    Para experimentar, acesse o console do Amazon Bedrock, o Claude Platform on AWS ou explore os notebooks de introdução no GitHub.

    Fonte

    Introducing Claude Haiku 5.5 on AWS (https://aws.amazon.com/blogs/machine-learning/introducing-claude-haiku-5-5-on-aws/)

  • Claude Haiku 5.5 já está disponível na AWS

    O modelo mais eficiente da família Claude 5.5 chega à AWS

    A AWS anunciou a disponibilidade do Claude Haiku 5.5, o modelo mais rápido e eficiente da família Claude 5.5, desenvolvido pela Anthropic. Ele foi projetado especificamente para trabalhos de alto volume e sensíveis ao custo, com foco em subagentes e tarefas que exigem velocidade.

    Segundo a Anthropic, o Haiku 5.5 custa aproximadamente 75% menos do que o Claude Haiku 4.5 para a maioria das tarefas — uma redução significativa para equipes que precisam escalar operações sem comprometer o orçamento.

    O que há de novo nesta versão

    O Claude Haiku 5.5 representa um avanço considerável em relação ao seu antecessor, o Haiku 4.5. As melhorias abrangem áreas como:

    • Programação (coding)
    • Uso de ferramentas (tool use)
    • Uso de computador (computer use)
    • Agentes (agents)

    Além disso, esta é a primeira versão do Haiku com controles de esforço — um recurso que permite às equipes calibrar o equilíbrio entre custo e inteligência para cada tarefa individualmente. Isso dá mais controle operacional para quem precisa otimizar gastos sem abrir mão de qualidade onde ela importa.

    Casos de uso ideais

    O Haiku 5.5 se encaixa bem em cenários onde velocidade e custo são fatores determinantes:

    • Experiências em tempo real: agentes de voz, suporte ao vivo e assistentes integrados a aplicações
    • Tarefas de alto volume: classificação, sumarização e extração de campos-chave de documentos
    • Subagente em arquiteturas multiagente: um modelo mais robusto, como o Claude Opus 5.5, pode planejar o trabalho e delegar tarefas bem definidas — como programação, uso de ferramentas e automação de navegador — ao Haiku, tornando viável a execução de muitos agentes em paralelo

    Como acessar o Claude Haiku 5.5 na AWS

    A AWS disponibiliza o Claude Haiku 5.5 por dois caminhos:

    Amazon Bedrock

    O acesso via Amazon Bedrock mantém os dados dentro da infraestrutura da AWS, com residência regional de dados. Além disso, oferece acesso a recursos gerenciados pela AWS, como Guardrails e Knowledge Bases, tudo por meio de um serviço unificado. Para saber mais, consulte a documentação do Amazon Bedrock e a disponibilidade por região.

    Claude Platform on AWS

    Já a Claude Platform on AWS oferece acesso direto à experiência nativa da plataforma da Anthropic, via Console da AWS. Com ela, é possível construir, testar e implantar usando as mesmas APIs, funcionalidades e experiência de console que se teria trabalhando diretamente com a Anthropic — com a conveniência de faturamento e autenticação unificados pela AWS.

    Fonte

    Claude Haiku 5.5 is now available on AWS (https://aws.amazon.com/about-aws/whats-new/2026/10/claude-haiku-5-5-aws/)