PanicLock - MacBook 덮개를 닫으면 Touch ID를 비활성화하고 비밀번호로만 잠금 해제하는 유틸리티
4 hours ago
1
- macOS 메뉴 바 유틸리티로 동작하며, 클릭·단축키·노트북 덮개 닫기만으로 화면을 잠그고 Touch ID를 일시 비활성화해 비밀번호 입력을 강제함
- 잠금 해제 후에는 기존 Touch ID 설정 자동 복원이 이뤄지며, 세션 종료나 시스템 종료 없이 비밀번호 전용 잠금 상태 전환 가능
- Lock on Close 옵션을 켜면 Mac 뚜껑을 닫는 즉시 Touch ID 비활성화와 화면 잠금이 실행되고, 비밀번호로 다시 로그인할 때까지 상태 유지
- 내부적으로 SMJobBless privileged helper와 bioutil, pmset 명령을 사용해 Touch ID 타임아웃 값을 바꾸고 화면 잠금을 수행하며, 최초 실행 시 관리자 비밀번호 입력 필요
- 네트워크 활동·텔레메트리·데이터 수집 없음, 오픈소스 공개, 최소 권한 원칙 적용으로 동작 범위와 검토 가능성이 분명한 도구임
프로젝트 개요
- macOS 메뉴 바 유틸리티 형태로, 한 번의 클릭이나 노트북 뚜껑 닫기로 화면을 잠그고 Touch ID 비활성화 수행
- macOS에 즉시 Touch ID를 끄는 내장 방식 부재 상황을 보완하며, 세션 종료나 시스템 종료 없이 비밀번호 전용 잠금 해제 상태 전환 가능
- 생체 인증의 편의성과 별개로, 특정 상황에서는 비밀번호 기반 보호가 필요한 경우를 전제로 동작
- 메뉴 바 버튼 1회 클릭
- 사용자 지정 단축키
- 뚜껑 닫기 시 자동 잠금
- 잠금 해제 이후에는 원래 Touch ID 설정 자동 복원
주요 기능
-
원클릭 패닉 잠금
- 메뉴 바 아이콘 클릭 또는 단축키 입력만으로 즉시 잠금 수행
-
Lock on Close
- 설정에서 활성화하면 Mac 뚜껑을 닫을 때 자동으로 화면 잠금과 Touch ID 비활성화 수행
-
Touch ID 임시 비활성화
-
자동 복원
- 잠금 해제 후 기존 Touch ID 설정 복구
-
전역 키보드 단축키
-
로그인 시 자동 실행
요구 사항
- macOS 14.0 Sonoma 이상 필요
- Touch ID 지원 Mac 필요
사용 방식
- 왼쪽 클릭 시 즉시 패닉 잠금 실행
- 오른쪽 클릭 시 메뉴 열기 동작
- Preferences
- Uninstall
- Quit
-
Lock on Close
- Preferences에서 활성화하면 Mac 뚜껑을 닫는 즉시 Touch ID 비활성화와 화면 잠금 수행
- 이 상태는 비밀번호로 다시 로그인할 때까지 유지
- 화면 보호기, 디스플레이 절전 등 다른 이유로 화면이 잠긴 경우에는 Touch ID가 평소처럼 계속 동작
-
최초 실행
- 처음 사용할 때 privileged helper 설치를 위해 관리자 비밀번호 입력 필요
- 해당 절차는 1회성 설정 형태
동작 방식
- SMJobBless로 설치한 privileged helper를 통해 Touch ID 타임아웃 설정 변경 수행
- 동작 순서
- 현재 타임아웃 값을 bioutil -r -s로 읽기
- 타임아웃 값을 bioutil -w -s -o 1로 1초로 설정
- pmset displaysleepnow로 화면 잠금 수행
- 약 2초 후 원래 타임아웃 값 복원
- 이 유틸리티는 Touch ID만 비활성화함
- Apple Watch 잠금 해제
- 보안 키
- 기타 다른 잠금 해제 수단
- 위 방식이 활성화되어 있으면 해당 수단으로 Mac 잠금 해제 가능
보안
- 최소 권한 원칙 적용
- helper는 bioutil, pmset의 하드코딩된 3개 명령만 실행
- 코드 서명된 XPC 검증 사용
- helper가 연결하는 앱의 bundle ID, team ID, certificate 확인
-
네트워크 활동 없음
- 앱은 100% 오프라인으로 동작
- telemetry 및 analytics 미포함
-
데이터 수집 없음
- 저장 항목은 아이콘 스타일과 키보드 단축키 같은 환경설정만 해당
-
오픈소스
- 전체 코드 공개로 감사 가능
- Touch ID만 비활성화한다는 제한 다시 명시
- Apple Watch 잠금 해제, 보안 키 등 다른 방식이 켜져 있으면 계속 잠금 해제 가능
배포
- 릴리스 스크립트가 빌드, 서명, notarization, 패키징 처리
- 주요 특성
- Xcode 프로젝트에서 버전 자동 추출
- App Store 외부 배포용 Developer ID 서명
- Apple notarization 제출
- 배포용 notarized DMG 생성
- 버전별 build/release/<version>/ 디렉터리를 사용하는 병렬 notarization 지원
- 워크플로
- Xcode에서 MARKETING_VERSION 증가
- ./scripts/release.sh 실행 후 빌드 및 notarization 제출
- 이후 다시 실행해 상태 확인 및 승인 후 계속 진행
- 최종 산출물은 build/release/<version>/PanicLock-<version>.dmg
라이선스
기여
- 기여 환영 명시
- issue 또는 pull request 개방
-
Homepage
-
개발자
- PanicLock - MacBook 덮개를 닫으면 Touch ID를 비활성화하고 비밀번호로만 잠금 해제하는 유틸리티