[개발 프로젝트 소개] AiKKCU NetShield — 내 Wi‑Fi는 정말 안전할까?
스마트폰을 켜면 집에서는 공유기, 회사에서는 사내 Wi‑Fi, 밖에서는 카페나 숙소의 무선 네트워크에 연결됩니다. 여기에 TV, NAS, 프린터, CCTV, 각종 IoT 기기까지 더해지면 하나의 네트워크 안에 생각보다 많은 장비가 존재합니다.
문제는 지금 어떤 장비가 연결되어 있는지, 공유기 설정은 안전한지, 외부에 노출될 가능성이 있는 포트는 없는지 일반 사용자가 확인하기 어렵다는 점입니다.
그래서 현재 연결된 네트워크를 스마트폰에서 간단히 점검하고, 복잡한 결과는 AI가 이해하기 쉬운 말로 설명해 주는 안드로이드 앱을 만들었습니다.
이름은 AiKKCU NetShield입니다.

Scan. Detect. Protect.
네트워크를 스캔하고, 위험 요소를 찾고, 필요한 대응 방법을 안내합니다.
왜 만들었나
네트워크 관리 업무를 하다 보면 ping, 포트 스캔, 게이트웨이·DNS 확인처럼 익숙한 작업도 일반 사용자에게는 상당히 어렵다는 것을 자주 느낍니다.
보안 앱도 대부분 결과를 기술 용어로만 보여줍니다. “80번 포트가 열려 있다”, “암호화 방식이 취약하다”는 정보를 보여주는 것만으로는 사용자가 무엇을 해야 하는지 알기 어렵습니다.
제가 필요했던 것은 다음과 같은 앱이었습니다.
- 현재 연결된 Wi‑Fi와 네트워크 상태를 한눈에 확인할 것
- 같은 네트워크에 연결된 장비를 찾아볼 수 있을 것
- 열린 포트와 취약한 설정을 기반으로 위험도를 판단할 것
- 진단 결과를 기술 용어가 아닌 실제 대응 방법으로 설명할 것
- 과거 결과와 비교해 네트워크 상태의 변화를 확인할 것
기존 네트워크 도구의 기능에 생성형 AI의 설명 능력을 더하면, 보안 지식이 많지 않은 사용자도 자신의 네트워크 상태를 이해할 수 있겠다는 생각에서 시작했습니다.

AiKKCU NetShield에서 할 수 있는 일
1. 네트워크 스캔과 기본 상태 확인
앱을 실행하면 현재 연결된 네트워크를 기준으로 진단을 시작합니다.
- 연결된 Wi‑Fi 정보
- 로컬 IP와 공유기 IP
- DNS 서버
- 네트워크 응답 상태
- 동일 서브넷의 활성 장비
- 장비별 접근 가능한 포트
진행 상황은 레이더가 주변 장비를 탐색하는 형태로 표현했습니다. 단순히 로딩 아이콘을 보여주는 대신, 현재 어떤 작업을 수행 중인지 사용자가 직관적으로 이해하도록 구성했습니다.
2. 취약점 탐지와 보안 점수
발견한 장비와 네트워크 정보를 토대로 잠재적인 위험 요소를 분석합니다.
예를 들면 다음과 같습니다.
- 불필요하게 열려 있는 포트
- 외부 공격에 자주 악용되는 서비스 포트
- 취약하거나 오래된 Wi‑Fi 암호화 방식
- 기본 계정 사용 가능성이 있는 네트워크 장비
- 보안 설정 확인이 필요한 공유기 및 IoT 기기
결과는 항목만 나열하지 않고 0~100점의 보안 점수로 정리했습니다. 점수가 모든 보안 상태를 절대적으로 보장하는 것은 아니지만, 이전 결과와 비교해 상태가 좋아졌는지 나빠졌는지 확인하는 지표로 활용할 수 있습니다.
3. Gemini 기반 AI Security Advisor
이번 앱에서 가장 중요하게 생각한 기능입니다.
스캔 결과만 보여주면 결국 사용자가 다시 검색해야 합니다. AiKKCU NetShield는 발견된 장비와 취약점 정보를 정리해 Gemini AI에 전달하고, 현재 상황에 맞는 보안 진단과 조치 방법을 생성합니다.
예를 들어 80번 포트가 발견되었다면 단순히 “위험”이라고 표시하는 대신 다음 내용을 설명하는 방식입니다.
- 해당 포트가 일반적으로 어떤 용도로 사용되는지
- 실제로 문제가 될 수 있는 조건은 무엇인지
- 공유기 또는 장비에서 무엇을 확인해야 하는지
- 즉시 조치할 항목과 장기적으로 개선할 항목은 무엇인지
한국어·영어·일본어를 지원하며, 사용자의 언어 설정에 맞춰 분석 결과를 제공합니다.
다만 AI가 생성한 내용은 보안 전문가의 정밀 진단을 완전히 대체하지 않습니다. 앱은 위험을 빠르게 발견하고 사용자가 다음 행동을 결정하도록 돕는 1차 점검 도구를 목표로 합니다.
4. 로컬 허니팟 기반 위협 감시
네트워크 스캔이 특정 시점의 사진이라면, 침입 감지는 네트워크의 움직임을 지켜보는 기능입니다.
AiKKCU NetShield는 사용하지 않는 주요 포트에 로컬 서버 소켓을 열어 두고, 해당 포트로 비정상적인 접근이나 포트 스캔 시도가 발생하는지 감시합니다. 현재 감시 대상으로 사용하는 포트는 다음과 같습니다.
8080, 8443, 9000, 9999
정상적인 앱 사용 중에는 접근할 이유가 적은 포트이므로, 반복적인 연결 시도가 감지되면 네트워크 내부의 스캔이나 의심스러운 접근 가능성을 사용자에게 알립니다.
이 기능 역시 방화벽이나 전문 IDS/IPS를 대체하는 것은 아닙니다. 안드로이드 기기 안에서 확인할 수 있는 범위의 접근 정황을 탐지하는 가벼운 허니팟 기능입니다.
5. 스캔 이력 관리
한 번의 결과보다 중요한 것은 변화입니다.
집에 새로운 IoT 기기를 설치하거나 공유기 설정을 변경한 뒤, 이전보다 열린 포트가 늘어나거나 보안 점수가 낮아졌는지 확인할 수 있도록 스캔 결과를 저장합니다.
이력은 안드로이드의 Room Database를 이용해 기기 내부에 보관합니다. 별도의 외부 계정이나 원격 데이터베이스 없이 과거 결과를 조회할 수 있도록 구성했습니다.
화면 구성
앱은 네 가지 영역으로 구성했습니다.
| 메뉴 | 역할 |
|---|---|
| Scan Console | 현재 네트워크 및 서브넷 진단 |
| Threat Hunter | 허니팟 기반 접근 감시 |
| Scan History | 과거 스캔 결과와 보안 점수 확인 |
| Security Guide | 취약점 설명과 보안 강화 가이드 |
전체 UI는 Jetpack Compose와 Material Design 3를 기반으로 구현했습니다. 보안 앱 특유의 복잡한 느낌은 줄이고, 어두운 배경과 시안 계열 포인트 색상을 사용해 정보와 상태 변화가 눈에 들어오도록 디자인했습니다.



개발하면서 느낀 점
AI를 붙였다고 해서 네트워크 보안 앱이 자동으로 정확해지는 것은 아니었습니다.
가장 어려운 부분은 스캔 데이터를 많이 수집하는 것이 아니라, 어떤 정보가 실제 위험을 의미하는지 구분하고 사용자에게 과장 없이 전달하는 것이었습니다. 열린 포트 하나만으로 취약하다고 단정할 수 없고, 같은 포트라도 장비의 종류와 네트워크 구성에 따라 의미가 달라집니다.
그래서 규칙 기반 진단으로 기본 위험 요소를 먼저 정리한 뒤, AI는 그 결과를 해석하고 대응 절차를 설명하는 역할에 집중시켰습니다. 탐지는 코드가, 설명은 AI가 맡는 구조입니다.
또한 모바일 환경에서는 데스크톱용 네트워크 도구와 달리 운영체제 권한, 백그라운드 실행 제한, 배터리 사용량을 함께 고려해야 했습니다. 기능을 많이 넣는 것보다 실제 스마트폰에서 무리 없이 반복 사용할 수 있도록 비동기 처리와 로컬 저장 구조를 다듬는 작업이 중요했습니다.
앞으로 추가하고 싶은 기능
현재 버전은 네트워크를 빠르게 확인하고 이해하는 데 초점을 맞추고 있습니다. 앞으로는 다음 기능을 보강하려고 합니다.
- 장비 제조사와 기기 유형 식별 정확도 개선
- 이전 스캔과 비교한 신규 장비 탐지
- 보안 점수 변화 추이 시각화
- 공유기별 보안 설정 가이드 확장
- 오탐을 줄이기 위한 포트·서비스 판별 개선
- AI 진단 결과의 근거와 신뢰도 표시
특히 “이 장비가 왜 새로 나타났는지”, “지난 검사 이후 무엇이 바뀌었는지”를 한눈에 확인할 수 있는 지속적인 모니터링 기능을 발전시킬 계획입니다.
플레이스토어에 등록하려하니, 사업자번호가 필요해서 아직 출시는 못한 상태입니다. 출시는 조금만 기다려주세요...