An Interest In:
Web News this Week
- April 29, 2024
- April 28, 2024
- April 27, 2024
- April 26, 2024
- April 25, 2024
- April 24, 2024
- April 23, 2024
Criando meu prprio 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 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 )
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:
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.
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
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To