“그건 내 일이 아닌데요?”라는 말이 불러온 보안의 구멍
요즘 개발 환경, 정말 복잡하죠.
프레임워크는 쏟아지고, 기술도 빨라지는데… 그 와중에 ‘보안’은 늘 뒷전입니다.
“그건 보안팀이 하는 일이잖아요?”
“Rust 쓰면 안전한 거 아냐?”
“우린 GitHub 써서 괜찮아~”
이런 말들, 한 번쯤 해보셨거나 들어보셨을 거예요. 그런데 정말 괜찮을까요?
⸻
“보안은 내 일이 아니니까…”
이 말, DevSecOps 시대엔 완전 구식입니다.
보안은 이제 개발자, 기획자, 운영자 모두의 책임이에요.
초기에 보안을 고려하지 않으면, 나중에 그 코드가 조직 전체의 리스크가 되거든요.
“SaaS 쓰니까 안전한 거 아냐?”
GitHub이나 AWS가 알아서 지켜줄 거라고 믿는 건 순진한 생각이에요.
최근 GitHub Actions 공급망 공격 사건만 봐도, 사용자 설정 하나로 사고가 터집니다.
⸻
“우리 서비스는 Rust로 짰어요!”
좋습니다. Rust는 정말 훌륭한 언어예요.
하지만 그게 SQL 인젝션이나 XSS 같은 문제까지 해결해주진 않죠.
특히 unsafe 블록 쓰면… 음, 메모리 안전성? 물 건너갔습니다.
“우린 최신 기술 쓰니까 안전해요.”
그 최신 기술… 업데이트 안 하면 구식보다 더 위험할 수 있어요.
86%의 오픈소스 라이브러리가 취약점을 안고 있다는 연구 결과, 알고 계셨나요?
“HTTPS니까 괜찮죠.”
HTTPS는 ‘전송 중’ 데이터를 보호해 줄 뿐이에요.
서버가 뚫리면 암호화고 뭐고 다 소용없죠.
“방화벽 있으니 외부 공격은 막아줄 거예요.”
그 방화벽, 내부자나 신뢰된 연결까진 못 막습니다.
‘안에 있는 사람’이 더 무서울 수도 있어요.
⸻
“우린 민감한 데이터도 없는데요?”
공격자는 민감한 데이터만 노리지 않아요.
작고 덜 튼튼한 시스템을 ‘들어가는 문’으로 삼으려고 하죠.
“코드 리뷰했으니까 문제없겠죠?”
리뷰는 중요하죠. 하지만 모든 보안 이슈를 잡을 순 없습니다.
보안 도구와 전문 리뷰가 꼭 병행돼야 해요.
“테스트 통과했어요, 끝!”
기능 테스트만으론 보안 취약점 못 잡습니다.
보안 테스트는 따로, 정기적으로 돌려줘야 진짜 안전하죠.
⸻
• 2025년 GitHub Actions 공급망 공격
무려 2만 3천 개 저장소의 비밀 키가 털릴 뻔했어요.
• 2021년의 Log4Shell
한 줄 로그 때문에 세상이 멈출 뻔했죠. 전 세계가 피해를 입었고요.
⸻
• 정기적으로 보안 교육받기
OWASP Top 10 같은 실전 중심 교육, 생각보다 많이 도움 됩니다.
• 보안 자동화 도입하기
정적 분석, 동적 분석, SBOM 도구로 위험 요소를 미리 감지해요.
• 오픈소스 업데이트 관리하기
Dependabot, Renovate 써보세요. 손쉽게 최신 상태 유지할 수 있어요.
⸻
보안은 ‘누군가’의 책임이 아닙니다.
개발자도, 기획자도, 심지어 글 쓰는 저도—보안의 주인입니다.
“문제가 생기기 전에” 움직이는 게 진짜 보안이에요.
우리 함께 Code Before Breach, 해볼까요?
Rust: 메모리 안전성과 동시성 보장으로 주목받는 시스템 프로그래밍 언어
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/