<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Lucas Santos Ferreira</title>
    <description>The latest articles on Forem by Lucas Santos Ferreira (@lucasferreiram3).</description>
    <link>https://forem.com/lucasferreiram3</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F993670%2Fb13d5b03-3179-4268-828f-4062275bb5be.jpg</url>
      <title>Forem: Lucas Santos Ferreira</title>
      <link>https://forem.com/lucasferreiram3</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/lucasferreiram3"/>
    <language>en</language>
    <item>
      <title>Como corrigir vulnerabilidades de software automaticamente com o Veracode Fix</title>
      <dc:creator>Lucas Santos Ferreira</dc:creator>
      <pubDate>Thu, 30 Nov 2023 19:51:15 +0000</pubDate>
      <link>https://forem.com/m3corp/como-corrigir-vulnerabilidades-de-software-automaticamente-com-o-veracode-fix-1b7p</link>
      <guid>https://forem.com/m3corp/como-corrigir-vulnerabilidades-de-software-automaticamente-com-o-veracode-fix-1b7p</guid>
      <description>&lt;p&gt;O tutorial a seguir tem por objetivo mostrar como realizar o scan e a correção automática de vulnerabilidades utilizando o Veracode FIX&lt;/p&gt;




&lt;h3&gt;
  
  
  LINGUAGENS E VULNERABILIDADES SUPORTADAS
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;JAVA: &lt;a href="https://docs.veracode.com/r/veracode_fix"&gt;https://docs.veracode.com/r/veracode_fix&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;C# &lt;a href="https://docs.veracode.com/r/veracode_fix"&gt;https://docs.veracode.com/r/veracode_fix&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;JS/TS &lt;a href="https://docs.veracode.com/r/veracode_fix#javascript-and-typescript"&gt;https://docs.veracode.com/r/veracode_fix#javascript-and-typescript&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h4&gt;
  
  
  CONFIGURAR AS CREDENCIAIS API NA ESTAÇÃO DE TRABALHO
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Windows&lt;br&gt;
&lt;a href="https://docs.veracode.com/r/t_configure_credentials_windows"&gt;https://docs.veracode.com/r/t_configure_credentials_windows&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Linux/Mac&lt;br&gt;
&lt;a href="https://docs.veracode.com/r/t_configure_credentials_mac"&gt;https://docs.veracode.com/r/t_configure_credentials_mac&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  IMPORTANTE!
&lt;/h4&gt;

&lt;p&gt;seguir as orientações de empacotamento da Veracode para realização do scan:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Geral:
&lt;a href="https://docs.veracode.com/r/compilation_packaging"&gt;https://docs.veracode.com/r/compilation_packaging&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Java:
&lt;a href="https://docs.veracode.com/r/compilation_java"&gt;https://docs.veracode.com/r/compilation_java&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;JavaScript / TypeScript:
&lt;a href="https://docs.veracode.com/r/compilation_jscript"&gt;https://docs.veracode.com/r/compilation_jscript&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;C# / .NET:
&lt;a href="https://docs.veracode.com/r/compilation_net"&gt;https://docs.veracode.com/r/compilation_net&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;1.  Para aplicações Java, realizar a compilação para gerar o (.war ou .jar ou .ear)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;2. Para .NET, executar o build, e criar um zip a pasta com as DLLs e pdb files&lt;/code&gt;&lt;br&gt;
&lt;code&gt;3. Para JavaScript e TypeScript, criar um zip a pasta com os arquivos de código da aplicação&lt;/code&gt;&lt;/p&gt;


&lt;h4&gt;
  
  
  BAIXAR O VERACODE CLI PARA UTILIZAR O FIX
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Mac/Linux/Windows com WSL
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -fsS https://tools.veracode.com/veracode-cli/install | sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Deixar o binário executavel
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chmod +x veracode
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Rodar o comando abaixo para configurar a CLI e indicar as credenciais API (as mesmas utilizadas no arquivo de credenciais configurado no passo 1)
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;./veracode configure
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Quando for perguntado pelo apiID e apiKEY, inserir suas credenciais de API, conforme abaixo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Configuring credentials for the Veracode CLI ...
API ID [Your Veracode API ID]
API Secret Key [Your Veracode Secret Key]  
Validated API credentials successfully.
Wrote configuration to /$HOME/.veracode/veracode.yml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h4&gt;
  
  
  EXECUTAR A CLI PARA FAZER O STATIC SCAN
&lt;/h4&gt;

&lt;p&gt;Iremos primeiramente realizar um scan SAST em nosso app para armazenar os resultados de vulnerabilidades que serão utilizados posteriormente nas correções&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;./veracode static scan &amp;lt;&amp;lt;caminho da sua aplicação empacotada/compilada&amp;gt;&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Exemplo usando Java:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;./veracode static scan app.war
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Exemplo usando C#/.NET ou JavaScript/Typescript:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;./veracode static scan app.zip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Após isso, o scanner irá salvar os resultados dentro do &lt;strong&gt;results.json&lt;/strong&gt;&lt;/p&gt;




&lt;h4&gt;
  
  
  EXECUTAR A CLI PARA FAZER O FIX
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Após executar o scan, iremos avaliar em qual(ais) arquivos vulneráveis da app iremos iniciar as correções&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Para iniciar a correção, basta executar o comando com a sintaxe:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;veracode fix --results &amp;lt;&amp;lt;local onde está o results.json gerado no static scan&amp;gt;&amp;gt; &amp;lt;&amp;lt;caminho exato do arquivo da app que iremos fazer as correções&amp;gt;&amp;gt;&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;Exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;./veracode fix --results verademo/docs/scan_results/results.json verademo/app/src/main/java/com/veracode/verademo/commands/IgnoreCommand.java
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Após terminar, basta analisar qual vulnerabilidade você irá começar a corrigir,  passar a ele o "ISSUEID" indicado na tela, como 1010 ou 1020, etc... e, aguardar a consulta na base de inteligência interna da Veracode.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Após isso, irá surgir as sugestões de correção no código fonte, onde você poderá analisar e escolher qual será aplicada em seu código&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Mais informações:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.veracode.com/fix"&gt;https://www.veracode.com/fix&lt;/a&gt;&lt;br&gt;
&lt;a href="https://docs.veracode.com/r/veracode_fix"&gt;https://docs.veracode.com/r/veracode_fix&lt;/a&gt;&lt;br&gt;
&lt;a href="https://docs.veracode.com/r/Fix_Quickstart"&gt;https://docs.veracode.com/r/Fix_Quickstart&lt;/a&gt;&lt;/p&gt;

</description>
      <category>veracode</category>
      <category>fix</category>
      <category>vulnerabilities</category>
      <category>cybersecurity</category>
    </item>
    <item>
      <title>Como configurar as CLIs da Veracode em seu workstation usando docker</title>
      <dc:creator>Lucas Santos Ferreira</dc:creator>
      <pubDate>Tue, 08 Aug 2023 17:38:15 +0000</pubDate>
      <link>https://forem.com/m3corp/como-configurar-as-clis-da-veracode-em-seu-workstation-usando-docker-2f0m</link>
      <guid>https://forem.com/m3corp/como-configurar-as-clis-da-veracode-em-seu-workstation-usando-docker-2f0m</guid>
      <description>&lt;p&gt;É inegável que saber utilizar CLIs é importante no dia a dia de um profissional de tecnologia, pois elas podem trazer diversas possibilidades de interações e automações, além de nos ajudar a ganhar produtividade.&lt;/p&gt;

&lt;p&gt;Nesse artigo, iremos mostrar como configurar e utilizar as CLI e API wrappers da Veracode em seu workstation para te ajudar a ganhar produtividade, dar a possibilidade de criar scripts e automações de forma mais simples.&lt;/p&gt;




&lt;h4&gt;
  
  
  Pré requisitos
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1 - Sistema operacional Linux
2 - Caso utilize o Windows, poderá adaptar para o WSL
3 - Docker
4 - Conta de acesso à Veracode
5 - Credenciais API configuradas em no arquivo credentials 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Criar credenciais API
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Faça login na Plataforma Veracode [&lt;a href="https://analysiscenter.veracode.com/"&gt;https://analysiscenter.veracode.com/&lt;/a&gt;].&lt;/li&gt;
&lt;li&gt;No menu esquerdo clique em API Credentiais.&lt;/li&gt;
&lt;li&gt;Clique em Gerar credenciais de API.&lt;/li&gt;
&lt;li&gt;Copie o ID e a chave secreta para um local seguro.&lt;/li&gt;
&lt;/ol&gt;


&lt;h4&gt;
  
  
  Configurar credenciais API
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Na linha de comando, navegue até a pasta do seu nome de usuário $HOME.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd $HOME
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Execute este comando para criar a pasta .veracode
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ mkdir .veracode
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Navegue até a pasta .veracode
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ cd .veracode
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Execute este comando de toque para criar o arquivo de credenciais
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ touch credentials
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Abra o arquivo credentials com algum editor de texto&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copie este texto e cole-o no arquivo de credenciais&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[default]
veracode_api_key_id = Your API ID
veracode_api_key_secret = Your API key                
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Substitua os valores pelas credenciais da API Veracode.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Salve o arquivo de credenciais.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Opcionalmente, você pode executar o seguinte comando para restringir o acesso ao arquivo de credenciais&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chmod 600 ~/.veracode/credentials
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Download e configuração das CLIs
&lt;/h4&gt;

&lt;p&gt;Nesse ponto, iremos utilizar as imagens Docker da Veracode disponíveis em &lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://hub.docker.com/u/veracode" rel="noopener noreferrer"&gt;
      hub.docker.com
    &lt;/a&gt;
&lt;/div&gt;



&lt;p&gt;Com algum editor de texto, abra o arquivo .bashrc que carrega configurações do usuário a cada vez que o sistema inicializa, exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vim  ~/.bashrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No fim do arquivo, dê alguns espaços e adicione os seguintes comandos para configurar as chamadas dos CLIs pelo terminal&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pipeline scan
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alias 'veracode-pipeline-scan'='docker run -it --rm -v $PWD:/home/luser -v ~/.veracode/credentials:/home/luser/.veracode/credentials veracode/pipeline-scan:cmd'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;api-wrapper-java usado para SAST upload and scan, bem como todas as interações com as APIs XML da Veracode
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alias 'veracode-api-wrapper'='docker run -it --rm -v $PWD:/home/luser -v ~/.veracode/credentials:/home/luser/.veracode/credentials veracode/api-wrapper-java:cmd'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;api-signing para interação com as REST API da Veracode
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alias 'veracode-http'='docker run -it --rm -v $PWD:/home/luser -v ~/.veracode/credentials:/home/luser/.veracode/credentials veracode/api-signing:cmd'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Após isso, executar o comando abaixo
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;source ~/.brashrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;E depois sair da sessão do terminal, ou reiniciar o sistema. &lt;/p&gt;

&lt;p&gt;Agora quando abrir um terminal CMD, poderá então utilizar sempre as versões mais atualizadas da CLI e API wrappers de forma mais fácil.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--z1BhzXlq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/49tqaqqwjuo17xdmwr87.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--z1BhzXlq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/49tqaqqwjuo17xdmwr87.png" alt="Image description" width="800" height="189"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4Hw9GtwC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4eps1vwljbnwk801wsqs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4Hw9GtwC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4eps1vwljbnwk801wsqs.png" alt="Image description" width="800" height="289"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EiNAxxWN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gb4ck5sujr89yartvah0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EiNAxxWN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gb4ck5sujr89yartvah0.png" alt="Image description" width="800" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Observação: Na primeira vez que executar os comandos, as imagens docker serão baixadas para sua máquina antes de serem executadas de fato&lt;/em&gt;&lt;/p&gt;

</description>
      <category>veracode</category>
      <category>tutorial</category>
      <category>productivity</category>
      <category>docker</category>
    </item>
    <item>
      <title>Como utilizar as imagens docker da Veracode para automatizar as integrações SAST</title>
      <dc:creator>Lucas Santos Ferreira</dc:creator>
      <pubDate>Thu, 27 Jul 2023 18:25:52 +0000</pubDate>
      <link>https://forem.com/m3corp/como-utilizar-as-imagens-docker-da-veracode-para-automatizar-as-integracoes-sast-4j0n</link>
      <guid>https://forem.com/m3corp/como-utilizar-as-imagens-docker-da-veracode-para-automatizar-as-integracoes-sast-4j0n</guid>
      <description>&lt;p&gt;No mundo de DevOps temos o Docker engine como um grande auxiliador dentro das etapas de desenvolvimento para testes, build, homologação e etc.&lt;/p&gt;

&lt;p&gt;Dentro de um pipeline CI/CD, alguns players oferecem os recursos dos containers docker para facilitar os testes e automações, assim cada etapa como: job, task ou step, podem ser facilmente executadas sem a necessidade de se preocupar em instalar dependências e realizar configurações que consomem tempo.&lt;/p&gt;

&lt;p&gt;Nesse artigo, iremos entender um pouco sobre como podemos aplicar a estratégia de esteira DevSecOps utilizando imagens de container Docker para automatizar Scans SAST com a Veracode.&lt;/p&gt;




&lt;p&gt;Abaixo iremos utilizar como exemplo o Github Actions, mas isso poderia ser aplicado a qualquer outra ferramenta CI/CD adaptando o uso de acordo com a respectiva solução.&lt;/p&gt;




&lt;p&gt;As imagens oficiais Veracode podem ser encontradas diretamente no &lt;a href="https://hub.docker.com/u/veracode"&gt;Dockerhub Veracode&lt;/a&gt;. Elas são constantemente atualizadas e hardenizadas para garantir que tudo funcione da forma mais segura. Logo que um novo API Wrapper é lançado, automaticamente já será anexado a uma nova versão da imagem, garantindo que tenhamos os recursos mais atualizados já disponíveis.&lt;/p&gt;




&lt;p&gt;Exemplo abaixo será usado um exemplo de projeto em Django (PyGoat):&lt;/p&gt;

&lt;p&gt;&lt;code&gt;1. Etapa - SAST Policy Upload and Scan&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  Veracode-SAST-Policy-Scan:
    runs-on: ubuntu-latest
    container:
      image: veracode/api-wrapper-java:latest
      options: --user root
    steps:
    - uses: actions/checkout@master

    - name: scan 
      run: |
          zip -r pygoat.zip . -i '*.py' '*.html' '*.js'
          java -jar /opt/veracode/api-wrapper.jar -vid "${{ secrets.VID }}" -vkey "${{ secrets.VKEY }}" -action UploadAndScan -createprofile false -appname "Pygoat-Showroom" -version "${{ github.run_id }}" -filepath pygoat.zip -scantimeout 20

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;No primeiro exemplo temos o SAST Policy Scan sendo executado a partir da imagem &lt;code&gt;veracode/api-wrapper-java:latest&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Por padrão a imagem roda com um usuário não privilegiado e, para executar todas ações necessárias, utilizamos o recurso de &lt;code&gt;--user root&lt;/code&gt; temporariamente&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Essa imagem já contém o CLI do ZIP instalado, assim evita que tenhamos que criar uma etapa anterior de ZIP ou Archive, salvar esse artefato com a aplicação dentro e executar em outro container para Upload and Scan ou até mesmo instalar o ZIP dentro a imagem utilizada&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No ZIP, estamos solicitando que seja incluso somente os arquivos referente à aplicação, assim o artefato terá seu tamanho otimizado e, também ignoramos outros arquivos que não fazem sentido para o scan SAST como: PDF, JPG, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Em seguida, executamos o API Wrapper com a action de &lt;code&gt;UploadAndScan&lt;/code&gt; para o SAST&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;2. Etapa - SAST Pipeline Scan&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   Veracode-SAST-Pipeline-Scan:
    runs-on: ubuntu-latest
    container:
      image: veracode/pipeline-scan:latest
      options: --user root
    steps:
      - name: checkout
        uses: actions/checkout@master

      - name: scan 
        run: |
          zip -r -v pygoat.zip . -i '*.py' '*.js' '*.html'  
          java -jar /opt/veracode/pipeline-scan.jar -vid "${{ secrets.VID }}" -vkey "${{ secrets.VKEY }}" -f pygoat.zip -p "PyGoat-Showroom" -pn "Veracode Recommended Medium"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;O Pipeline Scan também possui uma imagem Docker dedicada &lt;code&gt;veracode/pipeline-scan:latest&lt;/code&gt; onde o seu uso é praticamente igual a da Etapa - SAST Policy Upload and Scan&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Tanto a imagem &lt;code&gt;veracode/api-wrapper-java&lt;/code&gt; quanto &lt;code&gt;veracode/api-signing&lt;/code&gt; podem ser utilizadas para automatizar outras tarefas além do SAST, pois elas interagem diretamente sobre as APIs da Veracode, assim podemos por exemplo: criar usuários, times, download de relatórios, busca de informações e trigger para execução de uma análise Dinâmica (DAST).&lt;/p&gt;

</description>
      <category>security</category>
      <category>devsecops</category>
      <category>cybersecurity</category>
      <category>veracode</category>
    </item>
    <item>
      <title>Aplicando uma estratégia DevSecOps com Veracode e GitFlow</title>
      <dc:creator>Lucas Santos Ferreira</dc:creator>
      <pubDate>Mon, 24 Jul 2023 18:04:36 +0000</pubDate>
      <link>https://forem.com/m3corp/aplicando-uma-estrategia-devsecops-com-veracode-e-gitflow-3dd7</link>
      <guid>https://forem.com/m3corp/aplicando-uma-estrategia-devsecops-com-veracode-e-gitflow-3dd7</guid>
      <description>&lt;p&gt;Nesse artigo, iremos discutir de forma conceitual como podemos construir uma estratégia DevSecOps com as ferramentas da Veracode em um processo de Gitflow. &lt;/p&gt;

&lt;p&gt;Os exemplos a seguir não refletem em sua totalidade um ambiente real, pois cada organização adota um processo único que melhor se adequa a sua necessidade mas, os conceitos poderão ajudar no entendimento e aplicação de algo semelhante em seu ambiente.&lt;/p&gt;




&lt;p&gt;Recomendamos a leitura desses outros posts para entendimento das funcionalidades das ferramentas de segurança da Veracode caso ainda não conheça.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://dev.to/m3corp/o-que-e-sast-5213"&gt;O que é SAST?&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://dev.to/m3corp/o-que-e-sca-2j29"&gt;O que é SCA?&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://dev.to/m3corp/os-diferentes-modos-de-se-realizar-sast-com-a-veracode-1e8a"&gt;Diferentes modos de se realizar SAST com a Veracode&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  &lt;em&gt;Overview Gitflow&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;De forma básica, o Gitflow é uma estratégia de desenvolvimento que ajuda na organização do versionamento de código através de branches (ramificações). Ele é recomendado para casos onde possui a necessidade de oferecer suporte a várias versões do softwares e que também tenham várias pessoas trabalhando ("commitando") dentro do repositório. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Conceito do funcionamento&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;O Gitflow se apoia em duas branches principais: Master e Develop que são permanentes e que mantêm o histórico de versionamento, além de outras branches temporárias de apoio que serão baseadas em uma dessas principais como exemplo: Release, Feature e entre outras.&lt;/p&gt;

&lt;p&gt;Cada uma dessas branches possui uma função específica, exemplo: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Master branch&lt;/em&gt; -&amp;gt; como próprio nome diz, é a principal e armazena o código de produção. Em algum momento as novas funcionalidades estarão atreladas a ela e disponíveis para o público alvo.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Develop branch&lt;/em&gt; -&amp;gt; possui os novos códigos com funcionalidades desenvolvidos pela equipe e que ainda não estão publicados em produção mas, logo poderão ser associadas à &lt;em&gt;Master branch&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Feature branch&lt;/em&gt; -&amp;gt; é uma ramificação que tem como base a &lt;em&gt;Develop branch&lt;/em&gt; e, é destinada para o desenvolvimento de funcionalidades específicas. Após a finalização, as modificações serão acopladas à &lt;em&gt;Develop&lt;/em&gt; e então sumirão.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Release&lt;/em&gt; -&amp;gt; serve como uma ponte da &lt;em&gt;Develop&lt;/em&gt; para &lt;em&gt;Master&lt;/em&gt;. Após a realização de testes dentro dessa branch, ocorre a "fusão" com a &lt;em&gt;Master&lt;/em&gt; e, caso ocorra alguma modificação, será sincronizada com a &lt;em&gt;Develop&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  &lt;em&gt;Como inserir segurança nesse fluxo de trabalho?&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;A imagem abaixo representa o exemplo simples de como podemos inserir análises de segurança durante o desenvolvimento utilizando um fluxo de trabalho já estebelecido.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tDFWb7yZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/olfyc6pjn16ki25nfn08.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tDFWb7yZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/olfyc6pjn16ki25nfn08.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Feature branch&lt;/em&gt;&lt;br&gt;
Nessa branch, podemos aplicar o SAST + SCA para validar os &lt;br&gt;
novos códigos e bibliotecas que estão entrando na aplicação. &lt;br&gt;
Dessa forma a aplicação pode já ser construída de forma mais &lt;br&gt;
segura desde o início da codificação. Podemos fazer o uso dos &lt;br&gt;
plugins na IDE e da base dados de vulnerabilidades gerenciadas &lt;br&gt;
da Veracode para pesquisar o histórico de versões das &lt;br&gt;
bibliotecas mais seguras antes mesmo de importá-las para o &lt;br&gt;
projeto.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Develop branch&lt;/em&gt;&lt;br&gt;
Na branch develop, podemos aplicar uma estratégia muito &lt;br&gt;
interessante: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;SAST Sandbox Scan:&lt;/em&gt;&lt;/strong&gt; &lt;br&gt;
  para registrar as informações de forma gráfica na &lt;br&gt;
  Plataforma da branch develop e, verificar se alguma &lt;br&gt;
  vulnerabilidade presente nessa versão impactaria as &lt;br&gt;
  políticas de compliance e segurança do Policy Scan de forma &lt;br&gt;
  antecipada apoiando em uma tomada de decisão.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;SAST Pipeline Scan&lt;/em&gt;:&lt;/strong&gt;&lt;br&gt;
   rodando em paralelo com o Sandbox Scan, para ter um &lt;br&gt;
   feedback rápido (aproximadamente de 90 segundos) de quais &lt;br&gt;
   vulnerabilidades estão presentes na aplicação, quais &lt;br&gt;
   riscos associados e também com possibilidade de uma quebra &lt;br&gt;
   de build caso seja identificado um risco alto/grave ou que &lt;br&gt;
   não esteja de acordo com as políticas de compliance e &lt;br&gt;
   segurança. Também há a possibilidade de usarmos o Baseline &lt;br&gt;
   do Pipeline Scan para comparar os resultados SAST &lt;br&gt;
   anteriores com a versão mais recente da aplicação e &lt;br&gt;
   verificar se há nova(s) vulnerabilidades introduzidas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;SCA&lt;/em&gt;:&lt;/strong&gt; &lt;br&gt;
  para validar os possíveis riscos das bibliotecas externas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;DAST&lt;/em&gt;:&lt;/strong&gt; &lt;br&gt;
  caso tenha uma versão publicada dessa aplicação em ambiente &lt;br&gt;
  de desenvolvimento, podemos acionar uma trigger na esteira &lt;br&gt;
  para iniciar uma análise dinâmica com escopo bem fechado e &lt;br&gt;
  definido para analisar algumas partes da aplicação (Web ou &lt;br&gt;
  API).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Release branch&lt;/em&gt;&lt;br&gt;
Poderíamos repetir os mesmos passos da branch develop, mas agora o time de segurança juntamente a todos os envolvidos, poderiam realizar a gestão de riscos, analisar os relatórios anteriores e verificar se de fato a aplicação está apta para publicação, necessita criar alguma medida de mitigação ou até mesmo aplicar alguma correção para algo mais crítico. &lt;br&gt;
Nesse momento a ideia é que a aplicação já tenha sido validada pelas ferramentas diversas vezes (SAST + SCA + DAST) e as correções necessárias aplicadas previamente para que esteja pronta para ser lançada.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Master branch&lt;/em&gt;&lt;br&gt;
Agora temos a nova versão publicada onde diversas análises e verificações ocorreram durante o ciclo de desenvolvimento com maior garantia de que está mais segura contra ataques.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>gitflow</category>
      <category>devsecops</category>
      <category>development</category>
      <category>veracode</category>
    </item>
    <item>
      <title>Configurando o agente DAST ISM Veracode em servidores Linux</title>
      <dc:creator>Lucas Santos Ferreira</dc:creator>
      <pubDate>Fri, 23 Jun 2023 21:56:43 +0000</pubDate>
      <link>https://forem.com/m3corp/configurando-o-agente-dast-ism-veracode-em-servidores-linux-57hf</link>
      <guid>https://forem.com/m3corp/configurando-o-agente-dast-ism-veracode-em-servidores-linux-57hf</guid>
      <description>&lt;p&gt;No post &lt;a href="https://dev.to/m3corp/como-utilizar-o-dast-veracode-em-aplicacoes-internas-5ej8-temp-slug-9842342?preview=9a44d37a571dec985d8709ff071f1c62058ce726c20b8708ab2c1efb42828afc99711b737b867b93e3de863db81242d699e0c7071ad071ebda7ed663"&gt;Como realizar uma análise dinâmica (DAST) com a Veracode em aplicações não publicadas?&lt;/a&gt; entendemos a importância e o porquê de se realizar uma análise DAST dentro de um ambiente pré-produção.&lt;/p&gt;

&lt;p&gt;Nesse post, iremos fazer o passo a passo de como configurar o agent ISM em servidores Linux.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;em&gt;Pré Requisitos Técnicos&lt;/em&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Sistema Operacional: Linux RHEL, CentOS, Ubuntu, Debian
2. Hardware: 8 GB RAM; 4 GB Livres de Disco
3. Software: Java JRE 8+ LTS
4. Rede:
- Conexão confiável do servidor endpoint com as aplicações internas a serem testadas
- 443 do servidor aberta para saída
- Garantir que o endereço 34.195.146.191 esteja acessível pela aplicação, ele é a origem das requisições da análise dinâmica
- É recomendado desabilitar IPS, WAF e outras camadas que possam interferir nos resultados do DAST originados do IP da Veracode (citado acima). 
5. O usuário que fará a criação do endpoint e download do executável, deverá ter uma dessas Roles permissions: **Administrator** ou **Security Lead**
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;em&gt;Configuração do Internal Scanning&lt;/em&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;No menu de configuração &lt;em&gt;ícone de engrenagem na parte superior da plataforma Veracode&lt;/em&gt;, clique em &lt;strong&gt;Internal Scanning Management&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GFR8k2se--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lp5xy6je2gghcwf74c5j.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GFR8k2se--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lp5xy6je2gghcwf74c5j.jpg" alt="Image description" width="800" height="112"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Clique em &lt;strong&gt;Configure Internal Scanning&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Insira o nome e a descrição do gateway. Então clique &lt;strong&gt;Next&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Insira o nome e a descrição do endpoint que você deseja conectar a este gateway&lt;/li&gt;
&lt;li&gt;Selecione &lt;strong&gt;Other&lt;/strong&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gJUA09Ec--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d7po97w0yvksanm0jdz2.jpg" alt="Image description" width="789" height="415"&gt;
&lt;/li&gt;
&lt;li&gt;Clique em &lt;strong&gt;Next&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;h4&gt;
  
  
  &lt;em&gt;Download e Instalação do endpoint ISM&lt;/em&gt;
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Clique em &lt;strong&gt;Download&lt;/strong&gt; para baixar o arquivo ZIP contendo o instalador
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--olvDRK06--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dbsrsviyu5p9o5jyqrew.png" alt="Image description" width="793" height="171"&gt;
&lt;/li&gt;
&lt;li&gt;Mova o arquivo ZIP baixado para dentro do servidor onde ele será executado&lt;/li&gt;
&lt;li&gt;Crie um pasta específica e faça a extração do ZIP dentro dela&lt;/li&gt;
&lt;li&gt;O endpoint será um arquivo &lt;strong&gt;.jar&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;h3&gt;
  
  
  &lt;em&gt;Execução do endpoint ISM&lt;/em&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Ao seguir os passos anteriores de criação do endpoint, ele irá te mostrar todos os comandos necessários para execução como a imagem a seguir:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6bfIodrb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kz61o0r80z8srlxxvs2i.png" alt="Image description" width="762" height="481"&gt;
&lt;/li&gt;
&lt;li&gt;A estrutura se baseia em alguns cenários que você deverá avaliar e escolher o que se adequa melhor na sua infraestrutura.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Se você não estiver usando um proxy da Web para acessar a Internet:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;java -jar Veracode_ISM_Endpoint_{yourendpointname}.jar
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Se você estiver usando um proxy da web não autenticado:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;java -Dhttps.proxyHost={your_proxy_host} -Dhttps.proxyPort={your_proxy_port} -jar Veracode_ISM_Endpoint_{your_endpoint_name}.jar 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Se você estiver usando um proxy da web autenticado, inicie o endpoint:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;java -Dhttps.proxyHost={your_proxy_host} -Dhttps.proxyPort={your_proxy_port} -jar Veracode_ISM_Endpoint_{your_endpoint_name}.jar --authenticate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Depois de iniciar o endpoint para um proxy da web autenticado, execute o endpoint:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;java -Dhttps.proxyHost={your_proxy_host} -Dhttps.proxyPort={your_proxy_port} -jar Veracode_ISM_Endpoint_{your_endpoint_name}.jar
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Se você deseja usar apenas o proxy da web para comunicação entre o endpoint e o gateway:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;java -Dhttps.proxyHost={your_proxy_host} -Dhttps.proxyPort={your_proxy_port} -jar Veracode_ISM_Endpoint_{your_endpoint_name}.jar --proxygatewayonly
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Clique em &lt;strong&gt;Close&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;O novo gateway e endpoint agora aparecem na página &lt;strong&gt;Internal Scanning Management&lt;/strong&gt; como as imagens de exemplo abaixo:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3RInPQPO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h7xf07ge0yonmb40ot8k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3RInPQPO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h7xf07ge0yonmb40ot8k.png" alt="Image description" width="604" height="129"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EicYsshn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ma7fifepyttdy6temwc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EicYsshn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ma7fifepyttdy6temwc.png" alt="Image description" width="800" height="54"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Se o endpoint não conseguir se conectar ao gateway, sua organização pode precisar adicionar o endereço IP do gateway ou o nome de domínio à sua lista de permissões. O endereço IP e o domínio são visíveis na página &lt;em&gt;Internal Scanning Management&lt;/em&gt; e na página do gateway.&lt;/p&gt;

&lt;p&gt;O gateway pode ter um status de Inicializando por alguns minutos depois de criá-lo. O endpoint tem um status de Pendente até que você o implemente com sucesso. Quando você implementa com sucesso o endpoint, ele tem um status de &lt;strong&gt;Ready&lt;/strong&gt;.&lt;/p&gt;


&lt;h4&gt;
  
  
  &lt;em&gt;Próximo passo&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;Após seguir o procedimento de criação do gateway, download e execução do endpoint, você estará pronto para iniciar a configuração DAST pelo portal utilizando o ISM que você pode seguir conforme os tutoriais abaixo:&lt;/p&gt;
&lt;h4&gt;
  
  
  Conteúdos em Português
&lt;/h4&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/m3corp" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wQ53pGEX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--EVw7HzVq--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/organization/profile_image/6421/37b80f72-6b85-48e4-b666-982bcadd4614.png" alt="M3Corp" width="150" height="150"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rz9xwcHo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--pQRH7LSo--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/318281/56f1fd22-5a9e-4c3a-b1c9-c9bb929aabce.jpg" alt="" width="150" height="150"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/m3corp/como-fazer-um-dast-pelo-portal-11n4" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Como fazer um DAST pelo portal&lt;/h2&gt;
      &lt;h3&gt;Ivo Dias for M3Corp ・ Jan 4&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#veracode&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#tutorial&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#security&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;



&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/DKqexxmGejk"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;h4&gt;
  
  
  Conteúdos em Inglês
&lt;/h4&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/El6xBMaC4yg"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/WUwoqmCIA9I"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/wQIaab9GGAM"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>dast</category>
      <category>appsec</category>
      <category>devsecops</category>
      <category>veracode</category>
    </item>
    <item>
      <title>Como realizar uma análise dinâmica (DAST) com a Veracode em aplicações não publicadas?</title>
      <dc:creator>Lucas Santos Ferreira</dc:creator>
      <pubDate>Fri, 23 Jun 2023 21:56:35 +0000</pubDate>
      <link>https://forem.com/m3corp/como-realizar-uma-analise-dinamica-dast-com-a-veracode-em-aplicacoes-nao-publicadas-3lg5</link>
      <guid>https://forem.com/m3corp/como-realizar-uma-analise-dinamica-dast-com-a-veracode-em-aplicacoes-nao-publicadas-3lg5</guid>
      <description>&lt;p&gt;E colaboração aos posts anteriores sobre análise dinâmica (DAST) &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/m3corp/o-que-e-dast-14d7"&gt;O que é um DAST&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dev.to/m3corp/como-fazer-um-dast-pelo-portal-11n4"&gt;Como fazer um DAST pelo Portal Veracode&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Iremos entender nesse post, a importância de se utilizar o Internal Scanning Management [ISM] para realizar análises DAST em aplicações que estão fechadas para Internet.&lt;/p&gt;




&lt;h4&gt;
  
  
  ISM (Internal Scanning Management)
&lt;/h4&gt;

&lt;p&gt;É um agente/endpoint que trabalha como uma espécie de Proxy Reverso dentro da rede da empresa. O objetivo dele é simplificar as análises DAST em aplicações que não estão publicados ainda, exemplo: ambientes de desenvolvimento e/ou homologação que não podem ser alcançáveis pela Internet.&lt;/p&gt;

&lt;p&gt;Conforme a ilustração abaixo demonstra, o agente/endpoint estará rodando como um serviço dentro de um servidor interno que possui comunicação interna com as aplicações (Web ou API) e, realiza uma comunicação segura para Internet (porta 443) até seu Tenant na Veracode, permitindo que os scans sejam performados de forma segura.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YXI77MIF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mjymhwwwyzpetj6nbxq8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YXI77MIF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mjymhwwwyzpetj6nbxq8.png" alt="arquitetura ISM" width="800" height="673"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h4&gt;
  
  
  Qual importância do uso do ISM?
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Como boa prática, é recomendado realizar os testes de segurança "mais cedo possível", ou seja, em etapas antes da publicação para que os times tenham a possibilidade de saber antecipadamente se alguma vulnerabilidade crítica seja conhecida e corrigi-la antes que um atacante possa explorá-la. Geralmente os ambientes de desenvolvimento, homologação ou staging por exemplo, estão fechados para Internet o que impede que qualquer um fora da rede interna, onde as aplicações rodam, possam "enxergar" e realizar algum tipo de teste.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;De modo geral, todo Web Scanner atua enviando requisições diretamente nas aplicações, com objetivo de simular as principais ações de um cyber criminoso. As aplicações recebem e processam certas requisições que podem não ser corretamente interpretadas e causar algum tipo de desfiguração.&lt;br&gt;
O DAST da Veracode possui inteligência suficiente para enviar requisições de modo a não prejudicar a usabilidade das aplicações, mas, sempre há algum risco do alvo não processar corretamente as requisições.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h4&gt;
  
  
  Conclusão
&lt;/h4&gt;

&lt;p&gt;Sempre que possível, utilize um endpoint/agent ISM para fazer as análises dinâmicas em ambientes não produtivos para que você possa ter maior segurança nos testes e principalmente conheça os riscos antecipadamente.&lt;/p&gt;

</description>
      <category>dast</category>
      <category>veracode</category>
      <category>appsec</category>
      <category>development</category>
    </item>
    <item>
      <title>Os diferentes modos de se realizar SAST com a Veracode</title>
      <dc:creator>Lucas Santos Ferreira</dc:creator>
      <pubDate>Tue, 14 Mar 2023 19:22:58 +0000</pubDate>
      <link>https://forem.com/m3corp/os-diferentes-modos-de-se-realizar-sast-com-a-veracode-1e8a</link>
      <guid>https://forem.com/m3corp/os-diferentes-modos-de-se-realizar-sast-com-a-veracode-1e8a</guid>
      <description>&lt;p&gt;Em colaboração ao nosso post anterior: &lt;a href="https://dev.to/m3corp/o-que-e-sast-5213"&gt;&lt;strong&gt;O que é SAST?&lt;/strong&gt;&lt;/a&gt; iremos então desenvolver a ideia macro de quais são as formas de realizar análises SAST em nossas aplicações utilizando a Veracode, bem como alguns casos de uso e momentos em que cada uma pode se encaixar em seu ciclo de desenvolvimento.&lt;/p&gt;

&lt;p&gt;A Veracode trabalha com os seguintes módulos de SAST:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;IDE Scan (Greenlight)&lt;/li&gt;
&lt;li&gt;Pipeline Scan&lt;/li&gt;
&lt;li&gt;Sandbox Scan&lt;/li&gt;
&lt;li&gt;Policy Scan&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  IDE Scan (Greenlight)
&lt;/h3&gt;

&lt;h4&gt;
  
  
  O que é?
&lt;/h4&gt;

&lt;p&gt;Esse módulo permite que os desenvolvedores varram os códigos (classes, arquivos individuais) em busca de vulnerabilidades diretamente de sua IDE rapidamente enquanto estão programando.&lt;/p&gt;

&lt;h4&gt;
  
  
  Porque é importante?
&lt;/h4&gt;

&lt;p&gt;Ele colabora com a implementação do conceito de shift-left dentro de ciclo de desenvolvimento seguro, fazendo com que vulnerabilidades sejam encontradas e corrigidas já no estágio inicial de construção do software, diminuindo o custo das correções, evitando a exposição do desenvolvedor e atraso nas entregas em uma sprint, além de apoiar na conscientização de codificação segura.&lt;/p&gt;




&lt;h3&gt;
  
  
  Pipeline Scan
&lt;/h3&gt;

&lt;h4&gt;
  
  
  O que é?
&lt;/h4&gt;

&lt;p&gt;Esse módulo permite a análise estática da sua aplicação completa de forma muito rápida (cerca de 90 segundos dependendo do tamanho e complexidade de sua aplicação). Apesar de seu nome, ele possui a flexibilidade de ser executado em qualquer terminal (Windows, Linux, MacOs, esteiras CI/CD) pois é disparado por meio de uma CLI.&lt;/p&gt;

&lt;h4&gt;
  
  
  Porque é importante?
&lt;/h4&gt;

&lt;p&gt;Quando pensamos em velocidade de entrega sem comprometer a segurança, certamente o Pipeline Scan da Veracode é um ótimo aliado. Ele possui uma tecnologia na qual colabora para apresentar as vulnerabilidades das aplicações em formato de texto e, não na geração de relatórios, dashboards detalhados ou correlação de históricos, com isso, a complexidade de apresentação de informações se torna mais simples.&lt;/p&gt;

&lt;p&gt;Com ele é possível realizar análises SAST após cada commit, sem impactar na execução de esteiras em estágios iniciais do desenvolvimento (onde é normal ter um número maior de commits e de falhas identificadas) ou até mesmo diretamente pela estação de trabalho do desenvolvedor. Dependendo da maturidade ou necessidade, conseguimos barrar a esteira com Pipeline Scan a partir da identificação de vulnerabilidades de determinada severidade (crítica, alta, média), baseado em categorias do CWE (SQL Injection, XSS, etc...) ou até mesmo em uma política de compliance de segurança&lt;/p&gt;




&lt;h3&gt;
  
  
  Sandbox Scan
&lt;/h3&gt;

&lt;h4&gt;
  
  
  O que é?
&lt;/h4&gt;

&lt;p&gt;É um espaço isolado para cada aplicação que permite que os times de desenvolvimento e colaboradores do processo de construção das aplicações possam submeter a aplicação ao SAST, avaliar os resultados e verificar se estes afetam as regras de segurança antecipadamente sem que os relatórios de conformidade sejam afetados (KPIs, compliance reports, etc).&lt;/p&gt;

&lt;h4&gt;
  
  
  Porque é importante?
&lt;/h4&gt;

&lt;p&gt;As análises de segurança possuem relatórios, históricos, dashboards e KPIs com propósito de informar o estado atual e evolução da maturidade de segurança. Quando se atinge as metas me maturidade estabelecidas, também é importante que se mantenha uma constante evolução de todo o processo para que então os riscos sejam melhores gerenciados e a possibilidade de um incidente se reduza. &lt;br&gt;
Pensando nesses pontos alinhados ao processo de desenvolvimento ágil, ter a possibilidade de realizar checagens e análises prévias com a garantia de que as aplicações serão entregues de acordo com a política de segurança estabelecida sem que haja retrabalhos ou atrasos é uma boa prática.&lt;/p&gt;

&lt;p&gt;O Sandbox Scan da Veracode é um diferencial de mercado que atende os pontos acima citados como parte de sua oferta para o apoio de um programa de DevSecOps eficiente. Temos a possibilidade de dispará-lo via plugins de IDEs (Visual Studio, IntelliJ, Eclipse por exemplo) CLI/scripts diretamente de um terminal ou via esteira CI/CD. Esse último é um ótimo caso de uso pois, podemos fazer o SAST em Sandboxes de diferentes branches de um mesmo projeto (feature, desenvolvimento, homologação) dessa forma, podemos garantir que as revisões e análises de segurança sejam feitas antecipadamente antes de um processo da esteira em que decidirá se a aplicação poderá ou não ser publicada para uso (main, homolog ou dev por exemplo).&lt;/p&gt;




&lt;h3&gt;
  
  
  Policy Scan
&lt;/h3&gt;

&lt;h4&gt;
  
  
  O que é?
&lt;/h4&gt;

&lt;p&gt;É um dos principais módulos SAST da Veracode. Ele armazena os relatórios de scans anteriores e, com os resultados de vulnerabilidades identificadas, correlaciona com as regras de segurança para indicar se a última versão da aplicação analisada está em compliance com a política estabelecida.&lt;/p&gt;

&lt;h4&gt;
  
  
  Porque é importante?
&lt;/h4&gt;

&lt;p&gt;Acompanhar a evolução da maturidade de segurança, entender qual estado atual do ambiente na perspectiva de segurança, definir as métricas e necessidades atuais de segurança para os projetos desenvolvidos faz parte do core de um planejamento estratégico de segurança. &lt;/p&gt;

&lt;p&gt;O Policy Scan é o módulo capaz de trazer todas essas possibilidades citadas e, prover insights que possam melhorar a postura e maturidade de segurança continuamente. &lt;/p&gt;

&lt;p&gt;Como boa prática, é recomendado que esse módulo SAST especificamente, seja integrado em um momento da esteira ou ciclo de desenvolvimento onde se realiza verificações importantes que poderão passar por um exame de avaliação que permitirá ou não da aplicação seguir a uma etapa de publicação (produção/homologação/staging), ou seja, o Policy Scan é capaz de barrar a subida de uma aplicação baseado em métricas pré-definidas. É claro que nesse ponto, entende-se que a cultura de DevSecOps já está em um nível mais alto e principalmente já há processos bem definidos e estabelecidos para tal.&lt;/p&gt;

&lt;p&gt;Para obter mais informações ou entrar em contato conosco, acesse: &lt;a href="https://www.m3corp.com.br/contato/"&gt;contato&lt;/a&gt;&lt;/p&gt;

</description>
      <category>sast</category>
      <category>appsec</category>
      <category>devsecops</category>
      <category>veracode</category>
    </item>
  </channel>
</rss>
