본문 바로가기

Security study/Open source

OSSCA 2024 FOSSLight Scanner

FOSSLight Scaner는 오픈소스 컴플라이언스에 대한 분석을 한 번에 수행할 수 있다.

소스 코드, 바이너리 및 종속성에 대한 오픈소스 분석을 수행하고 추출할 수 있는 오픈소스 정보가 포함된 보고서를 생성할 수 있다. 또한, 오픈소스가 저작권/라이센스 작성 규칙을 준수하는지 확인할 수 있다.

 

FOSSLight Scanner의 Github Repo에 가보면 여러 Repo로 나누어져 있다. 대표적으로 몇 개만 정리하겠다.

 

0. Prechecker - 소스코드에서 저작권 및 라이선스 규칙이 준수되는지 확인하고 저작권 및 라이선스 정보를 쉽게 추가할 수 있도록 도와주는 도

1. Source Scanner - scancode-toolkit과 scanoss.py를 사용하여 소스코드를 스캔하는 기능 제공 / scanoss로 코드 스니펫 스캐

2. Dependency Scanner - npm, pypi, maven, gradle, pub 등 다양한 종속성을 분석하는 기능 제공 / 종속성을 재귀적으로 분석하여 모든 오픈 소스 정보를 추출할 수 있다.

종속성 재귀적 분석

출처: https://blog.phylum.io/hidden-dependencies-lurking-in-the-software-dependency-network/

 

3. Binary Scanner - Dependency-check-py를 사용하여 '.jar' 파일에 있는 오픈 소스 정보를 분석하는 기능 제공 / 바이너리 파일 목록을 추출하고, 데이터베이스에 탐지된 바이너리의 오픈소스 정보가 있으면 자동으로 오픈소스 정보를 출력하는 도구, 바이너리 자체를 분석하는 방법이 아니므로 데이터베이스 정보가 많을수록 바이너리 분석 성능이 높아집니다.

 

이 외에도 Android Scanner, Yocto Scanner, Prechecker 와 웹 화면에서 스캐너로 뽑은 보고서 관련 정보를 볼 수 있는 HUB 까지 있다.

 

 HUB는 BOM과 보안 취약성, 공급망 관리까지 모든 것을 관리할 수 있는 올인원 시스템인데 이번 OSSCA 활동에서는 다루지 않는 범위라 자세한 설명은 생략하겠다.

 

컨트리뷰션 방법

- 이슈를 먼저 만들고, Fork 하여 Clone 한다. Branch 생성 후 커밋을 push하여 DCO 서명을 하고 PR 요청한다.

* 여기서 DCO가 중요한데, git commit 할 때 -s 옵션을 주면 된다.

 

나는 Dependency_Scanner Repo의 이슈들을 지금까지 주로 살펴보고 작지만 PR도 요청했다. 앞으로 더 많이 기여할 수 있도록 노력해야 겠다.

 

(가독성 안 좋은 글이라 빠른 시일 내에 수정할 예정)