O SINARC – Sistema Integrado de Análise de Redes Complexas é um programa experimental de análise de dados de fontes abertas desenvolvido pelo Ministério Público de Contas do Estado do Espírito Santo (MPC-ES) sob os princípios da Ciência Aberta (metodologia aberta, código aberto, dados abertos, acesso aberto, revisão por pares aberta e recursos educacionais abertos) e Licença MIT (software livre e gratuito), para uso em computadores com sistema operacional Windows. O sistema foi criado a partir do inspirador projeto Rede CNPJ, porém utilizando técnicas e ferramentas de programação distintas, o que lhe confere funcionalidades singulares e complementares ao Rede CNPJ.
Como sistema de inteligência para fontes abertas (Open Source Intelligence - OSINT), o SINARC se propõe a ampliar as perspectivas de análise das conexões existentes entre pessoas físicas, pessoas jurídicas, endereços, telefones e e-mails constantes na base de dados pública de CNPJ da Receita Federal, formada por 60 milhões de CNPJ, por meio:
da criação de uma interface gráfica concebida a partir dos princípios da percepção visual extraídos da Psicologia da Gestalt (artigo), facilitando a identificação visual das estruturas pelo analista; e
de um conjunto de ferramentas computacionais que utilizam a Teoria dos Grafos para analisar a rede de conexões sob a perspectiva de um Sistema Complexo e aplicar algoritmos matemáticos para auxiliar na identificação de informações, padrões ocultos e anomalias relevantes para a produção de conhecimento.
Devido à sua portabilidade, a pasta contendo os programas SINARC, Rede CNPJ e DB Browser, bem como a íntegra do banco de dados com 60 milhões de CNPJ, pode ser baixada e salva em um pen drive ou HD externo (preferencialmente com alta taxa de transferência de dados) para facilitar sua utilização em diferentes computadores que utilizam sistema operacional Windows.
Clique aqui e baixe a versão compactada da pasta SINARC. O arquivo SINARC.zip possui 20 GB. O código SHA-256 de integridade do arquivo é 5df8abd8a007a5925a4b4d2e19061a66b728d46776667e370f9c48a8cbcf32cc. Valide a integridade do arquivo baixado submetendo-o a este site de verificação e comparando a saída com o código SHA-256 fornecido.
São necessários 90 GB de espaço livre: 20 GB para o arquivo compactado (zip) e 70 GB para o arquivo descompactado (pasta SINARC). Caso não disponha de espaço livre no computador, é possível configurar o navegador para que o download seja realizado diretamente para um pen drive ou HD externo (Procurar no navegador por Configurações -> Downloads).
Durante os testes de download, os navegadores Google Chrome e Microsoft Edge armazenaram uma segunda cópia do arquivo zip (20 GB), com nome diferente, nos seguintes endereços, tendo sido necessário apagá-las manualmente para não ocuparem espaço no computador (a parte final, após File System, pode variar):
Google Chrome: C:\Users\nome_do_usuário\AppData\Local\Google\Chrome\User Data\Default\File System\095\p\00
Microsoft Edge: C:\Users\nome_do_usuário\AppData\Local\Microsoft\Edge\User Data\Default\File System\007\p\00
O arquivo SINARC.zip desta versão do Pen Drive SINARC contém os programas e a base de dados de CNPJ disponibilizada pela Receita Federal em 08/02/2025, prontos para utilização. A pasta pode ser descompactada e salva em um pen drive, HD externo ou mesmo no computador, prescindindo de instalação.
Para usar o Pen Drive SINARC, siga estes passos:
1) Conecte o pen drive ao computador. A pasta SINARC deve estar salva no diretório raiz do pen drive, normalmente reconhecido como Drive D, E ou F;
2) Na pasta SINARC, clique 2 vezes no arquivo abre_rede_cnpj.bat (o Windows solicitará sua confirmação por se tratar de um arquivo executável .bat). Uma instância do Terminal do Rede CNPJ será aberta, exibindo a inicialização do programa. Aguarde alguns segundos até que a interface gráfica do Rede CNPJ seja exibida em uma nova aba do navegador;
3) Na sequência, também na pasta SINARC, clique 2 vezes no arquivo abre_sinarc.bat (o Windows solciitará sua confirmação). Uma instância do Terminal do SINARC será aberta, exibindo a inicialização do programa. Aguarde alguns segundos até que a interface gráfica do SINARC seja exibida em numa nova aba do navegador.
Pronto! Os programas já podem ser utilizados.
Conquanto o SINARC utilize apenas a modelagem de criação e consulta aos bancos de dados do projeto Rede CNPJ, optou-se por disponibilizar também a íntegra deste formidável programa, permitindo ao cidadão explorar os recursos das duas ferramentas e, quem sabe, desenvolver seu próprio sistema de análise de grafos, com funcionalidades ainda mais interessantes, disponibilizando-o igualmente como software livre para inspirar outras pessoas a se engajarem em iniciativas que promovam a transparência e a cidadania a partir de dados abertos.
ATENÇÃO: O uso do SINARC com pen drive reduz o desempenho do sistema, em especial com grafos muito grandes. Para desempenho máximo no uso dos programas, salve a pasta SINARC diretamente no computador. Os testes foram realizados usando pen drive de 128 GB, USB 3.2.
Para mais informações sobre a criação do Pen Drive SINARC, consulte INSTRUÇÕES_PEN_DRIVE_SINARC.txt.
Exemplo de rede complexa de CNPJ sendo explorada pelo SINARC
Uma Rede Complexa é um sistema dinâmico formado pelo conjunto de elementos (nós) e das relações existentes entre eles (arestas), cuja complexidade de suas conexões requer para sua compreensão a utilização de ferramentas para modelagem e representação matemática, simplificação e análise computacional. O objeto de estudo dos grafos são as conexões entre seus elementos.
A complexidade de uma rede está relacionada ao grau de aleatoriedade e ao número de suas conexões. Nesse contexto, o SINARC analisa as conexões existentes em determinado momento entre pessoas físicas (PF), pessoas jurídicas (PJ), endereços (EN), telefones (TE) e e-mails (EM) cadastrados na base de dados pública de CNPJ da Receita Federal. Em termos mais técnicos, pode-se afirmar que o SINARC é uma implementação computacional (software) de um modelo matemático (Teoria dos Grafos) que realiza análise estática (base de dados de CNPJ) de um sistema complexo e dinâmico (registros, baixas e atualizações diárias de pessoas jurídicas).
O SINARC captura um instante no tempo (data da disponibilização da base de dados pela Receita Federal), uma fotografia do processo contínuo de evolução de um sistema complexo, dinâmico e real, representado pelos registros, baixas e atualizações diárias de mais de 60 milhões de CNPJ. A expansão controlada do grafo a partir da adição de camadas sucessivas a um ou mais nós iniciais também reproduz o comportamento dinâmico de um sistema complexo.
Características de um sistema complexo, representado pela base de dados de CNPJ da Receita Federal:
Diversidade: Os nós do sistema representam diferentes tipos de entidades (PJ, PF, EN, TE e EM) e de relacionamentos existentes entre eles (sócio, representante, filial etc.);
Conectividade: O sistema complexo possui uma grande quantidade de nós interconectados por arestas, formando uma rede densa e interligada;
Escalabilidade: O sistema aumenta em escala, adicionando novos componentes e aumentando as interconexões entre eles, resultando em uma estrutura de conectividade complexa;
Não linearidade: O crescimento do sistema exibe comportamento não linear e imprevisível;
Atualização contínua: O sistema está em constante atualização, o que implica que novos nós e arestas são adicionados e os existentes podem ser modificados ou removidos ao longo do tempo;
Centralidade: Alguns nós podem desempenhar um papel central na rede, atuando como pontos de ligação entre várias entidades no sistema;
Comunidades: O sistema pode ter agrupamentos de nós que estão mais densamente conectados entre si do que com o restante da rede, formando comunidades ou clusters;
Dinâmica temporal: As conexões entre os nós podem variar ao longo do tempo, refletindo mudanças nas relações entre as entidades representadas;
Propriedades emergentes: O sistema complexo exibe propriedades emergentes onde o comportamento global da rede não pode ser previsto apenas olhando para o comportamento individual dos nós (o todo é diferente da soma das partes). Essas propriedades podem surgir de interações complexas e não lineares entre os elementos da rede.
Assim como o projeto Rede CNPJ, o objetivo do SINARC é demonstrar a possibilidade de criação de ferramentas tecnológicas para exploração de dados abertos e incentivar o desenvolvimento de projetos semelhantes pela sociedade, considerando que “o verdadeiro progresso é o que põe a tecnologia ao alcance de todos!“ (Henry Ford), sem exceção.
Por se tratar de ferramenta de OSINT desenvolvida para assegurar ao cidadão o direito fundamental de acesso à informação, todas as informações reveladas pelo SINARC são públicas e de interesse público, motivo pelo qual são divulgadas mensalmente pela Receita Federal independentemente de solicitação, observando a publicidade como preceito geral e o sigilo como exceção, conforme diretrizes contidas no art. 3º da Lei Federal 12.527/2011, Lei de Acesso a Informação, de modo a viabilizar o controle social da Administração Pública e a coibir condutas ilícitas no exercício da atividade empresarial.
Nota Técnica da Receita Federal especifica quais informações da base de dados de CNPJ não estão protegidas por sigilo fiscal, em consonância com o Decreto 8.777/2016, que instituiu a Política de Dados Abertos do Poder Executivo federal.
Para acessar a fonte primária dos dados usados pelo SINARC, clique aqui. Conheça também o Dicionário de Dados de CNPJ da Receita Federal.
Os exemplos que ilustram o uso do SINARC foram selecionados com base na singularidade de seus padrões de conexão, possuindo caráter meramente demonstrativo e servindo tão somente como referência no contexto educacional da produção de conhecimento a partir de fontes abertas.
Links para sites externos foram incluídos apenas para mostrar a possibilidade de ampliação das funcionalidades da ferramenta.
QR Codes permitem a abertura e exploração dos grafos online em aparelhos celulares (recurso em fase de teste). Na página do grafo, clique no botão localizado no centro da parte inferior da tela para abrir o teclado do celular e digitar os comandos do SINARC.
O vídeo a seguir demonstra a aplicação do SINARC no controle da Administração Pública. A partir de notícia publicada na internet sobre supostas irregularidades em licitação promovida pelo Estado do Mato Grosso do Sul (MS) para contratação de serviço de sinalização semafórica, o sistema analisa a existência de vínculos entre as empresas citadas na notícia, cruzando os resultados com os participantes de outra licitação de mesmo objeto, realizada pelo Município de Vila Velha (ES), para verificar a existência de conexões entre grupos econômicos que atuam em regiões distintas do país:
Confira-se exemplo de uso do SINARC em trabalho técnico desenvolvido pelo Ministério Público de Contas do Estado do Espírito Santo (MPC-ES): Parecer emitido no Processo TC 784/2020 (pág. 110). Para saber mais sobre esta ação de controle do MPC-ES em defesa do meio ambiente, vide a respectiva notícia.
Para permitir o compartilhamento, os grafos interativos gerados pelo SINARC são salvos no arquivo_sinarc.zip, preservando todas as funcionalidades que não dependem de consulta em tempo real ao banco de dados.
Exemplo 1: Grafo interativo exibindo vínculos entre duas empresas, identificados pelo SINARC na 1ª camada. Clique no exemplo e interaja com o grafo, arrastando os nós com o mouse.
Exemplo 2: Grafo interativo de grupo econômico aberto em 3 camadas, com 223 nós e 632 arestas. Clique no exemplo e interaja com o grafo, pressionando a tecla "n" várias vezes.
Exemplo 3: Grafo interativo de grupo econômico aberto em 4 camadas, exibindo 45 nós em layout circular. Clique no exemplo e interaja com o grafo, pressionando as teclas "ç", "Delete" e "K" (maiúscula).
Vídeo: Identificando cadeia hierárquica de comando com o SINARC
Exemplo 7: Grafo interativo de grupo econômico aberto em 3 camadas, exibindo 2088 nós e 3964 arestas. Clique no exemplo e interaja com o grafo, posicionando o ponteiro do mouse sobre os nós para ver seus detalhes.
Para testar algumas das funcionalidades dos grafos interativos gerados pelo SINARC: 1) Abra o link a seguir (Exemplo 5) em uma nova aba do navegador e aguarde o grafo ser exibido (o tamanho dos nós é proporcional ao número de conexões com nós adjacentes). Outros exemplos de grafos disponíveis online para testes: Exemplo 1, Exemplo 2, Exemplo 3, Exemplo 4, Exemplo 6, Exemplo 7. Obs: Caso algum comando não funcione corretamente com os exemplos online, tente abrir o endereço do grafo usando uma aba anônima do navegador;
2) Clique na janela do grafo para ativá-la e pressione a tecla U (maiúscula, shift + u) para abrir uma janela popup com a distribuição de nós por faixa de tamanho (17 faixas). Observe que o tamnho dos nós varia de 20 a 100 e que cada faixa intermediária possui intervalo de 5 unidades. Feche a janela popup;
3) Pressione a tecla Espaço 16 vezes, espaçadamente, até que o parâmetro “tamanho”, exibido no canto superior direito da tela, reduza de 100 para 25 em intervalos de 5 unidades. Esta função aumenta a massa dos nós situados em cada faixa, de forma proporcional ao tamanho de cada nó (do maior para o menor), melhorando progressivamente a visualização do grafo no layout gravitacional. Ao aumentar a massa dos nós, a força (anti)gravitacional de repulsão mútua existente entre eles também aumenta, reposicionando-os na tela para facilitar a identificação de suas conexões. As arestas atuam como molas que impedem o distanciamento entre os nós localizados em suas extremidades;
4) Pressione a tecla Escape para encaixar o grafo na janela de visualização;
5) Pressione a tecla z (minúscula) para ativar/desativar o modo automático de visualização. Este recurso simula os movimentos de uma câmera percorrendo os nós do grafo em ordem decrescente de grau (tamanho), seguido pela aproximação de cada um de seus nós adjacentes. Pressione a tecla z novamente a qualquer momento para sair da função;
6) Após desativar o modo automático de visualização, use o botão de rolagem do mouse para aproximar e afastar o grafo. Posicione o mouse sobre o ponto que deseja aproximar ou afastar e gire o botão de rolagem para frente e para trás;
7) Posicione o ponteiro do mouse por 1,5s sobre qualquer nó para exibir seus detalhes na tela;
8) Clique sobre um nó de pessoa jurídica (ícone de prédio ou de globo) para selecioná-lo e pressione a tecla d (minúscula) para abrir uma janela com mais detalhes sobre a empresa (site externo);
9) Para recarregar a página e retornar o grafo ao seu estado inicial, pressione a tecla F5. Em seu estado inicial, os grafos podem apresentar aparente sobreposição de nós em razão da definição do tamanho dos elementos com base em seu número de conexões (quanto maior o número de conexões, maior o nó). Nesses casos, pressione a tecla e 2 vezes para uniformizar o tamanho dos nós. Aproxime o grafo para visualizar melhor;
10) Pressione a tecla e 1 vez para ocultar os rótulos dos nós e a tecla l (ele minúsculo) 1 vez para ocultar os rótulos das arestas;
11) Para a relação completa de comandos e funcionalidades, consulte o item 8 - Uso do Mouse e do Teclado do Manual do SINARC. Para abrir o manual estando na janela do grafo, pressione a tecla h (minúscula).
Vídeo 1: Modo Automático de Visualização do SINARC
Vídeo 2: Modo Automático de Visualização do SINARC
O objetivo deste tutorial é demonstrar, de forma prática, passo a passo, o uso dos comandos do SINARC que não dependem de consulta em tempo real ao banco de dados, utilizando grafos disponíveis online. O SINARC possui aproximadamente 80 comandos acionados pelo mouse e pelo teclado.
Certifique-se de que o teclado esteja no padrão de letras minúsculas (tecla CapsLock desativada). Para executar comandos com letras maiúsculas, pressione Shift + tecla desejada.
Os comandos listados a seguir estão agrupados em blocos temáticos de acordo com suas funcionalidades. Execute-os na sequência indicada.
A descrição dos comandos acionados com o mouse e com o teclado é exibida no canto superior direito da tela durante 3s.
Abra o link a seguir (Exemplo 4) em uma nova aba do navegador e aguarde o grafo ser exibido. Caso disponha de um segundo monitor, mova para ele a nova aba e pressione a tecla b para ajustar a altura da janela de visualização do grafo à altura da tela do monitor.
Abra o link a seguir (Exemplo 5) em uma nova aba do navegador e aguarde o grafo ser exibido. Caso disponha de um segundo monitor, mova para ele a nova aba e pressione a tecla b para ajustar a altura da janela de visualização do grafo à altura da tela do monitor.
Abra o link a seguir (Exemplo 2) em uma nova aba do navegador e aguarde o grafo ser exibido. Caso disponha de um segundo monitor, mova para ele a nova aba e pressione a tecla b para ajustar a altura da janela de visualização do grafo à altura da tela do monitor.
Comandos que dependem de consulta em tempo real ao banco de dados, necessitando que o SINARC e o Rede CNPJ estejam em execução: Teclas o O s y 4
Os camandos que não dependem de nova consulta aos bancos de dados podem ser executados nos arquivos gerados pelo SINARC para compartilhamento (arquivo_sinarc.zip).
Para mais detalhes sobre o funcionamento de cada comando, consulte o item 8 - Uso do Mouse e do Teclado, do Manual do SINARC.
Caso opte em não realizar o download da versão compactada do Pen Drive SINARC, a qual dispensa instalação, siga as instruções abaixo.
Para gerar uma nova instalação dos sistemas SINARC e Rede CNPJ, incluindo a criação do banco de dados a partir dos arquivos CSV disponibilizados pela Receita Federal, consulte as instruções contidas no arquivo INSTRUÇÕES.txt, disponível na página principal deste repositório.
Para ampliar a capacidade de pesquisa, baixe e descompacte na pasta SINARC (criada pelo usuário para abrigar o sistema) a versão portátil e gratuita do programa DB Browser (arquivo “DB Browser for SQLite - .zip (no installer) for 64-bit Windows”). Com o auxílio do DB Browser é possível realizar filtros e consultas diretamente nas tabelas dos bancos de dados do sistema, combinando critérios de busca que não estão disponíveis nas interfaces gráficas do SINARC e do Rede CNPJ para chegar aos números de CNPJ que deseja explorar.
O manual de instruções do SINARC pode ser acessado pressionando-se a tecla h (de help) durante o uso do sistema. Já o manual do Rede CNPJ encontra-se disponível na página do projeto.
O SINARC se destina a todos que exercem o controle social e institucional da Administração Pública, como auditores, jornalistas, comissões de licitação, procuradorias jurídicas, sistemas de controle interno, ministérios públicos, entre outros órgãos e instituições, além do cidadão interessado em obter informações sobre a estrutura empresarial de grupos econômicos, em especial sobre as pessoas físicas e jurídicas que integram a cadeia hierárquica de comando, a situação jurídica de empresas e as relações existentes entre pessoas físicas e jurídicas cadastradas na base de dados pública de CNPJ da Receita Federal.
ATENÇÃO: Antes de utilizar as informações obtidas por meio do SINARC, valide-as mediante consulta direta às fontes primárias dos dados. Após selecionar a empresa, pressione a tecla 1 para abrir a consulta na página da Receita Federal.
Confira-se, a seguir, exemplos de exploração de redes complexas com o SINARC:
Visão panorâmica da rede complexa gerada pelo SINARC
Aproximação da rede complexa gerada pelo SINARC
Detalhe da rede complexa gerado pelo SINARC
Visão panorâmica da rede complexa gerada pelo SINARC
Aproximação da rede complexa gerada pelo SINARC
Detalhe da rede complexa gerado pelo SINARC (com ocultação de arestas)
Vínculo existente entre duas empresas, identificado pelo SINARC na 8ª camada
✅ Conhecer a estrutura de grupos empresariais com base no CNPJ, razão social, nome de fantasia, nome ou CPF parcial do sócio no formato ***NNNNNN**, entre outros parâmetros.
✅ Identificar vínculos entre pessoas físicas e jurídicas a partir de notícias publicadas na internet (Vídeo).
✅ Representar, por meio de grafos, empresas cujos números de CNPJ no formato 00000000000000 ou 00.000.000/0000-00 se encontram em relatórios técnicos, diários oficiais ou qualquer documento ou tela com texto selecionável.
✅ Identificar vínculos entre licitantes a partir das atas das sessões públicas de procedimentos licitatórios (Ata Pregão Eletrônico), bem como das bases de dados disponibilizadas nos portais de transparência da Administração Pública.
✅ Identificar pessoas físicas e jurídicas com posições estratégicas na rede de conexões a partir da aplicação de algoritmos matemáticos de medidas de centralidade de grafos, como Centralidade de Grau (Degree Centrality), Centralidade de Intermediação (Betweenness Centrality), Centralidade de Proximidade (Closeness Centrality), Centralidade de Autovetor (Eigenvector Centrality) e Ranking de Página (PageRank).
✅ Identificar toda a cadeia hierárquica formada por pessoas físicas e jurídicas que integram os grupos econômicos controladores de determinada empresa.
✅ Gerar grafo contendo todas as empresas que se enquadrem na combinação de determinados critérios (mesmo endereço, rua, CEP, atividade econômica etc.), mediante consulta prévia à base de dados usando o programa gratuito DB Browser.
Relação de sites e documentos contendo informações (nomes de pessoas físicas, jurídicas e números de CNPJ) para explorar com o SINARC:
Relatório Final da Polícia Federal no Caso Marielle Franco e Anderson Gomes
Relatório Parcial e Representação da Polícia Federal na Operação Encilhamento
CGU multa empresa em R$ 566 milhões por fraude em contrato com a Petrobras
Empresas beneficiadas por renúncias fiscais de tributos federais (Receita Federal). Clique em “Recursos” e localize o item “(Dirbi) Renúncia Fiscal por Regime Especial de Tributação”. Clique em “Acessar o recurso” e realize do download do arquivo CSV (568 mil linhas e 675MB). Abra o arquivo com o Excel, formate a coluna “cnpj” como texto e gere uma tabela dinâmica com as colunas “cnpj”, “nome” e “valorConsolidado”. Aplique filtros usando as demais colunas, selecione os números de CNPJ desejados e pressione Ctrl + c para explorá-los com o SINARC.
Empresas beneficiadas por renúncias fiscais de tributos estaduais (Estado do Espírito Santo). Referentes ao Programa de Desenvolvimento e Proteção à Economia do Estado do Espírito Santo (Compete-ES) e ao Programa de Incentivo ao Investimento no Estado do Espírito Santo (Invest-ES). Clique nos itens “Lista de Beneficiários do programa Compete” e “Lista de Beneficiários do programa Invest” para realizar o download da lista atual de beneficiários.
Reembolsos suspeitos de despesas realizadas pela Câmara dos Deputados (Operação Serenata de Amor)
Bases de dados de licitações, contratos e execução orçamentária do Estado do Espírito Santo