1
resposta

[Dúvida] Em quais linguagens posso usar o Trufflehog?

Esta ferramenta Trufflehog é somente para Go ou posso usar em Rails ou Python? Se puder como seria esta integração com outras ferramentas?

1 resposta

Olá estudante.

Tudo bem?

Sobre a sua dúvida a respeito do Trufflehog, posso te informar que essa ferramenta não é restrita apenas à linguagem Go. Ela pode ser utilizada com várias outras linguagens de programação, incluindo Ruby on Rails e Python, que você mencionou. O Trufflehog é versátil porque ele busca por strings que parecem ser segredos (como senhas e tokens de acesso) em arquivos de código, independentemente da linguagem em que o código está escrito.

Para integrar o Trufflehog com outras ferramentas na sua esteira de CI (Integração Contínua), você pode usar o GitHub Actions, como foi visto na aula. Aqui está um exemplo básico de como você pode configurar um workflow no GitHub Actions para usar o Trufflehog em um projeto Python ou Rails:

  1. Crie um arquivo de workflow no seu repositório GitHub: Vá até a pasta .github/workflows e crie um novo arquivo, por exemplo, secret_scan.yml.

  2. Configure o workflow:

    name: Secret Scan
    
    on: [push, pull_request]
    
    jobs:
      trufflehog_scan:
        runs-on: ubuntu-latest
        steps:
        - name: Checkout code
          uses: actions/checkout@v2
        
        - name: Install Trufflehog
          run: pip install trufflehog
        
        - name: Run Trufflehog
          run: trufflehog --regex --entropy=False git_url_or_path
          env:
            GIT_URL: ${{ secrets.GIT_URL }}
    

    Neste exemplo, o Trufflehog será instalado e executado sempre que houver um push ou um pull_request. Ele verificará o repositório especificado pela variável de ambiente GIT_URL, que você deve configurar nas secrets do seu repositório GitHub.

  3. Adicione as secrets necessárias: No GitHub, vá até as configurações do seu repositório, encontre a seção 'Secrets' e adicione as informações necessárias, como o GIT_URL.

Esse é um exemplo básico e você pode ajustar conforme as necessidades específicas do seu projeto, como a adição de passos para notificação ou correção automática de problemas encontrados.

Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.