멀티 언어 라이브러리 크롤러 구축 & Java→Python 전환
여러 언어 생태계의 라이브러리·라이선스 정보를 수집하는 크롤러를 신규 개발·재구현해 데이터 커버리지를 8개 언어로 확장.
실제로 다룬 시스템과 문제 해결 과정을 항목별로 정리했습니다. 각 카드를 누르면 상세 페이지로 이동합니다.
여러 언어 생태계의 라이브러리·라이선스 정보를 수집하는 크롤러를 신규 개발·재구현해 데이터 커버리지를 8개 언어로 확장.
버전 테이블을 언어별로 분리하고 라이선스 매핑을 텍스트→DB(JSON)로 전환, 대용량 업서트 쿼리를 표준화.
CVSS만으로 부족한 "무엇부터 패치할지"를, 분석·탐지 점수와 CVSS 외 위협 요소로 재산정해 우선순위를 매기는 시스템 구축(국내 최초).
12종 주요 컨테이너 OS의 보안 권고안을 소스 특성(API·OVAL·Security Tracker)에 맞게 파싱해, 패치 버전까지 정확히 담은 취약점 데이터를 수집하도록 크롤러를 재설계.
오픈소스 라이브러리의 활성도 지표를 수집·점수화하고, 인기도에 따라 갱신 주기를 차등화해 한정된 크롤링 자원을 효율적으로 사용·최신성을 유지.
단일 프로세스로 얽혀 있던 취약점 수집 파이프라인을 2단계로 분리하고 DB 스키마를 정규화해 안정성·확장성·신뢰도를 끌어올린 재설계.
코드 유사성 분석 도구가 사실상 동일한 함수를 일관되게 식별하지 못하던 결함을, 다언어 심층 테스트로 원인을 규명하고 함수 내용 기반 해시 명명 로직으로 해결.
공신력 있는 공개 라이선스 호환성 매트릭스를 크롤러로 수집·정형화해, 두 라이선스 간 양립 여부를 사전에 식별·관리하는 데이터 기반을 구축.
다수 고객사 on-premise까지 복제되는 운영 MySQL을, 서비스 중단 없이 8.0 LTS에서 8.4 LTS 시리즈로 검증·롤아웃.
마스터 DB의 변경분(binary log)이 복제·고객사 on-premise로 전달되는 동기화 경로에서, 로그를 스크램블링해 전송 중 평문 노출을 차단.
혼재된 단일 DB 구조를 역할·컴포넌트 단위 인스턴스로 분리해 장애 격리·독립 확장·운영 책임을 명확히 한 재설계.
실사용 쿼리 95개를 EXPLAIN으로 분석해 불필요 인덱스를 정리하고 SQL을 튜닝하여 DB 용량을 2.6TB에서 1.2TB로 53.8% 절감.
복잡한 다중 테이블 조인과 외부 서비스 의존을 걷어내고, 라이선스 원문을 AI로 분석해 정제된 단일 데이터셋을 생성하는 파이프라인으로 재설계.
Alpine·RHEL·Debian·Ubuntu 배포판별 취약점 수집기를 각각 전면 개편하고 OSV 공개 데이터 수집을 자동화해 멀티 배포판 데이터의 정확성·자동화·커버리지를 향상.
고객사 on-premise 동기화 모듈 오류를 중앙에서 사전 인지하기 위한 표준 포맷 로그 수집·모니터링 체계를 기획·설계하고, 용어 표준화와 API 버저닝으로 확장성을 확보.
고객사로 나가는 바이너리 로그 전송 구간을 난독화에서 정식 암호화로 전환하고, 다운로드 모니터링을 v2로 고도화해 전송 보안과 가시성을 강화.
수집→마스터→배포 데이터 파이프라인 전체를 표준화하고, 오픈소스 RAW 데이터를 파일시스템에서 오브젝트 스토리지(SeaweedFS)로 옮기는 전략을 수립해 확장 가능한 기반을 마련.
데이터 수정 패턴에 따라 메타·바이너리는 SeaweedFS(S3·Haystack), git 원본은 ZFS+Forgejo로 분리한 자체 미러 오브젝트 스토리지 인프라를 설계·구축.
Jira·Confluence 운영을 표준 Prefix 체계와 Epic↔관제 페이지 1:1 매핑 규칙으로 통일해, 팀 전체의 추적성과 인수인계·온보딩 효율을 끌어올린 프로세스 정립.
DB에만 쌓이던 데이터·운영 지표를 Grafana 대시보드로 가시화하고, 여러 메트릭을 한 화면에서 비교·알람할 수 있게 모니터링 체계를 구축.
수집 파이프라인을 Docker Compose에서 Kubernetes 기반 Airflow로 전환해 운영하고, CrashLoopBackOff·DiskPressure·etcd 지연 등 반복 장애를 근본 원인 분석으로 해소.
고객사 on-premise 동기화 상태를 중앙에서 관측하는 모니터링을 v2로 재설계하고, Grafana 대시보드(수집·고객사·에러·DB용량)와 알람으로 선제 대응 체계를 구축.
수집·배포·고객사 on-premise DB의 정기 백업을 자동화하고, 분할 압축·NAS 보관·이중화까지 표준화한 백업/복구 체계.
AWS(EC2/EFS/RDS)의 데이터·수집 인프라를 S3 경유로 사내 IDC/In-house 서버에 이전·검증 후 전환하고, AWS 자원을 종료해 반복 클라우드 비용을 절감.
긴급 처리 반복으로 무너지던 배포 DB 변경 절차를 권한 분리·승인 흐름으로 표준화해 DDL 누락을 막고 DB 환경 간 일관성을 확보한 거버넌스 정책.
NAT로 직접 접근이 막힌 환경에서 WireGuard 터널로 In-house 워커 노드 2대를 기존 IDC Kubernetes 클러스터에 합류시켜, 단일 사이트 한계를 넘은 하이브리드 클러스터로 확장.
Jira·Confluence 표준 Prefix 체계로 5년간 1,000건 이상 이슈를 관리하고, 표준 RCA 보고서로 장애의 인지·원인 규명·재발 방지 사이클을 표준화.
자사 마스터 DB의 on-premise 백업본과 BTS(updater/download proxy)를 고객사 환경별로 맞춤 배포하고, 1차에서 풀리지 않는 심층 이슈를 끝까지 해결하는 최종 해결자 역할.