악성 npm 패키지의 개별 행위는 하나씩 보면 평범합니다. Hechi는 실행 계보와 행위 시퀀스를 커널·유저스페이스·그래프 세 층에서 엮어 의도를 드러냅니다.
커널은 마이크로초 단위로 차단하고, 유저스페이스는 속도를 늦추지 않고 분석합니다. 유저스페이스는 커널 판정을 다시 내리지 않습니다.
커널 정책은 BPF 맵에 설치되고, 유저스페이스 룰은 보강된 이벤트를 평가합니다. 두 세계는 절대 섞이지 않습니다.
모든 이벤트는 탐지 전에 영속 로그에 먼저 기록됩니다 — 재생·상관분석·그래프의 진실의 원천입니다.
의심 패턴을 잡되 known-good(레지스트리·내부망)을 빼냅니다. 정상 설치는 통과하고, C2 연결만 걸립니다.
커널이 사실을 스탬프하고, 유저스페이스가 맥락을 붙여 라우팅하며, 그래프 모델이 애매한 세션을 판별합니다.
프로세스 트리, LSM/kprobe 후크, DNF 정책. syscall 시점에 행위를 관측하고 LOG / DENY / KILL을 스탬프합니다.
정규화 → 계보 복원 → 룰(R7) → 상관분석 → 라우팅. 모든 이벤트를 먼저 로그에 적고 탐지합니다.
gnn_gated 세션은 정상 기준 그래프 모델로 보내져 이탈도를 점수화하고, 악성은 LLM이 설명합니다.
하나하나는 정상처럼 보이는 행위가 0.4초 안에 연쇄되면 공격이 됩니다. 각 단계에서 어느 층이 작동하는지 보세요.
왼쪽 큐에서 세션을 선택하면 라우팅, 룰·GNN 판정, 세션 타임라인, 프로비넌스 그래프가 오른쪽에 표시됩니다.
gnn_gated로 분류된 애매한 세션은 프로비넌스 그래프로 변환되어, 정상 설치만으로 학습한 모델이 이탈도를 점수화합니다.
수천 개의 정상 npm 설치 그래프로만 학습합니다 — 악성 라벨이 필요 없습니다.
그래프 레벨로 세션을 1차 선별하고, 노드 레벨로 어떤 프로세스·파일이 수상한지 특정합니다.
악성으로 판정되면 서브그래프와 함께 LLM이 행위 흐름을 설명하고 정책 업데이트를 제안합니다.
Hechi는 커널 인터페이스부터 프로비넌스 핸드오프까지 네 역할로 나뉩니다.
팀 ThisPatch — 멤버 이름을 여기에 채워 넣으세요.