
Sherlock 2.0은 은행·결제업체 거래 내역을 분석해 금융사기 의심 계정과 피해 가능성이 있는 계정을 찾고, 자금 흐름을 추적하는 단일 Java 파일 도구다. 제작자는 이번 버전에 분석 규칙 선택, 여러 피해자 자금의 개별 추적, 감사 기록과 보고서 기능 등을 추가했다. Sherlock 저장소
- CSV 거래 내역에서 계정·기기·IP 관련 신호를 분석하고, 피해자 보호 목록과 의심도 순위를 만든다.
- 거래 기록을 바탕으로 자금의 이동 경로를 추적하고, 텍스트·HTML 보고서와 그래프 데이터를 내보낸다.
- Java 11 이상이 필요하며 별도 빌드 단계는 없다. 제작자는 내장 자체 테스트에 59개 검사가 포함됐다고 설명한다.
입력 자료는 표준 CSV나 열 매핑 프로필을 적용한 은행 명세서 형식이다. Sherlock은 금액 형식과 시간대를 설정할 수 있고, 여러 파일을 불러올 때 송금인·수취인·금액·통화가 일치하는 거래를 중복으로 합칠 수 있다. 추적 규칙은 tainted-first, clean-first, fifo, prorata 중 선택하며, compare 명령으로 결과를 나란히 볼 수 있다.
버전 2.0에서는 거래 ID와 입력 파일·행 번호를 분석 결과에 연결하고, 입력·출력 파일의 SHA-256 해시와 명령 실행 기록을 감사 로그에 남기도록 했다. 새 탐지 항목에는 피해 가능성, 계정 탈취, 휴면 계정의 재활성화, 반복 금액 등이 포함된다. 점수는 탐지 유형별로 가장 높은 가중치만 반영하며, 피해자 보호 관련 결과는 의심 점수에 더하지 않는다.
Java 11 이상 환경에서는 다음과 같이 데모 데이터를 만들거나 분석을 시작할 수 있다.
java Sherlock.java demo demo.csv # write a demo case (investment scam + mule layering)
java Sherlock.java demo.csv # interactive shell
java Sherlock.java demo.csv analyze # one-shot: any command can follow the file names
java Sherlock.java selftest # run the known-answer tests
Sherlock은 수사 단서만 제공하며 증거를 입증하지 않는다. 제작자는 모든 결과를 은행이나 결제업체의 원본 기록과 대조하고 해당 기관의 증거 처리 절차에 따라야 한다고 명시한다. 결과는 불러온 자료 범위에 한정되므로, 자금이 더 이동했더라도 해당 거래 기록이 없으면 추적되지 않을 수 있다. 탐지 임계값은 휴리스틱이며, 공유 IP는 그 자체로 약한 증거다. 혼합 자금 추적에 적용되는 법적 기준도 다를 수 있어, 특정 추적 규칙의 결과에 의존하기 전에 검찰과 확인해야 한다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요