세상에 나쁜 코드는 없다
Snyk 알아보기 본문
Snyk | Developer security | Develop fast. Stay secure.
Snyk helps software-driven businesses develop fast and stay secure. Continuously find and fix vulnerabilities for npm, Maven, NuGet, RubyGems, PyPI and more.
snyk.io
Snyk은 프로젝트의 코드와 의존하는 외부 라이브러리 등에서 자동으로 보안 취약점을 찾아주고, 그에 대한 해결책을 제공해주는 서비스이다.
개발자 친화적인 소프트웨어를 개발하기 위해 Synk 는 제공하는 서비스를 자체 웹사이트 뿐만아니라 다양한 IDE 환경, 자체 API, CLI에서도 사용할 수 있게 했다.
https://app.snyk.io/org/sbslc2000/integrations
Snyk - Log in or sign up to secure your projects
Log in to Snyk
app.snyk.io
Snyk 의 기능들과 간단한 시연을 아래 유튜브에서 볼 수 있었다.
https://www.youtube.com/watch?v=1w1B0b8_xnI
사용 방식이 직관적이어서 경험이 적은 나도 쉽게 기능을 사용해볼 수 있었다. 다양한 과금 플랜이 제공되고 있고 무료 플랜도 있어 기존에 제작하고 있던 프로젝트를 스캔해보았다.
간단하게 스프링부트만 사용했던 프로젝트라 많은 취약점이 발생되지 않았는데, 만약 도커나 쿠버네티스를 사용하고 있다면 그 각각의 취약점들을 구분해서 확인할 수 있다. 위의 경우 상단의 오류는 Gradle에서 의존하고 있는 프레임워크와 라이브러리에서 발견된 취약점이고, 아래는 코드 자체의 취약점이다.
취약점 우측의 SYNK-JAVA-ORG... 을 누르면 취약점에 대한 추가적인 정보와 해결방법을 확인할 수 있다.
org.springframework:spring-beans 를 상위버전으로 업데이트하면 해당 취약점 문제가 해결된다. 이러한 각각의 취약점들을 관리하기위해 Synk 은 발견된 취약점을 Github 의 Pull Request에 넣어주고, 개발자는 PR을 확인하여 리뷰 후 해결책을 프로젝트에 반영시킬 수 있다. 취약점 자동 PR 기능을 쓰면 개발자는 매번 확인할 필요 없이 Snyk 으로 부터 메일이 왔을때 깃헙에 들어가 PR만 확인하면 된다!
이 부분은 코드부분 취약점에서 가져왔는데, 나의 코드가 XSS 공격을 받을 수 있다는 내용이다. 눌러서 더 자세히 확인해보면
어떤 부분이 문제가 있는지 하이라이트로 보여주고, 우측 Fix Analysis 를 누르면
위와 같이 어떻게 수정해야하는지 샘플 코드로 알려준다. XSS를 방지하는 방법을 3가지 패턴을 통해 확인할 수 있었다.
보안 취약점에 대해 깊은 이해가 있지 않아도 쉽게 사용할 수 있는 소프트웨어라 앞으로도 애용하게 될 것같다.
'웹개발 > 백엔드' 카테고리의 다른 글
프론트엔드 개발 이해를 돕기 위한 백엔드 지식 (0) | 2022.12.30 |
---|---|
Application Error Handling Design: REST API 에러 핸들링 설계 (0) | 2022.12.30 |
[웹개발 토이 프로젝트] Tipple 중간 회고록 (0) | 2022.05.16 |
오류 org.springframework.jdbc.CannotGetJdbcConnectionException 해결방법 ( 초보 웹개발자를 위한 스프링5 프로그래밍 입문) (3) | 2022.03.11 |
[Goorm.io] Goorm ide 에서 mysql 한글 깨짐 현상 해결하기 (0) | 2022.01.25 |