Integrated System
흩어진 리소스를
하나의 플랫폼으로
소스코드에 하드코딩된 2,000개 이상의 취약점 검출 룰을 DB화하고, AI 기반 태그 추출과 다중 매칭 알고리즘으로 보안 레퍼런스 지원율을 자동 산출하는 사내 통합 관리 시스템입니다.
역할
기획 · 와이어프레임 · 프론트엔드 개발
기간
2025.05 ~ 2025.11
팀 구성
프론트 3명 · 백엔드 1명 · 기획/디자인 1명
Overview
어떤 시스템인가요?
취약점 검출 솔루션의 핵심 리소스인 룰·룰팩·보안 레퍼런스를 중앙에서 관리하는 사내 플랫폼입니다. 기획부터 디자인, 개발, 배포까지 사내 TF로 구성된 팀이 전 과정을 주도했습니다.
페이지 구조
PAGE 01
체커 페이지
취약점 검출 룰(Checker)을 조회·수정·삭제할 수 있는 페이지. AI가 추출한 태그를 확인하고 직접 편집할 수 있습니다.
PAGE 02
룰팩 페이지
여러 체커를 묶은 룰팩(Rule Pack)을 관리하는 페이지. 룰팩 단위로 제품에 적용하거나 버전을 관리할 수 있습니다.
PAGE 03
레퍼런스 페이지
국내외 컴플라이언스 등 보안 레퍼런스를 관리하는 페이지. 체커와의 태그 매핑을 통해 지원율을 실시간으로 산출합니다.
Background
하드코딩의 한계,
중앙화의 필요성
산재해 있던 모든 제품의 리소스를 DB화하여 중앙 집중형으로 관리하자는 목표로 프로젝트를 시작했습니다. 컨설팅팀, 엔진개발팀, 취약점연구팀 별 고충을 인터뷰하여 요구사항을 도출했습니다.
문제 01 — 하드코딩된 리소스
취약점 검출 룰에 대한 설명과 보안 레퍼런스가 소스코드 내에 하드코딩되어 있었습니다. 룰을 검색하거나 수정할 때마다 코드를 직접 확인해야 했고, 2,000개 이상의 룰을 관리하는 데 큰 비효율이 발생했습니다.
문제 02 — 지원율 계산 불가
국내외 컴플라이언스 등 보안 레퍼런스 대비 제품의 지원율을 수동으로 계산해야 했습니다. 데이터가 비정형 줄글 형태로 흩어져 있어 정확한 수치 산출이 사실상 불가능했고, 사업팀의 영업·마케팅 활동에도 지장을 주었습니다.
Process
인터뷰에서 배포까지,
전 과정을 주도하다
현장 인터뷰를 통한 요구사항 도출
컨설팅팀, 엔진개발팀, 취약점연구팀 등 사내 여러 팀과 심층 인터뷰를 진행했습니다. 각 팀의 실제 고충과 니즈를 수집하고 Notion으로 문서화하여 기능 요구사항을 정의했습니다. 주 사용자인 검출 룰 설계자와 고객을 응대하는 엔지니어의 공통 니즈인 "손쉬운 룰 검색 및 수정"을 핵심 요구사항으로 반영했고, 사업팀의 의견을 수렴하여 "보안 레퍼런스 지원율 자동 계산" 기능을 추가로 기획했습니다.
와이어프레임 설계 및 일감 관리
Figma를 활용해 체커·룰팩·레퍼런스 3개 페이지의 와이어프레임을 구축했습니다. 각 페이지의 목록 조회, 상세 조회, 수정, 삭제 흐름을 시각화하여 팀 전체가 동일한 맥락을 공유할 수 있도록 했습니다. Jira로 일감을 관리하여 기능 단위로 브랜치를 생성하고, 개발 완료 후 MR을 통한 코드 리뷰를 진행해 코드 품질을 유지했습니다.
컴포넌트 설계 및 기능 구현
React + Next.js + shadcn/ui + Tailwind 스택으로 페이지와 컴포넌트를 개발했습니다. Storybook을 통해 컴포넌트 설계 화면을 팀원과 공유하며 UI 일관성을 확보했습니다. GraphQL 기반 API 통신 환경에서 TanStack Query로 서버 상태를 관리하고, 각 페이지의 CRUD 기능과 실시간 지원율 산출 UI를 구현했습니다.
배포 및 에러 모니터링 도입
제품 릴리즈 이후 Sentry를 도입하여 프론트엔드 에러 로그를 실시간으로 추적할 수 있는 환경을 구축했습니다. 배포 후 발생하는 예외 상황을 빠르게 감지하고 대응할 수 있어 서비스 안정성을 높였습니다.
AI
AI로 불가능을
가능하게
On-premise Llama 모델로 비정형 룰 데이터를 정형화하고, 다중 태그 매칭 알고리즘으로 보안 레퍼런스 지원율을 자동 산출했습니다. 기존에는 수동으로 계산이 불가능했던 지표를 실시간으로 제공합니다.
On-premise Llama로 비정형 데이터 정형화
2,000개에 달하는 취약점 검출 룰의 설명은 사람이 작성한 비정형 줄글 형태였습니다. 핵심 키워드를 일일이 추출하기에는 한계가 있었고, 이를 해결하기 위해 AI를 도입했습니다. 보안 솔루션의 핵심 리소스인 검출 룰의 외부 유출을 차단하기 위해 외부 클라우드 API 대신 사내 GPU 서버에 Ollama를 활용하여 Llama 모델을 직접 구축(On-premise)했습니다. JSON Mode를 활성화하여 모델이 일관된 구조의 데이터를 반환하도록 했습니다.
다중 태그 매칭 알고리즘으로 지원율 자동 산출
추출된 룰별 태그와 보안 레퍼런스의 메타데이터를 비교하는 다중 태그 매칭 알고리즘을 설계했습니다. 단일 키워드 매칭의 낮은 정확도를 보완하고자 체커의 복잡도에 따라 임계치를 달리 적용했습니다. 단순한 체커는 태그 3개 이상 일치 시, 복잡한 체커는 6개 이상 일치 시 매핑되도록 설계하여 데이터 신뢰도를 높였습니다.
Result
개발과 사업 모두를
바꾼 플랫폼
제품 경량화
데이터 통합 및 리소스 최적화
소스코드 및 애플리케이션 취약점 검출 룰의 중복 데이터를 통합하여 제품 자체가 훨씬 가벼워지는 성능 향상을 달성했습니다.
불가능 → 실시간
보안 레퍼런스 지원율 자동 산출
기존에는 수동 계산이 불가능했던 보안 가이드라인 대비 제품 지원율을 실시간으로 산출할 수 있게 되었습니다. 사업팀의 영업·마케팅 의사결정을 돕는 핵심 데이터 기반 시스템으로 자리 잡았습니다.
AI 연동 기반
제품 고도화 및 확장성 확보
구축된 DB를 AI와 연동하여 취약점 검출 솔루션 고도화의 기반을 마련했습니다. 현재 개발·사업 부문 모두에서 없어서는 안 될 핵심 시스템으로 활용되고 있습니다.
Tech Stack
사용한 기술
프론트엔드
React
컴포넌트 기반 UI 구성
Next.js
프레임워크
TypeScript
타입 안전성 확보
Tailwind
유틸리티 기반 스타일링
shadcn/ui
공용 컴포넌트 라이브러리
데이터 & API
GraphQL
백엔드 API 통신
TanStack Query
서버 상태 관리
AI & 인프라
Ollama (Llama)
On-premise 모델 서빙 및 태그 추출
협업 & 모니터링
Storybook
컴포넌트 설계 공유
Sentry
에러 로그 모니터링
Figma
와이어프레임 설계
Jira
일감 및 브랜치 관리
