자동화·AI 실무

비밀번호 없이 로그인 세션 유지하기 (브라우저 자동화)

낄리 2026. 9. 16. 18:00

브라우저 자동화로 로그인이 필요한 사이트를 다룰 때 가장 곤란한 지점이 로그인입니다. 계정 비밀번호를 스크립트에 넣는 건 보안상 최악이고, 2단계 인증이 걸리면 어차피 자동 로그인은 막힙니다. 이 글은 비밀번호를 코드에 넣지 않고 로그인 상태를 재사용하는 방법입니다.

왜 비밀번호를 스크립트에 넣으면 안 되나

비밀번호를 스크립트나 설정 파일에 두면 그 파일이 유출되는 순간 계정이 통째로 넘어갑니다. 암호화해서 저장해도 실행 시점에는 결국 복호화되어 메모리에 올라갑니다. 게다가 요즘 로그인은 소셜 계정을 거치는 경우가 많고 2단계 인증도 흔해서, 아이디와 비밀번호만으로는 자동 로그인 자체가 안 됩니다. 방향을 바꿔야 합니다.

핵심 발상: 이미 로그인된 브라우저를 빌린다

발상의 전환은 자동화 도구가 로그인을 대신하게 하지 않는 것입니다. 사람이 한 번 로그인해 둔 브라우저에, 자동화 도구가 나중에 붙어서 조작만 하게 만듭니다. 브라우저를 디버깅 포트를 열고 실행한 뒤, 사람이 그 창에서 직접 로그인합니다. 로그인 세션은 그 브라우저 프로필에 쿠키로 남습니다. 자동화 도구는 이 브라우저에 연결해서 이미 로그인된 상태를 그대로 씁니다.

이 방식의 장점은 2단계 인증을 자연스럽게 통과한다는 점입니다. 자동화가 로그인을 시도하지 않으니 인증 단계에서 막힐 일이 없습니다. 사람이 평소처럼 인증하면 그 결과인 세션만 자동화가 물려받습니다. 소셜 로그인이든 생체 인증이든, 사람이 할 수 있는 로그인이면 무엇이든 상관없습니다.

run browser with debugging port (dedicated profile)
  chrome --remote-debugging-port=9222
         --user-data-dir=dedicated_folder

-> human logs in once (2FA included)
-> session saved in the profile
-> automation attaches and operates only
   never sees the password

전용 프로필로 분리하는 이유

자동화용 브라우저는 평소 쓰는 브라우저와 프로필을 분리하는 것이 좋습니다. 전용 폴더를 프로필 경로로 지정하면 완전히 독립된 프로필이 만들어집니다. 이렇게 하면 자동화가 평소 브라우징에 영향을 주지 않고, 반대로 평소 브라우징의 확장 프로그램이나 탭이 자동화를 방해하지도 않습니다. 자동화 대상 사이트만 로그인해 두면 됩니다.

한 번 로그인하면 세션은 그 프로필에 남아서 다음 실행부터 자동으로 이어집니다. 세션이 만료되면 그때만 사람이 다시 로그인하면 됩니다. 사이트에 따라 다르지만 대개 수 주에서 수 개월은 유지됩니다.

주의할 점

이 방식에도 대가가 있습니다. 자동화가 도는 동안 그 브라우저와 PC가 켜져 있어야 합니다. 세션이 만료되면 자동화가 멈추고 사람의 재로그인을 기다려야 합니다. 그리고 디버깅 포트를 여는 것은 그 브라우저가 외부 프로그램의 제어를 허용한다는 뜻이므로, 포트를 외부에 노출하지 않도록 주의해야 합니다. 로컬에서만 접근하게 두는 것이 안전합니다.

그럼에도 이 구조는 비밀번호를 다루지 않는다는 점에서 크게 안전합니다. 자동화 도구가 계정 정보를 아예 모르기 때문에, 스크립트가 유출돼도 계정은 안전합니다. 다음 글에서는 이렇게 만든 자동화를 사람 개입 없이 주기적으로 실행하는 스케줄러 구성을 다루겠습니다.