비트(bit)주세요

정보보안 SUA - [오픈소스 보안] 6주차 본문

SUA/오픈소스 보안

정보보안 SUA - [오픈소스 보안] 6주차

yglee730 2021. 11. 1. 23:47
728x90

1. 과제

<[Juice Shop] 취약점 3개 찾기>

<[GitHub Action] 공부하기>

<Gosec, GoKart의 [GitHub Action] 사용해보기>

<[Go-SCP] 섹션 취약/안전 코드 별로 분류하고 GitHub에 Push하기>

<오픈소스 [Hugo]를 goKart로 진단하기>

<Gotify REST-API 테스트 완료하기>

 

2. 내용

<GitHub Action?>

GitHub에서 제공하는 CI/CD(지속적 통합/지속적 배포) 툴

프로그램을 개발하면 원활하고 안전한 사용을 위해, 코드에 문제가 없는지 지속적으로 검사를 해주어야 한다. 

하지만, 여러명의 프로그래머가 코드를 작성하고, 프로젝트 규모가 커지면 번거롭고 버겁다.

그래서 이것을 자동으로 실행시킬 수 있는 툴이 등장했는데, 그 중 하나가 [GitHub Action]이다.

 

이 툴을 사용하기 위해 지켜져야 할 몇가지 규칙이 있는데 다음과 같다.

※ [/.github/workflows/] 디렉토리에 파일을 작성해야 한다.

※ 파일 형식은 [.yml]이다.

Workflow 자동화된 전체 프로세스
Event Workflow를 실행하는 특정 활동, 규칙
Job 여러 Step으로 이루어지고, 단일 가상 환경에서 실행됨
Step Job 안에서 순차적으로 실행되는 프로세스 단위
Action Job을 구성하기 위한 step들의 조합으로 구성된 독립적인 명령
Runner Gitbub Action Runner 어플리케이션이 설치된 머신으로, Workflow가 실행될 인스턴스

 

<SAST vs DAST>

SAST : 컴파일을 하기 전 상태 -> 코드"만" 본다.

DAST : 컴파일을 한 후의 상태

 

3. 후기

GitHub Action에 대해서 공부하였는데, 코드 보는 법만 더 익히면 앞으로도 유용하게 쓰일 것 같다라는 생각이 들었다.

 

"바퀴를 다시 발명하지 마라"라는 어느 프로그래머 분의 격언이 있다.

이미 만들어진 것을 또 만들려고 고생하지 말라는 소리다.

 

이 코드가 무엇을 나타내는 코드인지 제대로 설명할 수만 있다면,

코드를 복사 붙여넣기 하여 상황에 맞게 바꾸는 게, 생산성 측면까지 고려하였을 때 더 좋다고 생각된다.   

 

[GitHub Action]에도 적용된다.

[GitHub Marketplace]에는 [GitHub Action]을 위한 코드가 많이 존재한다.

[GitHub Marketplace]를 적극 활용하여, [CI/CD]의 효율을 높여야겠다.

 

4. 후기

1. 지속적 통합 (습득하고 있는 지식들을 연결시키기)

2. 지속적 배포 (남들에게 알려줄 수 있을 정도로 알기)

 

5. 참고

1. GitHub Action 학습 자료

https://velog.io/@ggong/Github-Action%EC%97%90-%EB%8C%80%ED%95%9C-%EC%86%8C%EA%B0%9C%EC%99%80-%EC%82%AC%EC%9A%A9%EB%B2%95

 

Github Action에 대한 소개와 사용법

Github Action은 github에서 공식적으로 제공하는 CI/CD 툴, 다시 말해 개발의 work flow를 자동화할 수 있게 도와주는 툴이다. CI는 Continuous Integration(지속적 통합), CD는 Continuous Delivery(지속적 전

velog.io