자동로그인 구현 실습을 통해 경험한 계정 보안 강화 시도

소개

처음에 스터디 때 제공받은 파이썬 파일 자체에는 하드코딩이 안 되어 있어서, 그 파일만 보면 문제없어 보였다. 하지만 실제로는 json 파일에 평문으로 저장되고 있었는데 그래서 Antigravity가 코드를 학습 데이터로 사용한다거나 혹시나 서버로 전송될 수도 있을 거 같다는 우려가 되어 보안상 좀 더 안전한 방법을 써보고 싶었다.

진행 방법

  • 어떤 도구를 사용했고, 어떻게 활용하셨나요?

    Claude, Antigravity

결과와 배운 점

  • 과정 중에 어떤 시행착오를 겪었나요?

    이런 경우의 보안에 대해 클로드에 물어보니 "환경변수"에 비밀번호를 저장하는 방법을 제안했었다. 근데 알고봤더니 이건 그냥 로컬에서 작업할 때의 경우에서 더 용이한 방법인 것 같았고 근본적인 해결은 아닌 듯 싶었다. 아래와 같이 하는 방법도 분명 최선은 아닐테지만 아이디 정보 보안을 보완해 보는 경험에 의의를 두려 한다.

  • 배운 점과 나만의 꿀팁을 알려주세요.

    [Claude가 제안해 준 내용]

    1. 비밀번호 암호화/복호화

    한국 남자와 여자 사진

    2. 세션 재사용 (매번 로그인하지 않고 쿠키 저장해서 재사용)

    [구현해 준 진행방식]

    1. 마스터 비밀번호 시스템

    - 프로그램 시작 시 한 번만 비밀번호 입력

    - 이 비밀번호로 모든 민감한 정보를 암호화/복호화

    - 작동 방식: 첫 실행 → 마스터 비밀번호 생성 → 이후 실행 시마다 입력 → 자동으로 모든 정보 복호화

class SecurityManager:
    """보안 관리자 클래스 - 암호화/복호화 담당"""
    
    def __init__(self):
        self.master_password = None
        self.cipher = None
        self.salt_file = "security.salt"
        
                .
                .
                .
    1. 세션 재사용 (쿠키 저장)

    - 네이버에 한 번 로그인하면 쿠키를 암호화해서 저장

    - 다음번엔 저장된 세션으로 자동 로그인

    - 세션 만료되면 자동으로 새로 로그인

    - 작동 흐름: 1차: 직접 로그인 → 쿠키 암호화 저장 / 2차: 저장된 쿠키로 자동 로그인 (비밀번호 입력 불필요) / 만료 시: 자동 감지해서 새로 로그인

class SessionManager:
    """세션 관리자 클래스 - 쿠키 저장/복원 담당"""
    
    def __init__(self, security_manager):
        self.session_file = "naver_session.dat"
        self.security_manager = security_manager

                .
                .
                .
  • 스터디 회고

    초반에 행여나 스터디가 블로그 자동화 툴 제작에 멀어지는 건가 싶어 염려되었지만 다행히 그렇지 않았고,스터디장님(박카스님)의 뛰어난 인사이트와 열정 덕분에 마케팅을 위한 블로그 자동화 툴 제작에 있어서 많은 걸 배울 수 있었다.

도움 받은 자료

박카스님의 마케팅 캡틴_자동로그인완성버전.py

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요