IA2C: Ferramenta Inteligente para Detecção e Remediação Assistida de Violações de Código em Pipelines DevSecOps
Vídeo demonstrativo: YouTube
A execução do IA2C requer privilégios administrativos durante o processo de instalação, uma vez que são realizadas alterações no ambiente operacional, incluindo a instalação de serviços do sistema, Docker Engine e Jenkins.
Recomenda-se utilizar um ambiente de testes ou desenvolvimento antes da execução em ambientes de produção.
Também é responsabilidade do usuário garantir a confidencialidade dos repositórios analisados e das credenciais configuradas durante a integração entre Jenkins, GitHub e SonarQube.
- Ubuntu 20.04 LTS (nativo, WSL2 ou Máquina Virtual);
- Git instalado;
- conexão com a Internet.
O Jenkins é instalado diretamente no sistema operacional hospedeiro e é responsável pela execução da pipeline.
O SonarQube é disponibilizado através de um container Docker criado automaticamente durante o processo de instalação.
git clone https://github.com/latarc/ia2c.git
cd ia2cConceda permissão de execução ao script:
chmod +x install.shExecute o instalador:
./install.shDurante a instalação serão executadas automaticamente as seguintes etapas:
- instalação do Python e suas dependências;
- instalação do Docker Engine;
- instalação do Docker Compose;
- instalação do Jenkins;
- inicialização do serviço Jenkins;
- criação da instância do SonarQube utilizando Docker Compose;
- preparação do ambiente para execução da pipeline.
O instalador adiciona o usuário atual ao grupo docker, podendo ser necessário realizar logout/login (ou reiniciar a sessão) para utilizar o Docker sem privilégios administrativos.
Após a instalação, acesse:
http://localhost:8080
Realize a configuração inicial do Jenkins seguindo a documentação oficial:
Ao final da configuração, certifique-se de que:
- o plugin Pipeline está instalado (incluído nos plugins sugeridos);
- o plugin SonarQube Scanner está instalado;
- as credenciais de acesso ao Git e ao SonarQube foram cadastradas.
Antes da primeira execução da Pipeline, atualize o arquivo Jenkinsfile com as informações do seu ambiente.
É necessário alterar:
- usuário ou organização do GitHub;
- URL do repositório;
- Local de análise (Atualmente diretório "scripts")
- branch utilizada (quando diferente da padrão);
- identificadores das credenciais cadastradas no Jenkins.
Importante: As variáveis referentes ao repositório Git devem ser atualizadas para o usuário responsável pelo repositório. Caso contrário, o Jenkins não conseguirá autenticar e realizar o checkout do código.
Após concluir a instalação e a configuração inicial do Jenkins:
- Crie um novo projeto do tipo Pipeline;
- Configure o Pipeline para utilizar o
Jenkinsfilepresente no repositório Git; - Execute Build Now;
- Acesse o SonarQube em:
http://localhost:9000
No SonarQube defina o projeto como "IA2C - Main" e configure a instalação do plugin no Jenkins apontando para o mesmo local de instalação do SonarQube.
Ao final do processo o pipeline deve analisar seus arquivos presentes no diretório indicado e apresentar problemas encontrados na interface web. Além disso, deve ser possível corrigir os mesmos com a seleção da opção "corrigir".
Licença MIT
Copyright (c) 2026 LaTARC Research Lab
É concedida permissão, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e dos arquivos de documentação associados (o "Software"), para lidar com o Software sem restrições, incluindo, sem limitação, os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, sublicenciar e/ou vender cópias do Software, e permitir que as pessoas a quem o Software é fornecido o façam, sujeito às seguintes condições:
O aviso de copyright acima e este aviso de permissão devem ser incluídos em todas as cópias ou partes substanciais do Software.
O SOFTWARE É FORNECIDO "COMO ESTÁ", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO E NÃO INFRAÇÃO. EM NENHUM CASO OS AUTORES OU DETENTORES DOS DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM UMA AÇÃO DE CONTRATO, DELITO OU OUTRA FORMA, DECORRENTE DE, OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.
