Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
April 3, 2023 04:42 pm GMT

Criando meu prprio Github Actions para a rea de AppSec

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 integrao e checagens de segurana durante a fase de desenvolvimento de um software.

O que Github Actions?

Ele serve para voc automatizar de forma fcil todo o processo de desenvolvimento de software, utilizando o conceito CI/CD por meio do workflow (build, teste e deploy ) no seu repositrio.

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 cdigo, como no nosso caso, que ser para encontrar vulnerabilidade no cdigo. Assim, no precisaremos passar por todos steps como clonar o repositrio do projeto, instalar dependncias ou Docker para o projeto especfico, 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 diretrio 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: falseruns:  using: 'docker'  image: 'Dockerfile'  args:    - -d=${{ inputs.path }}    - -l=${{ inputs.language }}

Nesse arquivo, importante entendermos que possuem alguns parmetros importantes que sero usados para a criao da minha action utilizando container (Docker).

inputs : utilizado para passar os parmetros que sero passados no argumento argumento (docker run sast -d=. -l=python) . Ento, "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 parmetros especficos do Docker. Por exemplo a imagem e os argumentos que sero os inputs setados previamente.
Caso queiram ver os demais exemplos, segue a documentao do Github tambm

Para utilizarmos essa action em outros projetos, ser necessrio publicar no Marketplace. Para isso, colocarei os passos abaixo: (s no reparem no nmero da verso 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 repositrio no Github:
https://github.com/michelleamesquita/sast-validator

Para criar tags no versionamento, segue as linhas de cdigo:

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

Para adicionar a action no repositrio, ser necessrio criar esse diretrio: .github/workflows/ , onde ser necessrio passar um arquivo yaml, como no exemplo abaixo:

Image description

on:  push:    branches:    - mainjobs:  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 cdigo acima, importante entender que precisamos utilizar a actions/checkout@v2 para poder ler o arquivo do diretrio corrente do projeto que usar o sast-validator.
Utilizamos o parmetro options para compartilhar o volume entre o container e a mquina virtual linux (Ubuntu) que est sendo utilizada para rodar esse job.

Por fim, quando houver um push na branch Main, o cdigo que analisa vulnerabilidades ir avaliar essa branch.

Image description

Image description

Image description

Assim, o cdigo de validador de vulnerabilidades (SAST Validator), foi utilizado como prova de conceito para encontrar potenciais vulnerabilidades. No entanto, importante salientar que necessrio o analista de segurana validar. Como tambm, podemos aumentar a quantidade de regras e tambm para linguagens especficas, onde utilizei o RegEx para realizar esses testes.

Espero que tenham gostado


Original Link: https://dev.to/appsec_brasil/criando-meu-proprio-github-actions-para-a-area-de-appsec-1251

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To