쿼리 명령어
쿼리로 조사하기
화면으로 하는 조사에는 한계가 있습니다. 여러 호스트를 가로질러 같은 조건을 확인하거나, 찾아낸 것을 다른 질의 결과와 엮어 보려면 쿼리가 필요합니다.
이 앱이 더하는 명령어는 조사 중 표시를 남기고, 나중에 표시된 것만 다시 모으는 일을 쿼리 안에서 할 수 있게 합니다. 사람이 하든 AI 에이전트가 하든 흐름은 같습니다 — 질의로 조사하고, 판단한 것에 태그를 남기고, 태그된 것을 모아 타임라인을 만듭니다.
레코드 키
태그는 레코드 하나에 붙습니다. 그 레코드를 가리키는 이름이 레코드 키이고, 형식은
테이블명_yyyyMMdd_레코드ID입니다.
화면에서는 상세 패널이 보여주고, 조회 결과에는 _record_key 필드로 들어 있습니다.
태그 달기 — forensic-tag
레코드 하나에 태그와 메모를 남깁니다.
| 옵션 | 필수 | 내용 |
|---|---|---|
key | 필수 | 레코드 키 |
color | 필수 | 1 블랙리스트 · 2 경고 · 3 즐겨찾기 |
comment | 선택 | 왜 표시했는지 |
같은 레코드에 같은 색으로 다시 실행하면 태그가 늘지 않고 메모만 갱신됩니다. 다시 읽고 판단을 다듬는 것은 태그를 하나 더 다는 일이 아니기 때문입니다.
작성자는 쿼리를 실행한 계정으로 기록되며, 화면에서 단 태그와 같은 자리에 남습니다. 상세 패널의 태그 목록 탭에서 그대로 보입니다.
다른 회사의 레코드 키를 주면 찾을 수 없다는 오류가 납니다.
태그 해제 — forensic-untag
| 옵션 | 필수 | 내용 |
|---|---|---|
key | 필수 | 레코드 키 |
color | 선택 | 지정하면 그 색만, 생략하면 전부 |
지운 개수를 removed 필드로 돌려줍니다.
태그된 것 모으기 — forensic-tags
표시해 둔 레코드를 조회합니다.
| 옵션 | 필수 | 내용 |
|---|---|---|
type | 필수 | artifact 또는 로그 스키마 코드(reg, winevent 등) |
campaign-guids | 선택 | 프로젝트 GUID 목록 |
host-guids | 선택 | 호스트 GUID 목록 |
tables | 선택 | 테이블 이름 목록. 주면 위의 두 필터를 무시합니다 |
출력은 record_key, color, comment, user_name, created_at, updated_at입니다. 메모와
작성자가 함께 나오므로, 어느 레코드를 표시했는지뿐 아니라 왜 표시했는지를 그대로 읽을 수
있습니다.
한 레코드에 색이 여럿이면 가장 심각한 것 하나로 나옵니다. 화면의 별표와 같은 기준입니다.
침해지표 대조 — match_forensic_*
관리 → 침해지표에 등록해 둔 값과 필드를 대조하는 함수입니다.
| 함수 | 대조 대상 |
|---|---|
match_forensic_md5(필드) | MD5 |
match_forensic_sha1(필드) | SHA1 |
match_forensic_domain(필드) | 도메인 |
match_forensic_ip(필드) | IP 주소 |
지표 목록은 쿼리를 파싱할 때 한 번 읽습니다. 실행 중에 새로 등록한 지표는 그 쿼리에 반영되지 않으므로, 등록한 뒤에는 쿼리를 다시 실행하세요. 대조하는 범위는 쿼리를 실행한 계정의 회사입니다.
match_forensic_ip는 IP 타입 값을 받습니다. 문자열 컬럼이라면 ip(...)로 감싸 넘기세요.
이미지 목록 — forensic-images
회사의 증거 이미지를 행으로 내보냅니다. 이미지 단위 테이블은 이름에 이미지 번호만 들어 있어 어느 사건의 것인지 알 수 없으므로, 테이블명에서 번호를 뽑아 이 명령어와 조인하면 캠페인·호스트 이름을 붙일 수 있습니다.
출력은 id, guid, campaign_guid, campaign_name, host_guid, hostname, type,
file_name, zip_size, status, created_at, imported_at입니다.
그 밖의 명령어
| 명령어 | 쓰임 |
|---|---|
forensic-extract-indicators | 적재 쿼리 꼬리에 붙어 통과하는 모든 값에서 침해지표를 뽑아냅니다. 임포트가 자동으로 붙이므로 직접 쓸 일은 없습니다 |
forensic-add-host-partition | 증거에서 발견한 파티션을 호스트에 기록합니다. 증거 유형의 적재 쿼리에서 호출됩니다 |
열어 둔 수집기를 찾으므로, 임포트 바깥에서 실행하면 실패합니다.
태그로 타임라인 만들기
조사하며 남긴 표시를 모아 사건의 흐름을 다시 읽는 것이 이 명령어들의 목적입니다.
forensic-tags type=artifact campaign-guids="8c1d3e70-2b9a-4f6c-8e15-3d7a6b2c9f41"
| search color == 1
| sort created_at
| fields created_at, record_key, comment, user_name
빨간 태그만 추려 표시한 순서대로 늘어놓은 것입니다. 메모가 함께 나오므로 무엇을 왜 침해로 판단했는지가 한눈에 들어옵니다.
여기에 원본 레코드의 시각을 붙이려면 record_key로 해당 테이블과 조인합니다. 표시한 순서가
아니라 사건이 일어난 순서로 보고 싶을 때 그렇게 합니다.