Configurar Veracode verificações em seu pipeline

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 3 min. de leitura
  • Configure Veracode verificações nos pipelines do Azure DevOps, Jenkins, GitHub, GitLab ou Harness.

    Você pode configurar Veracode verificações em qualquer fase do pipeline e os detalhes da verificação são recuperados da fase correspondente à Velocidade de mudança do DevOps. Se você estiver usando as ferramentas de orquestração do Azure DevOps ou do GitHub Actions, precisará adicionar o código de ação personalizado ao pipeline sempre. Se você estiver usando o Jenkins e o pipeline já tiver uma etapa de verificação de segurança Veracode, não será necessário adicionar o código de ação personalizada ao pipeline. Certifique-se de que a etapa de verificação de segurança Veracode tenha o estado "waitForScan: verdadeiro". Isso é necessário para que o sistema recupere as informações de verificação.

    Se você quiser configurar o Veracode para a ferramenta GitLab, poderá usar a imagem genérica do contêiner do Docker para adicionar a etapa de segurança do Veracode ou executar as etapas especificadas no tópico Integrar ferramentas de segurança com GitLab.

    Para pipelines do Harness, você pode configurar verificações Veracode somente por meio da imagem de contêiner genérica Docker. Para obter mais informações, consulte Implementar ações personalizadas para pipelines usando a imagem de contêiner genérica do Docker.

    1. Navegue até a etapa no pipeline e adicione a ação personalizada.
      Azure DevOps
      1. Navegue até o arquivo .yml do pipeline.
      2. Na seção Tarefas no lado direito, pesquise a tarefa de extensão Resultados de segurança do ServiceNow DevOps.
      3. Insira o endpoint da ServiceNow.
      4. Insira os atributos de resultados de segurança da seguinte forma.
        
            {
                "scanner": "Veracode", "applicationName": "", "buildVersion": "", "securityToolId": "" 
            }

        // scanner: ferramenta de verificação e é necessário, por exemplo, Veracode.

        // applicationName: nome da sua aplicação Veracode e é obrigatório. Este atributo é aplicável somente para Veracode.

        // buildVersion: nome da verificação Veracode/versão de compilação e é opcional. Este atributo é aplicável somente para Veracode.

        // securityToolId: ferramenta de segurança integrada na ServiceNow (sys_id da ferramenta de segurança integrada) e é opcional.

      5. Selecione Adicionar para adicionar o código de ação personalizado ao pipeline.
      Jenkins
      1. Navegue até a Sintaxe do Pipeline a partir de um pipeline configurado.
      2. Selecione a etapa snDevOpsSecurityResult na lista Etapa de Amostra e atualize os valores dos atributos de verificação de segurança na etapa.
      3. Selecione Gerar script de pipeline para criar um snippet. Você pode copiar e colar o snippet no pipeline.
        snDevOpsSecurityResult { 
        securityResultAttributes:{"scanner":"Veracode", "applicationName": "", "buildVersion": "", "securityToolId": ""}}

        // scanner: ferramenta de verificação e é necessário, por exemplo, Veracode.

        // applicationName: nome da sua aplicação Veracode e é obrigatório. Este atributo é aplicável somente para Veracode.

        // buildVersion: nome da verificação Veracode/versão de compilação e é opcional. Este atributo é aplicável somente para Veracode.

        // securityToolId: ferramenta de segurança integrada na ServiceNow (sys_id da ferramenta de segurança integrada) e é opcional.

      GitHub Actions
      1. Navegue até o arquivo .yml do fluxo de trabalho.
      2. Na seção Mercado do lado direito, pesquise a ação personalizada Resultados de segurança do ServiceNow DevOps.
      3. Adicione o seguinte snippet ao arquivo .yml.
        
            SecurityScanResults:
                needs: build
                runs-on: ubuntu-latest
                name: Servicenow Security Scan Results
        
            steps:
              - name: ServiceNow DevOps Security Results
                uses: ServiceNow/servicenow-devops-security-result@v1.39.0
                with:
                    devops-integration-user-name: ${{ secrets.SN_DEVOPS_USER }}
                    devops-integration-user-password: ${{ secrets.SN_DEVOPS_PASSWORD }}
                    instance-url: ${{ secrets.SN_INSTANCE_URL }}
                    tool-id: ${{ secrets.SN_ORCHESTRATION_TOOL_ID }}
                    context-github: ${{ toJSON(github) }}
                    job-name: 'Servicenow Security Scan Results'
                    security-result-attributes: '{ "scanner": "Veracode", "applicationName": "", "buildVersion": "", "securityToolId": ""}

        // scanner: ferramenta de verificação e é necessário, por exemplo, Veracode.

        // applicationName: nome da sua aplicação Veracode e é obrigatório. Este atributo é aplicável somente para Veracode.

        // buildVersion: nome da verificação Veracode/versão de compilação e é opcional. Este atributo é aplicável somente para Veracode.

        // securityToolId: ferramenta de segurança integrada na ServiceNow (sys_id da ferramenta de segurança integrada) e é opcional.

      Para obter mais informações, consulte GitHub marketplace.
      Arnês Execute a imagem de contêiner Docker genérica para usar o script a seguir. Para obter mais informações, consulte Implementar ações personalizadas para pipelines usando a imagem de contêiner genérica do Docker.
      - stage:
          name: ServiceNow DevOps Security Result
          identifier: Security
          description: ""
          type: Custom
          spec:
            execution:
              steps:
                - stepGroup:
                    name: Security
                    identifier: Security
                    steps:
                      - step:
                          type: Run
                          name: ServiceNow DevOps Security Result
                          identifier: ServiceNow_DevOps_Security_Result
                          spec:
                            connectorRef: docker_hub_connector_for_harness
                            image: servicenowdocker/sndevops:5.0.0
                            shell: Sh
                            command: |-
                              sndevopscli create securityScan -p  
      
                              "{"pipelineInfo":{
                                  "buildNumber":"<+stage.nodeExecutionId>",
                                  "taskExecutionUrl":"<+pipeline.executionUrl>?stage=<+stage.nodeExecutionId>", 
                                  "orchestrationPipeline":"<+org.identifier>/<+project.identifier>/<+pipeline.name>" 
                                },
                                "securityResultAttributes":{
      				"scanner":"Veracode",
      				"applicationName":"",
      				"buildVersion":"",
      				"securityToolId":""
                                }
                              }"
                            envVariables:
                              SNOW_URL: <+variable.SNOW_URL>
                              SNOW_TOOLID: <+variable.SNOW_TOOLID>
                              SNOW_TOKEN: <+variable.SNOW_TOKEN>
                    stepGroupInfra:
                      type: KubernetesDirect
                      spec:
                        connectorRef: kubernates_connector
                        namespace: harness-delegate-ng
          tags: {}
    2. Execute o pipeline para recuperar os resultados da verificação de segurança.