# 하나의 저널. 네 가지 수집 모드. 여덟 가지 검증 수준.

Canonical page: https://phishdestroy.github.io/TgWitness/ko/guides/modes.html

모드, 시나리오 및 증거 수준

TgWitness 연결된 계정이 관찰한 내용을 기록합니다. 제3자는 독립적으로 신뢰할 수 있는 키를 기준으로 기록의 무결성을 검증할 수 있습니다.

[수집 모드](https://phishdestroy.github.io/TgWitness/ko/guides/modes.html#scope)[시나리오](https://phishdestroy.github.io/TgWitness/ko/guides/modes.html#scenarios)[증거 수준](https://phishdestroy.github.io/TgWitness/ko/guides/modes.html#levels)

3~5분 개요 · 가상의 예시 · 현재 구현 현황

1. **텔레그램**

   계정에서 확인 가능한 업데이트
2. **컬렉터**

   서로 연결된 레코드, 각각 서명됨
3. **검증자**

   신뢰할 수 있는 키 + 유지된 경계

`h₁ → h₂ → h₃ · Ed25519`무결성은 검증됩니다. 텔레그램의 출처와 메시지의 진실성은 별개의 문제입니다.

## 관찰 범위를 선택하십시오

세 가지 범위와 하나의 조사 사전 설정. 제외 항목 및 활성화된 소스 유형은 여전히 적용됩니다.

기본값**선택된 채팅**

기록

오직 수작업으로 선별된 출처만 사용합니다.

새로운 채팅

자동으로 추가되지 않습니다.

다음 중 선택하십시오

알려진 채널 또는 그룹 집합. 고정된 채팅 수용 인원은 명시되지 않았습니다.

**다음은 수행하지 않습니다** 이 도구는 다른 채팅을 탐지하지 않으며, 이전 기록을 소급하여 채우지도 않습니다.

계정 폴더**텔레그램 폴더**

기록

폴더 포함 항목 및 카테고리, 구성 시 제외 항목 및 보관된 채팅은 제외됩니다.

새로운 채팅

활성 채팅 일치; 1시간 이내의 폴더 변경 사항.

다음 중 선택하십시오

분석가는 이미 사건 폴더를 관리하고 있습니다. 전용 계정에서 수집 사실을 확인하십시오.

**다음은 수행하지 않습니다** 이 문서는 폴더의 변경되는 muted/read 조건은 적용되지 않습니다.

범위 확인**전체 계정**

기록

선택된 유형 내의 계정에서 볼 수 있는 채팅(비공개 대화 및 봇 포함).

새로운 채팅

첫 번째 업데이트가 제공되면 추가될 예정입니다.

다음 중 선택하십시오

사건에 참여하는 계정을 포함한 전용 관찰 계정.

**다음은 수행하지 않습니다** 이 도구는 자동으로 채팅에 참여하거나 소스 접근을 우회하지 않습니다.

전체 계정 사전 설정**조사 모드**

기록

모든 소스 유형, 자체 작업, 소스 프로필 및 새로 발견된 소스의 최근 200개 가시 메시지.

새로운 채팅

새로운 채팅이나 봇은 프로필과 기록 스냅샷을 부여받습니다.

다음 중 선택하십시오

패널을 통해 팀에 가입하거나 봇과 상호작용하십시오. 사전 설정을 검토하고 저장하십시오.

**다음은 수행하지 않습니다** 이 도구는 기존의 모든 채팅을 스냅샷으로 저장하지 않으며, 다른 클라이언트에서 누른 콜백을 관찰하지도 않습니다.

이 카드들은 실시간 수집기 제어 기능이 아닌 로컬 비교용입니다. 계정에 어떠한 변경도 가하지 않습니다.

**다음은 수행하지 않습니다** 어떤 모드에서도 비밀 채팅을 읽거나, 프로세스가 중지된 상태에서 기록하거나, 스스로 소스에 참여하거나, 요청된 범위를 넘어선 이전 기록을 검색해서는 안 됩니다. snapshot/export.

[자세히 보기](https://phishdestroy.github.io/TgWitness/ko/docs/reference/collection/)

## GitHub Actions로 수집 (미리 보기)

새 Telegram 로그인, 채팅 한 개, 암호화된 아카이브와 GitHub 출처 증명.

[수집 도우미 열기](https://phishdestroy.github.io/TgWitness/ko/docs/capture/)

## 기록되는 내용

전달되었거나 명시적으로 요청된 관측 결과만 기록에 포함됩니다. 출처가 불분명한 내용은 미상 상태로 남습니다.

 스위치 캡처 · 로컬 일러스트레이션새 메시지수정 사항삭제 사항반응회원 자격

패널은 작업 공간별로 이러한 스위치를 적용합니다. 스위치를 끄더라도 기존 기록은 유지되지만, 다시 켜도 누락된 이벤트는 복원되지 않습니다.

**이벤트 매트릭스: 저장된 자료 및 남아 있는 미해결 사항**

| 카테고리 | 저장됨 | 아직 알려지지 않음 |
| --- | --- | --- |
| 메시지 | 텍스트, ID, 발신자 메타데이터, 응답 컨텍스트 및 원본 업데이트 엔벨로프. | 제3자가 검증할 수 있는 텔레그램 서명은 없습니다. |
| 편집 | 이전 버전을 덮어쓰지 않고, 관찰된 모든 버전을 기록하십시오. | 편집 과정 중 일부 내용이 누락될 수 있으며, 발신자가 반드시 편집자인 것은 아닙니다. |
| 삭제 | 알림과 함께, 가능한 경우 이전에 저장된 텍스트도 포함하십시오. | 삭제자 및 정확한 작업 시간은 제공되지 않습니다. |
| 범위가 지정되지 않은 삭제 | 계정 수준의 공지; 알 수 없는 피어는 명시적으로 유지됩니다. | 추측 채팅은 허용되지 않습니다. 상관 관계 분석 시 가능한 경우 이전에 저장된 계정 범위 내 ID를 사용합니다. |
| 반응 | 전달된 카운터 및 표시된 최근 신원 정보. | 모든 리액터가 표시되는 것은 아니며, 이용 가능한 전체 목록을 확인하려면 별도의 쿼리가 필요합니다. |
| 회원 자격 | 전달된 서비스 메시지와 참가자 업데이트. | 역할과 채팅 유형은 가시성을 제한하며, 침묵이 부재를 의미하지는 않습니다. |
| 첨부 파일 | 원본 버전 설명자, 저장된 바이트, SHA-256 시도 결과. | 사라진 파일은 사용할 수 없을 수 있으며, 최신 버전이 이를 대체하지는 않습니다. |
| 이력 스냅샷 | 현재 표시된 메시지는 기록 관찰로 표시됩니다. | 이전 편집 내용과 삭제된 콘텐츠는 복원되지 않습니다. |
| 자신의 행동 | 발신 messages/edits 및 일치하는 응답 키보드 button_press 메타데이터. | 다른 텔레그램 클라이언트에서 호출된 콜백은 표시되지 않습니다. |
| 봇 버튼 | 콜백, URL, 웹 앱 및 요청 메타데이터는 메시지와 함께 유지됩니다. | URL 및 phone/location 요청은 텍스트이며, 자동으로 열리거나 실행되지 않습니다. |

### 기본 첨부 파일 제한

사진

20 MiB

동영상

100 MiB

파일

50 MiB

애니메이션

20 MiB

동영상 노트

50 MiB

음성

20 MiB

오디오

50 MiB

스티커

5 MiB

**다음은 수행하지 않습니다** 스위치는 내장된 메타데이터를 삭제하거나 운영 기록을 비활성화하지 않습니다. 캡처 기능은 텔레그램이 제공하지 않은 행위자를 식별하지 않습니다.

[자세히 보기](https://phishdestroy.github.io/TgWitness/ko/docs/reference/collection/)

## 보유한 권한만 사용하십시오

각 계정은 고유한 작업 공간, 저널, 서명 키, 경로 및 큐를 갖습니다.

### 전화번호 + 코드

이 기능을 활성화할 때는 2FA 를 입력하십시오.

### QR code

인증된 기기에서 스캔하십시오; 2FA 여전히 필요할 수 있습니다.

### Telethon .session

계정의 세션 파일을 가져옵니다.

### Pyrogram .session

지원되는 Pyrogram 세션 형식을 가져오십시오.

### TData ZIP

지원되는 데스크톱 계정은 하나이며, 설정된 경우 로컬 비밀번호가 적용됩니다.

### StringSession text

다음 내용을 붙여넣으십시오. Telethon StringSession.

### .session + .json

세션과 이에 상응하는 관련 메타데이터를 선택하십시오.

### 인증 키 HEX + DC ID

계정 인증 정보를 데이터 센터 식별자와 함께 가져오십시오.

**API pair**

사용자 정의 API 페어는 선택 사항입니다. 페어가 없는 경우, TgWitness 공용 페어 풀(공식 텔레그램 데스크톱의 페어 포함)을 사용합니다.

`Direct · SOCKS5 · HTTP CONNECT · MTProxy`MTProxy 는 실험적 기능이며, 내장된 공개 MTProxy 목록을 사용할 수 있습니다. 프록시 경로가 실패하더라도 직접 연결로 대체되지 않습니다.

한 대의 컴퓨터에 있는 두 개의 작업 공간은 두 명의 독립적인 증인이 아닙니다.

**다음은 수행하지 않습니다** import는 텔레그램 인증 절차를 우회하지 않으며, 2FA 지원되지 않는 세션 형식도 우회하지 않습니다. 계정은 여전히 애플리케이션 프로세스를 공유합니다.

[계정 형식](https://phishdestroy.github.io/TgWitness/ko/docs/reference/accounts/)

## 패널에서 작업하십시오

메시지를 보내거나 답장하고, 현재 봇 버튼을 누르고, 링크 미리보기를 저장한 다음, 명시적으로 채팅에 참여하거나 시작 매개변수를 사용하여 봇을 실행하십시오.

`interaction.preview``interaction.requested``interaction.result`

미리보기, 요청 및 결과 수신 확인은 서명됩니다. 버튼을 누르기 전에 서버는 메시지를 다시 가져오고, 변경된 키보드는 거부합니다. 반환된 콜백 텍스트와 URL은 기록된 컨텍스트로 유지됩니다.

**다음은 수행하지 않습니다** 웹 앱, 결제, phone/location 공유 또는 인라인 쿼리는 허용되지 않습니다. URL을 표시한다고 해서 해당 URL이 열리는 것은 아닙니다.

[자세히 보기](https://phishdestroy.github.io/TgWitness/ko/docs/reference/collection/)

## 복구 및 연속성

누락된 부분은 숨기지 않고 표시합니다.

### 저장된 위치에서 계속하기

재시작 후, 텔레그램은 놓친 업데이트를 요청받습니다. 유한한 보존 기간과 만료된 차이점들로 인해 공백이 발생할 수 있습니다.

### 표시된 메시지를 다시 확인하십시오

기본값: 우선순위 소스는 15분마다, 그 외 소스는 6시간마다. 결과에는 다음이 포함됩니다 message.recovered 및 message.missing_on_recheck.

### 읽기 coverage.json

서명된 내보내기 파일에는 관측 기간, 사유가 명시된 관측 공백 기간 및 관측되지 않은 ID가 포함됩니다. 재확인 시 누락된 기록은 삭제 알림이 아닙니다.

**다음은 수행하지 않습니다** 후속 히스토리 스냅샷은 서비스 중단을 지우지 않으며, 사라진 모든 버전을 복구하지도 않습니다. 저장된 커서는 저널 수락에 대한 무손실 확인이 아닙니다.

[자세히 보기](https://phishdestroy.github.io/TgWitness/ko/docs/reference/evidence/)

## 7단계. 각기 다른 질문들.

각 메커니즘은 한정된 질문에 답합니다. 외부 서비스는 별도로 구성하고, 해당 서비스의 신뢰 앵커는 수집기 외부에 유지하십시오.

1. ### 기록

   SHA-256 체인 + Ed25519 이벤트당; 첫 번째 previous_hash 64개의 0으로 구성됩니다.

   **제3자 검증** 고정된 수집기 키 하에서의 순서 지정 및 서명.

   **다음은 수행하지 않습니다** 이는 텔레그램의 출처나 완전성을 입증하지 않습니다.

   **검증 명령어**

   ```
   python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256
   ```
2. ### 컨테이너

   manifest.json 파일 해시를 나열하며; manifest.sig 이에 서명합니다. media.saved 첨부 파일 바이트를 이벤트에 바인딩합니다.

   **제3자 검증** 제공된 파일들은 서명된 매니페스트 및 미디어 수령증과 일치합니다.

   **다음은 수행하지 않습니다** 별도로 다운로드한 CSV, HTML 파일이나 스크린샷에는 서명하지 않습니다.

   **검증 명령어**

   ```
   python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256
   ```
3. ### 유지된 경계

   시작 시 체크포인트를 생성하고, 기본적으로 5분마다 체크포인트를 생성하며, 질서 있게 종료하십시오. 사본을 다른 곳에 보관하십시오.

   **제3자 검증** 후속 내보내기 결과는 이전에 유지된 길이 및 헤더와 일치하며, 롤백 여부를 감지할 수 있습니다.

   **다음은 수행하지 않습니다** 저널과 모든 보존된 체크포인트가 모두 대체된 경우는 감지하지 않습니다.

   **검증 명령어**

   ```
   python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256 --checkpoint checkpoint.json
   ```
4. ### 외부 시간

   증거 모드는 체크포인트를 전송합니다 SHA-256 를 RFC 3161 당국(FreeTSA, DigiCert) 및 OpenTimestamps 캘린더로 전송합니다.

   **제3자 검증** 검증된 TSA 응답은 해당 바이트의 생성 시점을 기록하며, 확인된 OpenTimestamps 증명은 해당 바이트를 비트코인에 고정시킵니다.

   **다음은 수행하지 않습니다** 이 문서는 미리 준비된 요청이나 처리 대기 중인 캘린더 수신 내역을 확정된 타임스탬프로 간주하지 않습니다.

   **검증 명령어**

   ```
   python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256 --tsa-ca trusted-ca.pem
   ots upgrade checkpoint.ots
   ots verify checkpoint.ots
   ```
5. ### 독립적인 위트니스

   호스트, 범위 지정된 읽기 전용 엔드포인트, 새로운 챌린지, 그리고 자체 key/journal 및 TGW1 채널 게시물을 구분하십시오.

   **제3자 검증** 이전에 수락된 헤드; 상태: ok, key_changed, 롤백, 포크, 무효 및 no_response.

   **다음은 수행하지 않습니다** 이는 하나의 수집기 호스트에 있는 두 개의 작업 공간을 독립적인 증인으로 만들지 않습니다.

   **검증 명령어**

   ```
   python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256 --witness witness.zip --witness-fingerprint WITNESS_SHA256 --channel result.json
   ```
6. ### 오프사이트 복제본

   S3- 호환되는 복사본은 AES-256-GCM; Object Lock 로 암호화된 호환 가능한 사본.

   **제3자 검증** 복원 기능은 저널, 체크포인트 및 보존된 미디어의 검증이 성공한 후에만 파일을 게시합니다.

   **다음은 수행하지 않습니다** 내보낸 키 없이는 복원하지 않으며, 저장소 응답을 확인하지 않고는 보존을 가정하지 않습니다.

   **검증 명령어**

   ```
   python -m tgwitness.replica restore --key-file KEY.json --out EMPTY_DIR
   ```
7. ### 출처 추적 실행

   서명된 실행 영수증: 소스 해시, 종속성 버전 및 프로세스 컨텍스트. 자체 보고.

   **제3자 검증** 서명 수집기가 자체 실행에 대해 보고한 내용.

   **다음은 수행하지 않습니다** 이 문서는 독립적인 프로세스 인증을 제공하지 않으며, 기록 전의 보안 침해 가능성을 배제하지도 않습니다.

   **검증 명령어**

   ```
   python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256
   ```

### 어떤 수준도 증명하지 못하는 것

모든 텔레그램 업데이트의 전달; 텍스트의 진실성; 발신자 ID가 실제 인물을 식별한다는 점; 기록 전 수집자의 보안 침해 부재; 법정에서의 증거 채택 가능성.

[독립적인 위트니스](https://phishdestroy.github.io/TgWitness/ko/docs/reference/witness/)

로컬 SHA-256 실험

### 레코드 2를 변경해 보십시오

다음 레코드는 이전에 저장된 링크를 유지합니다. 텍스트를 변경하면 레코드 2의 계산된 해시가 변경됩니다.

기록 2의 본문

기록 1`h1`64개의 0으로 시작합니다.

기록 2`h2`저장된 내용을 포함합니다. h1

기록 3`h3`저장된 내용을 포함합니다. h2

정적 예시: h2 “11:00에 만나자”를 다룹니다. 해당 텍스트를 변경하면 h2; 기록 3은 여전히 저장된 내용을 참조합니다. h2.

**전체 다이제스트를 확인하십시오**

저장된 기록 2 해시

`SHA-256(e₂)`

재계산된 레코드 2의 해시

`SHA-256(e₂)`

이 예제는 서명이 아닌 해시를 계산합니다. 실제 검증기는 모든 서명과 링크를 신뢰할 수 있는 키와 대조하여 확인합니다.

 [자세히 보기](https://phishdestroy.github.io/TgWitness/ko/docs/reference/how-it-works/)

## 증거를 통해 경로를 선택하십시오

가상의 상황. 관련 사건이 발생하기 전에 수집을 시작하고, 콘텐츠와 함께 경계와 공백도 그대로 보존하십시오.

### 채널의 결제 세부 정보가 변경됩니다

모드 → 이벤트

선택한 채팅 → 메시지, 수정, 삭제.

출력

해시 값을 기준으로 게시물 버전 및 첨부 파일을 관찰합니다.

검증

서명됨 ZIP + 보존된 체크포인트 + 검증된 TSA 응답.

**다음은 수행하지 않습니다** 한 번도 캡처된 적이 없는 원본은 복구할 수 없습니다.

### 사건 발생 후 메시지는 사라집니다

모드 → 이벤트

폴더 또는 전체 계정 → 모든 이벤트 카테고리.

출력

저장된 원본, 삭제 알림 및 누락된 부분.

검증

서명됨 ZIP + 독립적인 위트니스 저널.

**다음은 수행하지 않습니다** 행위자가 명시되지 않은 알림의 경우, 이를 통해 삭제자를 식별할 수 없습니다.

### 쇼핑 봇 조사하기

모드 → 이벤트

조사 사전 설정 → 버튼, 링크 미리보기 및 명시적인 봇 시작.

출력

서명된 상호작용 수신증, 반환된 콜백 및 저장된 프로필.

검증

서명됨 ZIP; 모든 문서를 다음을 기준으로 검증하십시오. ZIP.

**다음은 수행하지 않습니다** 이 도구는 봇 웹 앱을 열거나, 결제를 수행하거나, 다른 클라이언트의 콜백을 기록하지 않습니다.

### 참가자는 채팅마다 이름을 변경합니다

모드 → 이벤트

모든 범위 → 관찰된 sender/profile 메타데이터.

출력

숫자 ID별 이름/사용자 이름 이력, “또한 ~에 있음” 링크 및 추출된 단서.

검증

도큐멘트 JSON 서명된 내용과 대조하여 확인됨 ZIP.

**다음은 수행하지 않습니다** 이는 지갑, 휴대폰 번호와 유사한 문자열 또는 사용자 이름을 검증된 신원으로 전환하지 않습니다.

### 오프사이트 사본을 활용한 장기 관찰

모드 → 이벤트

모든 범위 → 증거 모드 및 S3 지원되는 복제본 Object Lock.

출력

암호화된 사본, 보존된 체크포인트 및 타임스탬프 응답.

검증

내보낸 키로 복원한 후, 원래 서버 없이 검증하십시오.

**다음은 수행하지 않습니다** 이는 독립적인 증인이나 별도로 보관된 복호화 키를 대체하지 않습니다.

[자세히 보기](https://phishdestroy.github.io/TgWitness/ko/docs/reference/investigation/)

## 검증 가능한 패키지를 전달하십시오.

서명된 원본, 독립적으로 보관된 키 지문, 관련 체크포인트 및 검증 결과를 제공하십시오.

- 서명됨 ZIP
- JSONL
- CSV
- HTML
- 체크포인트
- 수신 확인
- 채팅 내보내기: chat.json / chat.html
- 도큐멘트 JSON
- 비밀번호로 보호됨 AES-256 ZIP
- 여러 계정에 대한 별도의 내보내기
- 스트리밍 CLI: 5 GiB 기본 제한

```
python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256 --checkpoint checkpoint.json
```

검증기는 검사 대상인 아카이브가 아닌, 신뢰할 수 있는 사본에서 확보해야 합니다.

**다음은 수행하지 않습니다** 독립형 CSV 및 HTML 는 서명된 컨테이너가 아닙니다. 비밀번호는 전송의 기밀성을 보호할 뿐, 진위성을 보장하지는 않습니다. 여러 번 내보내더라도 계정 저널은 병합되지 않습니다.

[자세히 보기](https://phishdestroy.github.io/TgWitness/ko/docs/reference/evidence/)

## 제공된 아티팩트를 비교하십시오

서명, 타임스탬프 또는 위트니스 시스템이 추가되지 않은 기본 아티팩트. 스크립트와 로거는 구현에 따라 다르며, “부분적”이란 캡처되거나 가시적인 자료로만 제한됨을 의미합니다.

| 접근 방식 | 수정 / 삭제 | 서명 기록 | 외부 시간 | 독립적인 위트니스 | 다루는 범위 / 누락된 부분 | 작성자 없는 검증 |
| --- | --- | --- | --- | --- | --- | --- |
| 텔레그램 데스크톱 내보내기 | 일부 | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 |
| Telethon 스냅샷 스크립트 | 일부 | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 |
| 삭제 로거: 텍스트 로그 | 일부 | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 |
| 스크린샷 / 웹 캡처 | 일부 | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 |
| TgWitness 추가 설정 사항 포함 | 일부 | 예 | 예 | 예 | 일부 | 예 |

**다음은 수행하지 않습니다** 이 표는 모든 스크립트나 로깅 제품을 평가하는 것은 아닙니다. 선택적 시간 및 위트니스 검증을 위해서는 별도의 서비스와 신뢰 앵커가 필요하며, 그 어느 것도 ‘원본 진실’을 입증하지는 않습니다.

[자세히 보기](https://phishdestroy.github.io/TgWitness/ko/docs/reference/evidence/)

## 증거와 함께 한계를 유지하십시오

검증은 그 범위가 명확하게 유지될 때 유용합니다.

- 비밀 채팅은 사용할 수 없습니다.
- 프로세스가 중지된 동안에는 아무것도 기록되지 않으며, 복구 기능에는 한계가 있습니다.
- 검증된 기록이 그 내용이 사실이라는 증거는 아닙니다.
- 키를 보유한 운영자는 임의의 콘텐츠에 서명할 수 있습니다. 독립적인 증인과 타임스탬프는 나중에 내용을 대체하는 것을 제한할 뿐, 초기 캡처 시 부정행위를 방지하지는 않습니다.
- 주 계정이 아닌 전용 계정을 사용하십시오.
- 텔레그램은 요청량에 따라 계정을 제한할 수 있습니다.

**다음은 수행하지 않습니다** 어떤 모드나 증거 수준도 법적 증거 능력, 텔레그램의 완전한 전달, 또는 실제 신원을 입증하지 않습니다.

[설정 가이드](https://phishdestroy.github.io/TgWitness/demo/guide.html?lang=ko)[전용 계정](https://phishdestroy.github.io/TgWitness/ko/docs/dedicated-account/)[EVIDENCE.md](https://phishdestroy.github.io/TgWitness/ko/docs/reference/evidence/)[INVESTIGATION.md](https://phishdestroy.github.io/TgWitness/ko/docs/reference/investigation/)
