Criando meu próprio Github Actions para a área de AppSec

Olá pessoal, tudo bem? 😊

Hoje resolvi trazer esse tema, pois na área de AppSec/DevSecOps é muito importante conhecer outras ferramentas que possam ajudar na integração e checagens de segurança durante a fase de desenvolvimento de um software.

O que…


This content originally appeared on DEV Community and was authored by michelleamesquita

Image description

Olá pessoal, tudo bem? 😊

Hoje resolvi trazer esse tema, pois na área de AppSec/DevSecOps é muito importante conhecer outras ferramentas que possam ajudar na integração e checagens de segurança durante a fase de desenvolvimento de um software.

O que é Github Actions?

Ele serve para você automatizar de forma fácil todo o processo de desenvolvimento de software, utilizando o conceito CI/CD por meio do workflow (build, teste e deploy ) no seu repositório.

O mais interessante é que você pode criar uma action e compartilhar no Github Marketplace e assim, qualquer pessoa poderá usar a sua action!

Achei essa ideia sensacional, principalmente se você quiser criar um código, como no nosso caso, que será para encontrar vulnerabilidade no código. Assim, não precisaremos passar por todos steps como clonar o repositório do projeto, instalar dependências ou Docker para o projeto específico, para depois executá-lo!

Agora que entendemos para o que serve o Github Actions, precisamos criar a nossa Action. Para isso, termos que ter em mente que precisamos criar um arquivo chamado action.yml e que o mesmo precisa estar no diretório principal (root). Dessa forma, será entendido pelo Github que esse é o arquivo que dará origem a nossa action.

name: 'SAST validator'
author: 'michelleamesquita'
description: 'Using python to verify vulnerabilities into code'
inputs:
  path:
    required: true
    default: "."
  language:
    required: false
runs:
  using: 'docker'
  image: 'Dockerfile'
  args:
    - -d=${{ inputs.path }}
    - -l=${{ inputs.language }}

Nesse arquivo, é importante entendermos que possuem alguns parâmetros importantes que serão usados para a criação da minha action utilizando container (Docker).

inputs : é utilizado para passar os parâmetros que serão passados no argumento argumento (docker run sast -d=. -l=python) . Então, "path" recebe o valor de "python", no exemplo.
runs : é a parte principal do actions. Ele serve para definir o tipo de runner, que no nosso caso é 'docker'. Assim precisamos passar parâmetros específicos do Docker. Por exemplo a imagem e os argumentos que serão os inputs setados previamente.
Caso queiram ver os demais exemplos, segue a documentação do Github também 😊

Para utilizarmos essa action em outros projetos, será necessário publicar no Marketplace. Para isso, colocarei os passos abaixo: (só não reparem no número da versão que criei, pois estava apenas testando na época 😅)

Image description

Image description

Image description

Image description

Link para minha Action no Marketplace: https://github.com/marketplace/actions/sast-validator

Link para o meu repositório no Github:
https://github.com/michelleamesquita/sast-validator

Para criar tags no versionamento, segue as linhas de código:

➜ git tag -a -m “My first action release” v40
➜ git push - follow-tags

Para adicionar a action no repositório, será necessário criar esse diretório: .github/workflows/ , onde será necessário passar um arquivo yaml, como no exemplo abaixo:

Image description

on:
  push:
    branches:
    - main

jobs:
  sast_job:
    runs-on: ubuntu-latest
    name: SAST Validator
    steps:
      - name: Checkout repository content
        uses: actions/checkout@v2 

      - name: SAST validator
        uses: michelleamesquita/sast-validator@v40
        with:
          options: -v $PWD/:/app
          path: .
          language: python

Nesse código acima, é importante entender que precisamos utilizar a actions/checkout@v2 para poder ler o arquivo do diretório corrente do projeto que usará o sast-validator.
Utilizamos o parâmetro options para compartilhar o volume entre o container e a máquina virtual linux (Ubuntu) que está sendo utilizada para rodar esse job.

Por fim, quando houver um push na branch Main, o código que analisa vulnerabilidades irá avaliar essa branch.

Image description

Image description

Image description

Assim, o código de validador de vulnerabilidades (SAST Validator), foi utilizado como prova de conceito para encontrar potenciais vulnerabilidades. No entanto, é importante salientar que é necessário o analista de segurança validar. Como também, podemos aumentar a quantidade de regras e também para linguagens específicas, onde utilizei o RegEx para realizar esses testes.

Espero que tenham gostado 💜👩‍💻


This content originally appeared on DEV Community and was authored by michelleamesquita


Print Share Comment Cite Upload Translate Updates
APA

michelleamesquita | Sciencx (2023-04-03T16:42:35+00:00) Criando meu próprio Github Actions para a área de AppSec. Retrieved from https://www.scien.cx/2023/04/03/criando-meu-proprio-github-actions-para-a-area-de-appsec/

MLA
" » Criando meu próprio Github Actions para a área de AppSec." michelleamesquita | Sciencx - Monday April 3, 2023, https://www.scien.cx/2023/04/03/criando-meu-proprio-github-actions-para-a-area-de-appsec/
HARVARD
michelleamesquita | Sciencx Monday April 3, 2023 » Criando meu próprio Github Actions para a área de AppSec., viewed ,<https://www.scien.cx/2023/04/03/criando-meu-proprio-github-actions-para-a-area-de-appsec/>
VANCOUVER
michelleamesquita | Sciencx - » Criando meu próprio Github Actions para a área de AppSec. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2023/04/03/criando-meu-proprio-github-actions-para-a-area-de-appsec/
CHICAGO
" » Criando meu próprio Github Actions para a área de AppSec." michelleamesquita | Sciencx - Accessed . https://www.scien.cx/2023/04/03/criando-meu-proprio-github-actions-para-a-area-de-appsec/
IEEE
" » Criando meu próprio Github Actions para a área de AppSec." michelleamesquita | Sciencx [Online]. Available: https://www.scien.cx/2023/04/03/criando-meu-proprio-github-actions-para-a-area-de-appsec/. [Accessed: ]
rf:citation
» Criando meu próprio Github Actions para a área de AppSec | michelleamesquita | Sciencx | https://www.scien.cx/2023/04/03/criando-meu-proprio-github-actions-para-a-area-de-appsec/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.