Skip to content

Security: devgyurak/pykorail

Security

SECURITY.md

보안 정책

취약점 신고

공개 이슈로 올리지 마세요. 비공개 보안 권고 로 알려 주세요 — GitHub 이 비공개로 처리하고, 수정 뒤 함께 공개할 수 있습니다.

알려 주시면 좋은 것:

  • 어떤 버전에서 재현되는지
  • 재현 절차 (자격증명은 가려 주세요)
  • 예상되는 영향

가능한 한 빨리 확인하고 회신하겠습니다. 메인테이너가 1인이라 즉시 답하기 어려울 수 있는 점 양해 부탁드립니다.

지원 버전

가장 최신 릴리스만 보안 수정을 받습니다. 이 프로젝트는 코레일 서버 변경을 따라가야 하므로, 오래된 버전은 보안과 무관하게 동작 자체가 멈출 수 있습니다.

이 라이브러리를 쓸 때 주의할 것

자격증명

  • 소스에 아이디·비밀번호를 적지 마세요. 환경변수를 쓰세요.

    import os
    
    korail = Korail.logged_in(os.environ["KORAIL_ID"], os.environ["KORAIL_PW"])
  • 실험용 스크립트에 자격증명을 넣었다면 커밋 전에 지우세요. 한 번 커밋되면 되돌려도 git 이력에 남습니다. 저장소는 a.py · scratch*.py · local/ 을 .gitignore 로 막아 두었습니다.

  • CI 는 Trivy 로 시크릿 스캔을 돌립니다.

로그

verbose=True 는 요청·응답 본문을 그대로 로그에 남깁니다. 응답에는 이름·이메일· 전화번호·회원번호·예약번호가 들어 있습니다.

운영 환경에서 켜지 마세요. 이슈에 로그를 붙일 때도 반드시 가려 주세요.

카드 정보

Card 는 repr 에서 카드번호 뒤 4자리만 남기지만, 필드에는 원본이 그대로 있습니다. 직렬화하거나 로깅할 때 주의하세요.

이 패키지가 하지 않는 것

  • 자격증명을 어디에도 저장하지 않습니다 (메모리에만 둡니다).
  • 코레일 서버 외 어디로도 데이터를 보내지 않습니다.
  • 텔레메트리·사용 통계를 수집하지 않습니다.

범위 밖

  • 코레일 서비스 자체의 취약점 — 코레일에 직접 알려 주세요. 이 저장소는 비공식 클라이언트일 뿐입니다.
  • 탐지 우회 방법 문의 — 이 프로젝트는 앱과 같은 요청을 보내는 것이 목적이고, 차단 회피 기법을 개발하거나 안내하지 않습니다.

There aren't any published security advisories