개발자들이 자주 하는 보안에 대한 오해들

“그건 내 일이 아닌데요?”라는 말이 불러온 보안의 구멍

by 이형관

요즘 개발 환경, 정말 복잡하죠.

프레임워크는 쏟아지고, 기술도 빨라지는데… 그 와중에 ‘보안’은 늘 뒷전입니다.


“그건 보안팀이 하는 일이잖아요?”

“Rust 쓰면 안전한 거 아냐?”

“우린 GitHub 써서 괜찮아~”


이런 말들, 한 번쯤 해보셨거나 들어보셨을 거예요. 그런데 정말 괜찮을까요?



1. 보안? 그건 보안팀이 알아서 하겠죠!


“보안은 내 일이 아니니까…”

이 말, DevSecOps 시대엔 완전 구식입니다.

보안은 이제 개발자, 기획자, 운영자 모두의 책임이에요.

초기에 보안을 고려하지 않으면, 나중에 그 코드가 조직 전체의 리스크가 되거든요.


“SaaS 쓰니까 안전한 거 아냐?”

GitHub이나 AWS가 알아서 지켜줄 거라고 믿는 건 순진한 생각이에요.

최근 GitHub Actions 공급망 공격 사건만 봐도, 사용자 설정 하나로 사고가 터집니다.



2. 기술이 좋으면 보안도 자동으로 따라올까?


“우리 서비스는 Rust로 짰어요!”

좋습니다. Rust는 정말 훌륭한 언어예요.

하지만 그게 SQL 인젝션이나 XSS 같은 문제까지 해결해주진 않죠.

특히 unsafe 블록 쓰면… 음, 메모리 안전성? 물 건너갔습니다.


“우린 최신 기술 쓰니까 안전해요.”

그 최신 기술… 업데이트 안 하면 구식보다 더 위험할 수 있어요.

86%의 오픈소스 라이브러리가 취약점을 안고 있다는 연구 결과, 알고 계셨나요?


“HTTPS니까 괜찮죠.”

HTTPS는 ‘전송 중’ 데이터를 보호해 줄 뿐이에요.

서버가 뚫리면 암호화고 뭐고 다 소용없죠.


“방화벽 있으니 외부 공격은 막아줄 거예요.”

그 방화벽, 내부자나 신뢰된 연결까진 못 막습니다.

‘안에 있는 사람’이 더 무서울 수도 있어요.



3. 우리, 타깃도 아닌데 왜 걱정해요?


“우린 민감한 데이터도 없는데요?”

공격자는 민감한 데이터만 노리지 않아요.

작고 덜 튼튼한 시스템을 ‘들어가는 문’으로 삼으려고 하죠.


“코드 리뷰했으니까 문제없겠죠?”

리뷰는 중요하죠. 하지만 모든 보안 이슈를 잡을 순 없습니다.

보안 도구와 전문 리뷰가 꼭 병행돼야 해요.


“테스트 통과했어요, 끝!”

기능 테스트만으론 보안 취약점 못 잡습니다.

보안 테스트는 따로, 정기적으로 돌려줘야 진짜 안전하죠.



정말 있었던 이야기들

• 2025년 GitHub Actions 공급망 공격

무려 2만 3천 개 저장소의 비밀 키가 털릴 뻔했어요.

• 2021년의 Log4Shell

한 줄 로그 때문에 세상이 멈출 뻔했죠. 전 세계가 피해를 입었고요.



그래서, 어떻게 해야 할까요?

• 정기적으로 보안 교육받기

OWASP Top 10 같은 실전 중심 교육, 생각보다 많이 도움 됩니다.

• 보안 자동화 도입하기

정적 분석, 동적 분석, SBOM 도구로 위험 요소를 미리 감지해요.

• 오픈소스 업데이트 관리하기

Dependabot, Renovate 써보세요. 손쉽게 최신 상태 유지할 수 있어요.



마치며


보안은 ‘누군가’의 책임이 아닙니다.

개발자도, 기획자도, 심지어 글 쓰는 저도—보안의 주인입니다.


“문제가 생기기 전에” 움직이는 게 진짜 보안이에요.

우리 함께 Code Before Breach, 해볼까요?




참고 용어 및 링크

Rust: 메모리 안전성과 동시성 보장으로 주목받는 시스템 프로그래밍 언어

https://www.rust-lang.org/

GitHub / GitHub Actions: 소스코드 버전 관리 플랫폼 및 CI/CD 자동화 기능

https://github.com/features/actions

DevSecOps: 개발(Dev), 운영(Ops), 보안(Security)을 통합한 개발 문화

https://owasp.org/www-project-devsecops-guideline/

SaaS (Software as a Service): 설치 없이 웹 기반으로 사용하는 클라우드 서비스

https://en.wikipedia.org/wiki/Software_as_a_service​​

SQL Injection: 악의적인 SQL 구문 삽입을 통해 데이터베이스를 조작하는 공격

https://owasp.org/www-community/attacks/SQL_Injection

XSS (Cross-Site Scripting): 악성 스크립트를 웹페이지에 삽입하는 공격

https://owasp.org/www-community/attacks/xss/

unsafe 블록: Rust에서 메모리 안전성을 보장하지 않는 코드 영역

https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html

HTTPS: 웹 통신을 암호화하는 프로토콜, 안전한 전송 보장을 위해 사용됨

https://developer.mozilla.org/ko/docs/Web/HTTP/Overview

Log4Shell: Log4j에서 발견된 치명적 원격코드 실행 취약점 (2021년)

https://www.lunasec.io/docs/blog/log4j-zero-day/​​

OWASP Top 10: 웹 애플리케이션 보안의 대표적인 취약점 리스트

https://owasp.org/www-project-top-ten/​

Dependabot: GitHub의 오픈소스 종속성 취약점 자동 업데이트 도구

https://docs.github.com/en/code-security/dependabot

Renovate: 오픈소스 패키지 및 종속성의 버전을 관리하고 자동 업데이트하는 도구

https://docs.renovatebot.com/


keyword