소프트웨어 공급망 보안
Software Supply Chain Security
코드가 만들어져 배포되기까지 거치는 모든 과정을 공격자의 침투로부터 지키는 보안 활동
쉽게 말하면
소프트웨어 공급망 보안은 코드가 만들어져 사용자 손에 닿기까지 거치는 모든 단계 — 소스 코드, 외부에서 가져다 쓰는 라이브러리, 코드를 조립하는 빌드 도구, 서버에 올리는 배포 과정 — 을 공격자가 몰래 끼어들지 못하도록 지키는 일이다.
자동차 조립에 비유하면 이해가 쉽다. 완성차 회사가 자기 공장 문단속만 철저히 해도, 부품을 대는 협력업체 한 곳이 불량 부품이나 몰래 심은 이상 부속을 넘기면 완성된 차 전체가 위험해진다. 소프트웨어도 마찬가지다. 개발자가 직접 짠 코드가 아무리 안전해도, 가져다 쓴 외부 라이브러리 하나에 악성 코드가 숨어 있거나 빌드 과정 중간에 누군가 손을 대면 최종 프로그램 전체가 오염될 수 있다.
최근에는 AI가 코드를 대신 짜주고 사용할 패키지까지 추천해주면서, 사람이 일일이 확인하지 못한 채 지나가는 지점이 늘었다. 그래서 기업들은 저장소 접근 권한을 최소한으로 제한하고, 누가 무엇을 실행하든 매번 신원을 확인하며, 이미 침해당했다는 전제로 피해를 줄이는 방식으로 이 사슬 전체를 점검하는 쪽으로 움직이고 있다.
기사에서 이렇게 나와요
기사에서는 마이크로소프트가 공개한 다섯 가지 패턴·실천 가이드 중 하나로 소프트웨어 공급망 보호가 언급된다. 흔히 공급망 보안을 백신 프로그램처럼 완성된 코드를 검사하는 일로 오해하지만, 실제로는 코드 작성 단계부터 배포까지 전 과정의 접근 권한과 신뢰 경계를 관리하는 훨씬 넓은 범위의 활동이다.
직접 해보기
새 프로젝트에 외부 라이브러리를 하나 추가하려 한다면, 설치 전에 이 라이브러리를 누가 관리하는지, 최근에도 업데이트가 이뤄지고 있는지, 사용자 수가 갑자기 줄거나 관리자가 바뀐 이력은 없는지 검색해서 확인해보라. AI 코딩 도우미가 패키지를 추천했다면 같은 방식으로 한 번 더 검증하는 습관을 들이는 것이 좋다.
