Portfolio · 2026

기획하고, 만들고, 평가하고, 지킵니다.

보안에서 시작해 개발로, 개발에서 AI로 옮겨 왔고, 실무에서는 기획까지 맡았습니다. 지금은 규제 도메인의 AI 서비스를 1인 PM 겸 개발자로 맡아 기획부터 검증까지 하고, 이미 운영 중인 사내 솔루션을 이어받아 고치고 있습니다.

만든 프로젝트 12 실무 5건 · 팀 프로젝트 7건
2023 – 2026
실무 경력 8개월 인턴 3개월 → 정규직 전환
재직 중
이수 교육 540시간 보안 개발자 부트캠프 외
수료 3건
대외 활동 6 동아리 회장 · 부회장 3년
학부연구생
01 / EXPERIENCE

쌓아온 경험

이 경험들을 바탕으로 낯선 분야에서도 빠르게 적응해 일할 수 있습니다.

AI

LLM Service · Quality

탄소배출권 규제 도메인의 AI 서비스를 기획부터 운영까지 담당했습니다.

  • 규제 도메인 AI 서비스를 1인 PM 겸 개발자로 기획부터 검증까지
  • RAG 파이프라인 설계 · 평가셋을 직접 만들어 품질을 수치로 관리
  • 사내 기능을 MCP 서버로 노출해 에이전트가 직접 호출하도록 연동

정보보안

Security

이화여자대학교 사이버보안학과 전공. 실제 서비스의 취약점을 찾아 신고했습니다.

  • 취약점 제보 2건 — 내부정보 노출, 평문 개인정보 노출 · KISA 제보 · KVE 수령
  • 사이버보안학과 · 교내 보안학술동아리 회장·부회장 3년 · CTF 웹·포렌식 출제
  • MITRE ATT&CK 악성 행위 분류 · 개인정보 자동 탐지·마스킹 · 클라우드보안 이수

개발

Engineering

웹 화면과 API 서버를 만들어 배포하고, 외부 도구를 연동했습니다.

  • 고객 채널의 PASS 인증 · 회원가입 · 로그인 · 신청서 제출을 백엔드에서 구현, 토큰 관리와 무결성 인증 절차 조사
  • React · TypeScript 서비스 4건 — mo-gether · Verifit · New:ON · PIOLINK(외주 납품)
  • Python · Flask · FastAPI · Docker · Neo4j · Kafka · 외부 도구 연동

기획 · PM

Planning · Product

요건을 정리해 문서로 남기고, 소규모 팀의 일정과 역할을 관리했습니다.

  • 인턴 때 낸 첫 기획안이 채택되어 카본 AI 프로젝트가 착수되고 정규직으로 전환
  • 사내 솔루션 넷지에 카본 AI를 붙이자고 제안 — AI가 배출량 계산·데이터 조회를 직접 호출하는 관리자 대시보드 기능이 됨
  • 공모전 PM(3인) · 해커톤 PM(3인) · mo-gether 기획(2인) — 요건 정의부터 일정·발표까지
02 / PROJECTS

프로젝트

지금까지 맡아 온 프로젝트입니다.

카본 AI — 탄소배출권 규제 도메인 AI 서비스

2025.12–현재  /  (주)후시파트너스  /  1인 PM 겸 개발자

AI기획·PM

낯선 규제 영역을 익히며 기획·개발·검증을 혼자 담당했습니다. 기능을 개선하기 전에 무엇이 맞는 답인지 정하는 기준부터 만들었습니다. 정답과 라벨을 갖춘 도메인 평가셋 3,200문항을 직접 구축했고, 조합으로 만들 수 없는 영역은 수기로 채웠습니다.

서로 다른 방식의 검색을 결합하는 구조로 바꾼 뒤, 같은 질문 1,382개를 개선 전후 시스템에 다시 넣어 환각성 오류를 32.6%에서 9.0%로 줄였습니다. 검색은 성격이 다른 지표라 180문항으로 따로 측정했습니다.

서비스는 외부 고객의 배출권 문의를 응대하는 CS 창구와, 사내 직원의 반복 업무를 대신하는 도우미를 함께 담고 있습니다. 값을 모를 때 무엇을 반환할지 먼저 정해 두어, AI가 빈칸을 임의의 숫자로 채우지 않게 했습니다.

덧붙임 — 오류를 다섯 가지로 나눠 셌더니 한 종류는 나빠졌습니다. 사실오류·날조 같은 환각성 오류는 72% 줄었지만, 답변 자체를 거부하는 비율은 74% 늘었습니다. 확실하지 않은 질문에 답을 내지 않는 쪽으로 기운 것으로 보입니다. 유리한 숫자만 고르지 않으려고 거부·빈응답까지 포함한 전체 오류 기준(64% 감소)을 함께 보고했고, 거부 사례를 원인별로 모으는 일이 다음 과제로 남았습니다.
환각성 오류
32.6% → 9.0%동일 질문 1,382개 재측정
근거 검색 실패
49.4% → 9.4%180문항
자체 평가셋
3,200문항시드 고정으로 재현 가능

넷지(NetZ) 고도화 — 운영 중인 플랫폼의 구조 개편

2026.03–현재  /  (주)후시파트너스  /  주니어 개발자

개발기획·PMAI

넷지는 사업장 단위로 배출시설과 배출량을 관리하던 플랫폼입니다. 본사 차원에서 전체 사업장을 보려는 요구가 있었고, 신규 사업자와 계약이 착수되면서 총괄 관리 기능이 필요해졌습니다. 이미 사용자가 있는 시스템이라 기존 기능을 유지한 상태에서 구조를 바꿔야 했습니다.

솔루션실 요구사항을 분석해 개선 지점을 정리하고, 기업과 회원이 1:1로 묶여 있던 구조를 기업 단위 1:N으로 전환했습니다. 시스템 전체를 관리하는 최상위 관리자와 소속 기업만 관리하는 업체 운영자로 권한을 나눴고, 탄소회계에 엑셀·파일 일괄 업로드를 넣었습니다. 배출량 계산 로직은 별도 모듈로 떼어내 재사용과 유지보수가 가능하게 했습니다.

운영 개선에서 멈추지 않고 넷지와 카본 AI를 통합하자고 직접 제안했습니다. 먼저 배출량 계산과 계수 조회, 넷지 DB 조회를 MCP 서버로 묶어 도구로 노출해, 사내 다른 서비스가 넷지 로직을 그대로 가져다 쓸 수 있게 했습니다. 그 위에 관리자가 전체 사업장 현황을 한 화면에서 보는 NETZ마스터 대시보드를 만들고, 시크릿 코드를 다르게 입력하면 본사별 사업장 관리 페이지로 들어가게 했습니다.

대시보드 오른쪽에는 열고 닫을 수 있는 카본 AI 채팅창을 붙였습니다. 관리자는 화면을 옮기지 않고 표시된 수치를 그대로 물어보고, 반복 조회는 브라우저 자동화로 맡기고, 차트 종류 변경 같은 화면 구성까지 대화로 바꿉니다. 넷지만 쓰던 사용자가 같은 화면에서 AI 기능까지 쓸 수 있게 됐습니다.

구조 전환
1:1 → 1:N기업 단위 관리로 전환, 기업 CRUD 추가
권한 체계
2단계 분리최상위 관리자 / 업체 운영자
AI 통합
MCP 서버계산·계수·DB 조회를 도구로 노출, 직접 제안해 반영
프로젝트 스택
Java · Spring Boot · PostgreSQL프론트 React 19 · Zustand · TanStack Query

CJ대한통운 탄소배출권 신청 페이지

2026  /  (주)후시파트너스  /  백엔드

개발정보보안

로그인과 회원가입, 참여신청서 제출 기능을 만들었습니다. PASS 인증으로 로그인과 회원가입을 처리하고, 참여신청서 제출과 로그인 과정에서 토큰을 관리했습니다.

참여신청서와 본인인증 구간은 누가 언제 무엇에 동의했는지를 나중에도 증명할 수 있어야 하는 곳입니다. 그래서 TSA(타임스탬프)와 전자서명, 무결성 입증에 쓰이는 인증 절차를 조사해 설계에 반영하려 했습니다.

담당 기능
인증 · 가입 · 신청서PASS 연동, 토큰 관리, 무결성 검토

제주도 히트펌프 크레딧 신청 페이지

2026  /  (주)후시파트너스  /  백엔드

개발

제주도에 설치된 히트펌프 설비의 탄소 감축량을 신청·관리하는 페이지입니다. 기존에는 민간 개인이 신청 대상이었는데, 신청 규모가 더 큰 제조사별 신청으로 전환하는 작업이었습니다. 백엔드 파트를 맡아 기획자와 프론트엔드 개발자와 협업해 개발했습니다.

맡은 범위
백엔드기획자 · 프론트엔드 개발자와 협업

ShiftX TDR — 악성 행위 탐지 시스템

2025.03–2025.11  /  KISIA S-개발자 3기 · 엔키화이트햇 연계 · 5인 팀  /  AI 에이전트 파트

AI정보보안

AI가 학습할 악성 행위 데이터가 정리된 형태로 공개되어 있지 않았습니다. 제가 완성하지 못하면 팀 전체 일정이 멈추는 구조였고, 없으면 만들자고 제안했습니다. GitHub과 Malware Bazaar 같은 오픈 소스에서 샘플을 모아 가상환경에서 수천 건 실행하고 행위를 트레이스로 기록했습니다.

상당수 샘플이 가상환경을 알아채고 실행을 멈추거나 환경을 다운시켜, 처음 몇 주는 결과 없이 지나갔습니다. 실행 전에 스냅샷을 저장해 두고 환경이 죽으면 곧바로 되돌리는 절차를 만들자 속도가 붙었습니다. 모은 데이터는 MITRE ATT&CK 기준으로 분류했습니다.

파이프라인은 Sysmon·OpenTelemetry로 수집한 행위를 트레이스로 바꿔 Kafka로 흘리고, 앙상블 모델(XGBoost·LightGBM·CatBoost)이 1차로 악성·정상을 분류합니다. 앙상블만으로는 변형 공격을 놓치고 판단 근거를 설명할 수 없어 2차로 GraphRAG가 유사 시나리오를 검색하고 LLM이 추론하는 단계를 뒀고, 제가 맡은 부분이 이 2차 단계입니다. 판단 로직과 유사 행위 검색을 구성하고 결과를 Neo4j에 저장해, 근거와 대응 방안을 자연어 보고서로 만들었습니다.

교육 규모
540시간약 10개월 · 학업 병행
수집 방식
직접 수집오픈 소스 — GitHub, Malware Bazaar 등
담당 파트
2차 추론GPT-4o · LangChain · FAISS · Neo4j

개인정보 비식별화 프로그램

2025.02–2025.03  /  개인정보보호위원회 공모전 · 3인 팀  /  PM

정보보안기획·PM

오피스 문서(docx·xlsx·pptx) 안의 개인정보를 탐지해 비식별화하는 윈도우 프로그램입니다. 팀장으로 요구사항 정의와 일정, 기능 설계를 총괄하고 이름·전화번호·이메일·주민번호 탐지 모듈을 직접 만들었습니다. 문서 형식마다 내부 XML 구조가 달라 python-docx·openpyxl·python-pptx로 형식별 파싱 모듈을 따로 구현했습니다.

개발보다 어려웠던 것은 어떤 항목까지 개인정보로 볼지 정하는 일이었습니다. 규칙을 먼저 정하지 않으면 같은 문서를 두 사람이 다르게 처리했습니다.

어려웠던 것
정의부터탐지 규칙 없이는 결과가 흔들린다

mo-gether — 소모임·번개 모임 구인 서비스

2024.07–2024.10  /  2인 팀  /  서비스 기획 · PM · 프론트엔드

기획·PM개발

기획부터 배포까지 한 서비스입니다. 무엇을 만들지 정하는 일부터 시작해 화면 흐름을 짜고, 2인 팀의 역할과 일정을 나눠 진행했습니다. 모임 생성·참여와 관심 등록, 실시간 그룹 채팅을 React 18·TypeScript·Redux Toolkit으로 구현했습니다. 채팅은 STOMP·SockJS로 WebSocket을 연결해 모임 입장·퇴장과 채팅방 구독을 묶었고, Google·Kakao 소셜 로그인과 일반 로그인을 OAuth2·JWT로 함께 관리했습니다. AWS에 배포를 마쳤습니다.

작은 팀이라 기획과 개발을 같은 사람이 하게 됐고, 그래서 기획이 바뀔 때 구현이 어디까지 흔들리는지를 몸으로 알게 된 프로젝트입니다.

맡은 범위
기획 · PM · 개발2인 팀 — 프론트엔드 1, 백엔드 1

보이스피싱 탐지 서비스 — 해커톤

2024.07–2024.08  /  3인 팀  /  PM

기획·PM정보보안

통화 녹음으로 보이스피싱을 탐지하는 서비스를 기획했는데, 대회 중 모바일 정책이 바뀌어 통화 녹음 자체가 막혔습니다. 정책은 되돌릴 수 없으니 팀에 필요한 건 아쉬움이 아니라 지금 되는 것의 목록이었습니다. 단 한 번뿐인 멘토링 기회를 아끼지 않고 바로 썼고, 공개 데이터로 피싱 문자를 판별하는 방향으로 틀어 발표를 마쳤습니다.

배운 것
방향 전환바꿀 수 없는 조건과 할 수 있는 일을 나눠 적는 습관

New:ON — 시큐어 코딩 VS Code 확장

2024.03–2024.12  /  졸업프로젝트 · 4인 팀  /  프론트엔드 · API 퍼징

개발정보보안

개발자가 코드를 쓰는 중에 취약점을 알려 주는 확장 프로그램입니다. TypeScript로 확장을 만들고, Rust로 작성된 외부 API 퍼저를 붙여 쓰는 연동을 담당했습니다. GPT API 응답이 느려 실시간 분석에 지연이 생기는 문제가 있었는데, 고정규칙 탐지를 먼저 수행하고 GPT는 비동기 보조 분석으로 돌려 해결했습니다.

연동
Rust 퍼저이종 언어 도구를 붙여 쓴 경험

PIOLINK DDoS 시뮬레이터

2023.08–2023.12  /  네트워크 보안 기업 외주  /  프론트엔드

개발정보보안

DDoS 공격 시뮬레이션 도구의 웹 제어 화면을 만들고 서비스 사용자 매뉴얼까지 작성했습니다. Flask 백엔드와 연동할 때 CORS와 데이터 형식이 맞지 않는 문제가 있어, 팀과 API 명세를 먼저 정의한 뒤 Fetch로 비동기 통신을 구현했습니다. 개발팀 3명과 서비스팀 6명 사이에서 요구사항을 오가며 조율했고, 납품을 마쳤습니다.

팀 구성
개발 3 · 서비스 6요구사항 관리를 함께 맡음
03 / METHOD

계획을 세우고, 기준을 세워 검토합니다

01

안 되는 경우를 먼저 본다

보안에서 온 시선입니다. 취약점 제보, CTF 문제 출제, 레드팀 관점의 과제 수행이 모두 여기서 나왔습니다.

02

시작하기 전에 계획을 세운다

일이 굴러가기 전에 양식을 만듭니다. 작업일지·회의록 템플릿, 협의 사항 사전 통지 규칙, 설문 항목 사전 제작, 기획·설계 문서 선공유.

03

다 만든 뒤 맞는지 잴 기준을 세운다

성능보다 기준이 먼저였습니다. 개선 전에 만든 평가 기준표, 과제 평가지표와 판정 기준, 출력 검증용 필수 키워드 검사.

04

그 기준으로 다시 검토한다

완성이 끝이 아닙니다. 제출한 뒤에도 수치를 다시 재서 제 측정이 틀렸던 지점을 찾아냈고, 틀린 답변을 모아 원인 유형별로 분류해 개선에 반영했습니다.

“방어가 견고해 공격이 통하지 않는 경우도, 그 영역의 방어 수준을 확인한 결과로 남긴다.”

— 직접 세운 테스트 원칙 중 7번. 실패도 결과로 남긴다는 생각은 여기서 왔습니다.
04 / RECORD

경력 · 활동

소속 · 활동기간역할한 줄
(주)후시파트너스2026.03–현재선임매니저 · AI랩실카본 AI 총괄 개발, 넷지 고도화, 외부 사업 프로젝트
(주)후시파트너스2025.12–2026.02인턴AI 기술 동향 사내 발표, 카본 AI 첫 기획안 제안 → 정규직 전환
KISIA S-개발자 3기2025.03–2025.12수료보안 개발자 부트캠프 540시간 → ShiftX TDR 프로젝트
클라우드보안2024.12수료한국정보보호산업협회. 접근 통제와 데이터 보호 요건
EVI$ION2022.09–2025.08회장 · 부회장자료 100여 개로 커리큘럼 신설·직접 강의. 신입 잔존 20명 중 15명 (이전 기수 11명)
WISET 정보보안 멘토링2024.05–2024.11대표멘티멘티 의견 취합·건의, 멘토 일정 조율
ECS CTF2023.12–2024.02출제위원 · 운영진웹 · 포렌식 2문제 출제, 풀이 문서 작성
이화여대 사이버보안학과 연구실2023.03–2023.12학부연구생적대적 공격 연구. DeepFool 직접 구현해 모델별 비교
이화여대 사회봉사실천리더2021.03–2022.02팀장봉사 라디오·유기동물 후원 굿즈 기획·운영, 봉사 fair 잡지 발행
이화여자대학교2021.03–2026.08사이버보안학과 졸업학점 3.36 / 4.3
05 / STACK

기술 · 자격

구현

  • Python · Flask · FastAPI
  • JavaScript · TypeScript — React, React Native, VS Code 확장
  • Docker · Neo4j · Kafka
  • Java · C — 학부 수업 수준

AI · 연동

  • RAG 파이프라인 설계 — 밀집·희소 검색 결합, RRF
  • 평가셋 기반 품질 측정 — 라벨 설계, LLM-as-judge
  • MCP 서버 구축 · LangChain · 프롬프트 설계 · 폴백 구조

보안

  • 웹 취약점 — OWASP Top 10, Burp Suite
  • MITRE ATT&CK · 악성 행위 분류 · PCAP 포렌식
  • 개인정보 비식별화 · 적대적 공격(DeepFool)

도메인 · 자격 · 어학

  • 탄소배출권 — K-ETS, MRV, 산정 방법론 (실무)
  • TOEIC Speaking AL (160) · JLPT N2
  • 정보보안기사 — 필기 합격, 실기 준비 중