O que é o rapportd
O rapportd é um daemon de sistema legítimo da Apple que vem junto com o macOS. Não é malware, nem adware, e não é algo que você instalou por acidente. Nas versões atuais do macOS, o binário fica em /usr/libexec/rapportd, é assinado digitalmente pela Apple, e é iniciado automaticamente pelo sistema, não por você.
Seu trabalho é o Continuity, a família de recursos que permite que seu Mac, iPhone, iPad e Apple Watch funcionem como um conjunto de dispositivos. Isso normalmente inclui Handoff (comece um email no seu iPhone, termine no seu Mac), Universal Clipboard (copie em um dispositivo, cole em outro), retransmissão de chamadas e SMS, Instant Hotspot, Continuity Camera, Continuity Markup and Sketch, e Auto Unlock com um Apple Watch. Nem todos esses recursos passam exclusivamente pelo rapportd, mas todos dependem da mesma ideia fundamental: seus dispositivos precisam saber que os outros estão por perto e ativos.
Essa é a função do rapportd. Ele anuncia a presença do seu Mac para dispositivos Apple próximos conectados à mesma Apple Account, e escuta por seus anúncios em troca, usando Bluetooth Low Energy e Wi-Fi peer-to-peer (Apple Wireless Direct Link, ou AWDL). As conexões que ele faz são locais e entre seus próprios dispositivos, não para um servidor distante controlado por outra pessoa.
Como a descoberta precisa funcionar em ambas as direções, o rapportd não apenas faz buscas. Ele também espera ser encontrado. Esse detalhe único é a razão de ele aparecer com mais frequência em uma janela de firewall do que qualquer outro daemon da Apple.
Por que você está vendo isso de repente
O gatilho mais comum é ativar o firewall integrado do macOS. O firewall do macOS filtra conexões entrantes, então quando você o ativa, o sistema começa a perguntar sobre cada processo que deseja escutá-las. rapportd quase sempre é um dos primeiros a levantar a mão, o que gera a caixa de diálogo que as pessoas procuram: você quer que o aplicativo rapportd aceite conexões de rede entrantes?
Nada deu errado quando isso aparece. rapportd estava fazendo exatamente a mesma coisa no dia anterior. O que mudou é que o firewall agora fica entre ele e seus outros dispositivos e está pedindo que você tome uma decisão que o macOS anteriormente fazia silenciosamente. O mesmo aviso pode reaparecer após uma atualização do macOS, já que um binário atualizado é efetivamente um novo binário na lista de aplicativos permitidos do firewall.
A segunda forma de as pessoas encontrarem é pelo Activity Monitor. rapportd aparece na lista de processos sob sua conta de usuário, normalmente com uso de CPU desprezível e um pequeno fluxo constante de atividade de rede. Na aba Rede, você geralmente verá contagens de pacotes que crescem lentamente e volumes de dados medidos em kilobytes, não megabytes, porque o tráfego de descoberta é pequeno por design.
A terceira forma é um monitor de rede de terceiros ou firewall de saída, que mostrará rapportd fazendo conexões locais na sua própria rede. Novamente, esse é um comportamento esperado para um serviço de descoberta de dispositivos.
rapportd é malware? Como verificar por si mesmo
Não é. rapportd é um código próprio da Apple e faz parte de uma instalação padrão do macOS. A razão pela qual ainda vale a pena saber como verificar isso é que nomear um binário malicioso com o nome de um processo de sistema familiar é uma técnica genuína e bem conhecida, então o hábito de verificar é bom mesmo quando a resposta é tranquilizadora.
A primeira verificação é a localização. O daemon da Apple vive em /usr/libexec, um diretório do sistema protegido pela System Integrity Protection, o que significa que softwares comuns não podem escrever uma substituição lá. No Activity Monitor, você pode clicar duas vezes no processo e inspecionar seus arquivos abertos e portas para ver de onde ele está rodando. Um processo que se chama rapportd na sua pasta home, em um diretório Downloads ou em uma pasta de suporte privada de algum aplicativo não é o daemon da Apple e merece atenção.
A segunda verificação é a assinatura do código. O macOS vem com uma ferramenta de linha de comando chamada codesign, e solicitá-la para exibir informações de assinatura do binário em /usr/libexec/rapportd irá reportar a autoridade de assinatura. Para um componente genuíno do sistema da Apple, você deve ver a própria autoridade de assinatura da Apple e a autoridade de certificado raiz da Apple nessa cadeia, não um nome de desenvolvedor de terceiros e nem uma assinatura ad-hoc ou ausente. Se preferir não usar o Terminal, a combinação do caminho correto mais um processo que o Activity Monitor mostra como pequeno e ocioso já é uma forte evidência.
A terceira verificação é o comportamento. O rapportd verdadeiro é silencioso. Uso elevado de CPU por um período prolongado, ou transferência de dados pesada e contínua, é incomum e vale a pena investigar, embora, como a próxima seção explica, geralmente tenha uma causa mundana e não sinistra.
Deve permitir ou bloquear?
A compensação honesta é estreita. Se você negar as conexões recebidas do rapportd, perderá os recursos de Continuity que dependem de seus dispositivos se encontrarem, e não perderá mais nada. Seu Mac inicializa, navega, sincroniza o iCloud, recebe e-mails e executa aplicativos exatamente como antes. Não há desvantagem de segurança em negá-lo e nenhum problema de estabilidade.
Portanto, a decisão é simplesmente se você usa esses recursos. Se Handoff, Universal Clipboard, Instant Hotspot ou desbloquear seu Mac com um Apple Watch fazem parte do seu modo de trabalho, permita. Se você nunca usou conscientemente nenhum deles, ou possui apenas um dispositivo Apple, negá-lo não lhe custará nada que você perceba.
Existe uma rota mais limpa do que negar pelo firewall, porém. Bloquear no firewall mantém os recursos ativados enquanto quebra silenciosamente o mecanismo em que eles dependem, o que tende a gerar estados de funcionamento confusos posteriormente. Desligar o recurso na origem é mais organizado: nas versões recentes do macOS, o toggle do Handoff fica em Configurações do Sistema, na seção Geral, em AirDrop e Handoff. Desative essa opção e o sistema deixará de pedir ao rapportd para fazer o trabalho desde o início.
Alta CPU ou atividade de rede incomum e constante do rapportd é uma questão separada e geralmente é um ciclo de descoberta de dispositivo, não uma vulnerabilidade. Normalmente, ela se resolve após desligar e ligar o Bluetooth e o Wi-Fi, reiniciar o Mac, sair e entrar novamente na sua Conta Apple, ou desativar o Handoff para interromper completamente o ciclo de descoberta.
O problema maior: dezenas de daemons, quase nenhuma visibilidade
rapportd é destacado por um motivo acidental: ele escuta, então o firewall embutido precisa perguntar sobre ele. Os dezenas de outros processos em segundo plano no seu Mac só fazem conexões saindo, que o firewall do macOS não filtra e nunca solicita. Eles não são mais confiáveis do que o rapportd. São apenas mais silenciosos a respeito.
Essa é a lacuna desconfortável. Um Mac típico executa daemons do sistema lidando com verificações de certificados, notificações push, sincronização do iCloud, sugestões do Spotlight, atualizações de software e telemetria, além de cada aplicativo de terceiros que você instalou, cada um com seu comportamento de rede. O Activity Monitor mostrará que um processo transferiu alguns dados. Não dirá quais domínios ele contactou, quando, ou quanto foi enviado para cada um, e essa é exatamente a informação que você precisa para decidir se algo é normal.
É para essa camada que o NetMute foi criado. Ele mostra o tráfego em tempo real por aplicativo e por processo, e registra os domínios contactados, para que você possa ver quais domínios um processo específico realmente acessou, em que horário e com quanto dado. Quando algo parecer errado, seu firewall por aplicativo bloqueia esse app com um clique, e regras temporárias expiram sozinhas para que um teste rápido não se transforme em um aplicativo permanentemente quebrado que você esqueceu. Perfis de rede permitem que as regras diferenciem sua rede doméstica de um hotspot, e o Tracker Shield bloqueia mais de 1.100 domínios de rastreamento conhecidos de forma direta.
O objetivo não é bloquear os daemons da Apple. A maioria deles, incluindo o rapportd, faz exatamente o que afirma. O objetivo é poder responder à pergunta na próxima vez, sem precisar procurar pelo nome do processo.