yuhuangerdi/InduSecAgent
Vue0 / 0
ISTG와 GNN으로 PLC 데이터 이상탐지·추적·대응
TL;DR
이 레포는 산업 제어 시스템(ICS)용 이상탐지와 공격 추적을 위한 통합 데모 플랫폼으로, Vue 기반 웹 콘솔과 Python(FastAPI)+PyTorch 계층의 모델 학습·추론·실시간 수집 스택을 함께 제공합니다. ISTG(Industrial Spatio-Temporal Graph)를 생성해 GNN으로 시공간 재구성 오류 기반 이상점수와 전파 경로를 산출하는 방식이며 PLC 연동을 위한 python-snap7을 포함해 실시간 모니터링 루프를 구성할 수 있습니다. 빠르게 기능을 확인하려면 로컬에서 프론트엔드와 백엔드를 띄워 데모를 돌려보면 되고, 상용 환경 도입 전에는 데이터·체크포인트 정합성, 네트워크 격리, 그리고 명시되지 않은 라이선스 문제를 반드시 해결해야 합니다.
핵심 포인트
- 레포는 standalone 플랫폼 형태로 프론트엔드(Vue 3, TypeScript, Vite)와 백엔드(Python, FastAPI) 및 모델 학습 코드를 통합해서 제공하고 있습니다. 프론트엔드는 로컬 개발서버로 빠르게 띄워 데모 흐름을 확인할 수 있고 백엔드는 API(기본 http://127.0.0.1:8000)를 통해 동기·비동기 감지 작업을 수신하도록 설계되어 있습니다. PLC 실환경 접속 전에는 반드시 격리된 테스트 네트워크에서 검증하라는 보안 권고가 포함되어 있어 운영 연동 시 절차를 갖춰야 합니다.
- 입력 데이터를 Industrial Spatio-Temporal Graph(ISTG)로 통합하여 Graph Neural Network 기반으로 시공간적 재구성 오류와 이상 점수를 산출하는 파이프라인을 갖추고 있습니다. 입력으로 산업 플로우 이미지, 공정 문서, PLC 점位 설명, 정상 시계열 데이터 등을 허용하며 CSV·XLSX·이미지·문서류를 직접 업로드해 그래프 생성을 시작할 수 있습니다. 이러한 멀티모달→ISTG→GNN 흐름은 이상 노드 위치 추적과 전파 경로 역추적(traceback)을 가능하게 해서 원인 분석과 연동 대응 근거를 제공합니다.
- 실행 요건과 구성 방식은 문서에 구체적으로 명시되어 있어 개발자 환경 준비가 명확합니다. Node.js 20.19+/22.12+와 Python 3.10+를 요구하고 프론트엔드는 VITE_DETECTION_API_URL로 백엔드 주소를 바꿀 수 있으며 백엔드는 uvicorn으로 기본 8000 포트를 사용하도록 안내되어 있습니다. 모델 체크포인트·의존 그래프·특성 순서 일치가 필수로 표기되어 있어서 학습·추론 데이터 정합성 검증 절차를 준비해야 합니다.
- 프로덕션 도입 전 고려해야 할 실무적 제약이 분명히 존재합니다. 레포에 라이선스가 명시되어 있지 않아 코드 복제·수정·배포는 프로젝트 유지관리자 허가가 필요하며 이 점이 상용 도입을 가로막을 수 있습니다. 또한 PLC 통신을 위한 python-snap7 사용과 연동 기능이 포함되어 있으므로 실제 장비 연결 전 안전·권한·감시 체계를 구성해야 운영 리스크를 줄일 수 있습니다.
644
Stars
12
Forks
+207
Trending
0
조회수
644 watchers0 open issues
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.