신입 QA에서 보안 QA로 전직한 6년 경력, 무엇이 달라졌나?
- 02 Dec, 2025
일반 QA에서 보안 QA로, 6년 사이의 변화
출근했다. 커피 마셨다. 모니터 켰다. Burp Suite 띄웠다. 이 루틴이 이제 너무 자연스럽다.
4년 전만 해도 이게 불가능했다. Burp Suite라는 게 뭔지도 몰랐고, 보안 테스트라고 하면 막연하게 “남의 계정으로 들어가보는 것?” 정도로만 생각했다. 일반 QA에서 6년, 그 중 절반을 보안 QA로 살아오니 정말 많은 게 달라졌다.
처음 회사는 작은 핀테크 스타트업이었다. 직원 80명쯤. 내 역할은 심플했다. 기능이 정상 작동하는가. 에러가 나지 않는가. 엣지 케이스는 없는가. 테스트 케이스 100개, 200개 만들고, 자동화 스크립트 짜고, 버그 리포트 올렸다. 그게 전부였다. 월급 4000만원. 당시엔 괜찮다고 생각했다.
그러다 2년 차 때 보안팀 리더가 나를 불렀다. “QA 마인드셋 가지면서 보안도 배울 사람 없나?” 컨설턴트로 뛰어다니는 게 아니라 내부에서 계속 봐줄 사람이 필요하다고 했다. 처음엔 거절했다. 보안? 나? 말도 안 된다고 생각했다.
하지만 월급 얘기를 들었다. 6000만원에서 시작. 그리고 “당신 같은 사람이 필요합니다”라는 한마디. 자존심이 좀 생겼나. 도전하기로 했다.
첫 3개월: 지옥의 기초 학습기
[IMAGE_1: Anime style illustration of a confused Korean male developer sitting at desk with multiple monitors showing incomprehensible code and security tool interfaces like Burp Suite, surrounded by flying technical documents and question marks, stressed expression, dark room with dim red lighting, Studio Ghibli inspired character design, overwhelmed but determined look]
첫 주는 악몽이었다. OWASP Top 10? 몰랐다. SQL Injection? SQL은 알지만 Injection은 뭐지. Burp Suite는 들어가만 해도 어지러웠다. 프록시, 리피터, 스코프, 인터셉터. 영어도 많고, 개념도 많고, 직관적이지 않았다.
기존 QA에서 배운 게 거의 없었다. 보안은 다른 차원이었다. 기능 테스트는 “정상인가 비정상인가”만 판단하면 됐다. 보안은 “어떻게 공격할까”를 생각해야 했다. 사고방식 자체가 180도 바뀌어야 했다.
첫 달은 온라인 강의를 봤다. Udemy에서 Burp Suite 강의를 구매했고, TryHackMe에서 기초를 다졌다. 야근이 많았다. 퇴근하고 집에서도 계속 봤다. 월급 600만원 인상이 동기였나? 그것도 있고, 뭔가 새로운 세계가 열리는 느낌도 있었다.
두 번째 달부터는 실제 테스트를 조금씩 해봤다. 선임 보안 테스터 옆에 앉아서. 그쪽이 Burp Suite로 API를 스캔하는데, 화면을 보면서 “이건 뭐 하는 거예요?” 자꾸 물었다. 처음엔 답답해 했을 것 같은데, 친절하게 설명해줬다. 그 팀장은 지금도 내 멘토다.
세 번째 달에 처음으로 진짜 취약점을 찾았다. SQL Injection. 로그인 폼이었다. 근데 사실 Burp Suite가 먼저 찾은 거였다. 스캔 결과를 보고 “이게 뭐예요?” 물으니 팀장이 “한 번 직접 공격해봐”라고 했다. 페이로드를 복사-붙여넣기 하고, 서버에서 뭔가 다른 응답이 오는 걸 봤을 때의 전율. 잊을 수가 없다.
“어? 들어와졌다.” 그 한마디. 당시 심장이 철렁했다. 진짜 뚫렸다. 공격이 성공했다. 그 순간 깨달았다. 보안은 기능 테스트와 완전히 다르다. 공격자가 되어야 한다. 나쁜 사람처럼 생각해야 한다. 이 시스템의 허점을 찾아서 악용할 방법을 생각해야 한다.
1년 차: Burp Suite와의 사투
[IMAGE_2: Anime manga style illustration of a Korean male security QA professional with laser-focused eyes staring at multiple glowing monitors displaying Burp Suite HTTP history with highlighted vulnerabilities, typing rapidly on keyboard, green matrix-style code rain effect in background, warm desk lamp lighting, determined professional expression, Studio Ghibli atmospheric lighting, detailed anime character art, cyberpunk aesthetic mixed with Japanese illustration style]
1년차 때는 Burp Suite와 싸우는 기분이었다. 스코프 설정이 자꾸 꼬였다. 인터셉터로 패킷을 수정하다 실수로 요청을 완전히 날렸다. 스캔 설정을 잘못 해서 개발 환경이 아니라 프로덕션 환경을 스캔할 뻔했다. (다행히 막혔다)
테스트 케이스도 새로 만들어야 했다. 일반 QA였을 때는 “유저가 하는 정상적인 행동”만 테스트했다. 보안에서는 다르다. “유저가 하지 않을 악의적인 행동”을 테스트한다.
- 로그인 시 SQL Injection: ’) OR ‘1’=‘1
- 파라미터 조작: amount=100을 amount=10으로
- 인증 우회: 토큰 값 임의 변조
- 세션 하이재킹: 쿠키 스틸링
- XSS: 댓글에 삽입
- CSRF: 다른 사이트에서 내 요청 보내기
처음엔 이런 시나리오를 “정말 공격을 해도 되나?” 걱정하면서 했다. 이제는 지루할 정도로 루틴이다.
1년 차 때 가장 큰 변화는 눈이 뜨인 거였다. 웹사이트를 볼 때 기능이 보이지 않았다. 취약점이 보였다.
예를 들면 로그인 폼을 봤을 때:
- 패스워드 필드가 input type=password인가? (아니면 평문?)
- 오토 완성이 꺼져 있나?
- SQL Injection 방어 있나? (쿼리 파라미터 직결? 프리페어드 스테이트먼트?)
- Rate Limiting이 있나? (브루트포스 방어)
- 비밀번호 최소 자릿수, 복잡도 요구사항은?
일반 QA는 “로그인되나?” 물었다. 보안 QA는 “어떻게 로그인을 뚫지?”를 물었다.
이 무렵 회사도 성장했다. 직원이 120명이 됐다. 보안팀도 커졌다. 나한테 후배가 생겼다. 2년차 신입 보안 QA. 그쪽은 처음부터 보안으로 들어온 사람이었다. 근데 나는 일반 QA 경험이 있었으니 도움이 될 수 있었다. “개발팀이 뭘 생각하는지, 버그와 보안은 뭐가 다른지” 설명해줄 수 있었다.
2~3년 차: 직관의 시대
[IMAGE_3: Anime illustration of confident Korean male security QA professional with calm, knowing expression staring at code on monitor, hands resting on desk confidently, multiple screens showing security scanning results with green checkmarks and highlighted vulnerabilities already marked by his expertise, warm golden afternoon lighting streaming through window, Studio Ghibli masterpiece aesthetic, serene yet powerful presence, detailed manga-style character art, peaceful cybersecurity environment]
2년을 더 지나니까 달라졌다. Burp Suite가 불편하지 않았다. 오히려 몸에 밴 거였다. 손가락이 자동으로 스캔 버튼을 눌렀다. 결과를 보면 진짜와 거짓 양성을 0.5초에 판단했다.
그리고 신기한 일이 생겼다. 코드를 봐도 취약점이 눈에 들어왔다. 사실 프론트엔드 코드 리뷰를 하다 보니 그렇게 된 거였다. 개발팀과 협업하면서 “여기는 왜 취약한가?”를 자꾸 설명하다 보니, 패턴이 읽혔다.
const data = request.body.user_id; const query = "SELECT * FROM users WHERE id = " + data;
이 코드를 보는 순간, 나는 알았다. 뚫린다. 바로. 이유를 물을 필요도 없었다. 이건 문자열 연결이 되고 있으니까, 당연히 SQL Injection이 가능하다.
혹은 API 응답:
{
"user_id": 123,
"name": "김철수",
"role": "admin"
}
이걸 봐도 알았다. 프론트에서 role을 클라이언트 사이드로 체크하고 있다는 거. 즉, 백에서는 체크 없다는 거. 즉, role을 조작할 수 있다는 거.
이 단계에서는 기술뿐 아니라 심리도 많이 배웠다. 개발팀이랑 싸우지 않으면서 보안을 지키는 방법. 취약점을 “저 놈들이 실수했다”가 아니라 “이건 시스템의 문제다”로 설명하는 방법. 리포트를 작성할 때 “왜 위험한가”보다 “어떻게 고치는가”를 먼저 제시하는 방법.
연봉이 7000만원에 올랐다. 처음 일반 QA에서 4000만원, 보안 QA 시작할 때 6000만원, 지금 7000만원. 숫자로만 보면 3년에 3000만원 올랐다. 근데 체감은 훨씬 컸다. 월급보다는 “내가 성장했다”는 게 더 크다.
지금: 공격자의 눈, 방어자의 책임
[IMAGE_4: Anime illustration of Korean male security QA professional in modern office looking out window at city night skyline, laptop and security tools visible on desk but character is contemplative, warm room lighting with desk lamp glow, Studio Ghibli atmospheric illustration style, showing both technical expertise and human responsibility, manga aesthetic, moment of reflection on career path, professional yet introspective mood, detailed anime character art]
지금은 좀 다르다. 이제 취약점을 찾는 게 어렵지 않다. 문제는 그 다음이다.
취약점을 찾고 리포트하면, 개발팀이 “나중에 고치겠습니다”라고 한다. 물론 크리티컬하면 바로 고치지만, 중간 정도는 백로그에 들어간다. 그 사이 라이브 가면? 그럼 내 책임이 된다. “왜 못 찾았어?”가 아니라 “왜 봤는데 풀지 않았어?”가 된다.
이게 스트레스다. 일반 QA 때는 “버그 리포트했으니 할 일 다 했다”였다. 보안은 아니다. 내 리포트가 무시되면, 그 취약점이 터질 때 나한테도 책임이 있다. 화이트 해커지만 책임감은 검은색이다.
또 기술이 계속 변한다. 작년에 배운 공격 기법이 올해 막혀 있다. 새로운 프레임워크는 새로운 취약점을 만든다. GraphQL 들어왔을 때는 또 새로 배워야 했다. 마이크로서비스 아키텍처 가면 또 다르다. 쉬어본 적이 없다.
근데 이게 싫진 않다. 오히려 좋다. 지루하지 않다. 매일 새로운 공격 벡터를 생각하고, 매일 다른 시스템을 뚫어본다. 일반 QA 때는 테스트 케이스 만드는 게 반복이었다. 이제는 창의력이 필요하다. “이 시스템을 어떻게 깰까”는 매번 다른 문제다.
월급만 봐도 6배가 됐다. 4000만원에서 7000만원. 1년에 천만 원씩 올랐으니까, 이제 내 연봉은 업계에서 중상이다. 야근도 많지만, 야근을 야근이라고 생각하지 않는다. 취약점 찾다가 몰입하면 시간이 간다.
일반 QA와 보안 QA, 정말 뭐가 다를까?
일반 QA: 기능이 작동하는가를 테스트한다. 시나리오 기반. 긍정적 사고. 보안 QA: 기능을 어떻게 파괴할까를 테스트한다. 공격 기반. 부정적 사고.
예를 들면, 결제 시스템:
일반 QA 테스트 케이스:
- 상품 선택 → 결제 버튼 클릭 → 결제 완료 (성공)
- 금액 0원 입력 → 에러 메시지 표시 (성공)
- 카드 번호 미입력 → 에러 메시지 표시 (성공)
보안 QA 테스트 케이스:
- 결제 전에 amount 파라미터를 100원에서 1원으로 조작 (성공하면 취약점)
- 결제 API에 토큰 없이 직접 호출 (성공하면 인증 없음)
- 다른 유저의 결제 기록 접근 (성공하면 인가 우회)
- 결제 후 SQL Injection으로 거래 기록 조회 (성공하면 정보 유출)
- 결제 API를 1초에 1000번 호출 (성공하면 DDoS 가능)
난 지난 3년을 이런 식으로 살고 있다. 일반 QA는 “맞다/틀렸다”를 판단했다면, 보안 QA는 “찢을 수 있는가”를 판단한다.
앞으로
6년을 생각해보니 시간이 정말 빨랐다. 첫 달에 Burp Suite 앞에서 멍했던 나와 지금의 내가 같은 사람이 맞나 싶다. 지금 나는 모의해킹도 하고, CTF 대회도 나가고, 버그바운티도 한다. 입버릇이 “이 API 인증 없네?”가 됐다.
일반 QA에서 보안 QA로 전환한 게 인생 최고의 결정 중 하나다. 기술도 배웠고, 연봉도 올랐고, 무엇보다 일이 재미있어졌다.
근데 가끔 생각한다. 이 지식이 나쁜 데 쓰일 수도 있다는 걸. 내가 배운 모든 공격 기법은 방어에 써야 한다. 이게 화이트 해커와 블랙 해커의 차이다. 나는 후자가 되지 않기로 이미 정했다. 책임감이 있으니까.
앞으로 5년? 10년? 보안 쪽을 계속할 거 같다. 시장도 넓어지고 있고, 기술도 진화하고 있고, 뭐보다 나는 이 일을 좋아한다.
일반 QA에서 보안 QA로. 4년의 여정. 시작했을 때는 상상 못 했다.
나는 여전히 배우고 있다.
