기능보다 먼저,깨지지 않게만듭니다.

풀스택 개발보안 우선

프로젝트
16
작업 기록
64
보안 원칙
6

요즘은 AI로 누구나 금방 서비스를 만들어요. 그런데 양산형으로 딸깍딸깍 찍어낼수록 보안은 자꾸 뒷전으로 밀려요. 비밀값이 코드에 그대로 남아 있거나, 검증 안 된 입력을 그냥 받아 주거나, 동시에 저장하면 데이터가 꼬이는 식으로요. 저희도 AI로 빠르게 만들지만, 이런 부분만큼은 처음부터 따로 챙겨요.

결과가 분명한 작업부터

카드를 누르면 의뢰인용 요약과 개발자용 기술 상세를 나눠서 볼 수 있습니다.

웹앱Story Maker두 사람이 브라우저에서 함께 이야기 카드와 세계관을 엮어 텍스트 게임의 뼈대를 만드는 협업 편집기를 만들었다.Node.js 24, node:sqlite, node:crypto, WebSocket자세히 보기
테스트
185개 통과
스모크 검사
26개 통과
저장 형식
v1 → v4, 원본 gzip 백업 후 이행
봇·AI 에이전트Geta디스코드 페르소나 챗봇여러 사람이 함께 쓰는 디스코드 채널에서 성격과 말투를 바꿔 가며 대화하는 AI 챗봇을 만들고, 여러 캐릭터가 함께 떠드는 단톡방 모드까지 확장했다.Python 3, discord.py, httpx(비동기·스트리밍), asyncio자세히 보기
자동 테스트(초기 구축)
54개 통과
자동 테스트(단톡방 확장 후)
205개 통과
자동 테스트(결함 수정 후)
241개 통과, 이후 서식 버그 수정에서 21개 추가
게임·시뮬레이션AiSubway v2AI 지하철 노선 설계 도구도시 지하철 건설 게임을 AI 팀이 직접 조작해 노선을 설계하고, 검수까지 거치는 환경을 만들었다.Node.js, 자체 테스트 러너, Web Worker 기반 RAPTOR 채점, SVG 노선도 렌더링자세히 보기
테스트
fast tier 962개 통과
설계 사이클
13회
대중교통 분담률
0.35% → 2.06%
웹앱개인 운영 대시보드흩어져 있던 서비스·봇·작업 도구의 상태를 스마트폰 홈 화면 같은 한 화면에서 확인하고 조작할 수 있게 만들었다.Next.js 16, React 19, TypeScript, CSS Modules자세히 보기
생존 확인 CLI 전체 실행 시간
0.38초
생존 확인 도구 검증
CLI 10/10, API 13/13, smoke 23/23 통과
도트 작업실·리소스 TOP 테스트
24개 통과, 실패 0개

최근에 끝낸 작업

  1. 개인 운영 대시보드

    에이전트 실행 감시 모듈 보완

    여러 AI 에이전트 작업의 상태를 대시보드와 CLI에서 모아 보고, 정상 완료·실패·응답 대기·보고 없는 중단을 상태로 구분하고, 완료 대기 결과는 종료 코드로 알리게 했다. 러너가 결과를 남기기 전에 죽으면 계속 실행 중으로 보이던 문제를 생존 확인으로 고쳤고, 전체 테스트는 133개에서 153개로 늘어 모두 통과했다.

  2. 개인 운영 대시보드

    백그라운드 작업 상황판과 본문 보호

    백그라운드 에이전트 작업의 상태를 상세 화면과 홈 위젯으로 보여 주되, 지시서·답·로그 본문은 같은 기기에서 열 때만 내려 주게 했다. 1차 검수에서 발견된 우회 경로를 고친 뒤 재검수를 통과했다(테스트 76/76).

  3. 개인 운영 대시보드

    진행 중 작업 9건 정체 점검

    몇 주째 '재시작 필요' 등으로 남아 있던 작업 9건을 코드·커밋·운영 화면과 대조하는 읽기 전용 점검을 했다. 8건은 코드·커밋·운영 화면 기준으로 이미 반영된 것으로 확인했고(일부 실기기 시험은 하지 못했다) 1건은 다른 작업에 흡수돼, 재시작이 필요한 항목은 없다는 결론을 냈다.

  4. AiSubway v2AI 지하철 노선 설계 도구

    12·13사이클, 채권 조기 상환과 새 기준 승격

    11사이클에 처음 발행한 대형 채권 $1B를 전액 조기 상환하고 노선 연장과 증편을 넣은 설계를 새 채점 기준에서 다시 지어 승격했다. 분담률은 3.5598%에서 4.3810%(승객 +23.07%)로 올랐고 채권 잔액은 0이 됐으며, 오케스트레이터의 재채점이 끝자리까지 일치했다.

  5. AiSubway v2AI 지하철 노선 설계 도구

    게임 세이브 내보내기 재작성과 사전 검사기

    설계한 망을 게임 세이브로 내보내는 기능을 게임과 같은 레일 단위로 다시 만들고, 종착 크로스오버와 Y 분기를 지원하게 했다. 내보낸 세이브가 게임에서 읽힐 수 있는 형식인지 미리 검사하는 검사기를 붙여 오류 0을 확인했지만, 실제 게임에서 열어 보는 확인은 아직 하지 않았다.

  6. AiSubway v2AI 지하철 노선 설계 도구

    대시보드에 미승격 계획안 보기·비교 모드 추가

    승격 전 계획안을 지금 망 위에 겹쳐 신설 구간, 게이트 통과 현황, 점수 변화를 한 화면에서 보게 했다. 계획안 점수는 공식 채점 판정에서만 읽고 없거나 오래된 값이면 숫자 대신 상태로 표시하며, 읽기 전용 동작과 수치는 독립 검수가 재계산해 확인했다.

  7. AiSubway v2AI 지하철 노선 설계 도구

    채점 정합성 수정과 기준값 재설정

    겹친 구간의 배차 효과가 점수에 잡히도록 노선별 출발 위상을 분산하고, 열차 이동 시간을 게임 동작에 맞춰 노선 한 바퀴 오차를 −7.09%에서 −0.27%로 줄였다. 예산 게이트는 증인 규칙을 완화하지 않고 공식 채점 결과를 엄격한 조건으로 재사용해 804초에서 412초로 줄였고, 기준값은 한 번에 3.5598%로 다시 잡았다.

  8. AiSubway v2AI 지하철 노선 설계 도구

    9~11사이클 운영과 설계 3건 승격

    AI 함대가 서울 망에 설계 3건을 차례로 승격했다. 공식 지표를 4앵커 평균으로 바꿔 기준값을 3.1421%로 다시 잡은 뒤, 마지막 승격에서 분담률이 4.0076%(승객 418,889명, 이후 채점 기준 개정 전 값)까지 올랐다. 승격마다 오케스트레이터가 새 사본으로 다시 채점해 함대 값과 끝자리까지 일치함을 확인했고, 공유 기기의 메모리·CPU 여유를 확인한 뒤에만 채점을 시작하는 부하 게이트를 두었다.

작업 기록에 남은 모든 프로젝트

AI로 빠르게 만들고, 검증은 따로 합니다

코딩 에이전트를 적극적으로 씁니다. 대신 결과를 믿기 전에 확인하는 단계를 작업 구조에 넣어 둡니다.

  1. 범위 정하기

    무엇을 바꾸고 무엇은 건드리지 않을지 먼저 적습니다.

  2. 구현과 테스트

    코딩 에이전트가 저장소 안에서 구현하고, 바뀐 동작은 테스트로 고정합니다.

  3. 독립 검수

    구현한 쪽의 보고 대신, 다른 주체가 산출물 원본과 테스트를 다시 엽니다.

  4. 승인 후 반영

    커밋과 배포를 나눠, 운영에 반영하는 시점은 사람이 정합니다.

이 사이트도 같은 흐름으로 갱신합니다. 작업이 끝나면 다음 날 새벽 작업 기록이 문서로 정리되고, 일주일에 한 번 공개해도 되는 내용만 골라 사이트에 반영합니다.

보안은 처음부터 정해 두는 기본값입니다

빠르게 만드는 건 이제 누구나 할 수 있어요. 차이는 만든 다음, 실제로 쓰이기 시작할 때 드러나요. 아래 여섯 가지는 실제 작업에서 반복해서 지켜 온 원칙이에요. 원칙마다 그걸 적용한 프로젝트를 같이 적어 뒀고, 어디까지 확인했는지는 프로젝트 상세에 있어요.

읽기 전용 보안 감사

납품 전 외주 웹사이트와 자체 인프라를, 코드를 한 줄도 바꾸지 않고 점검했습니다

  • 감사 중 코드 변경 0건
  • 수정 지시서만으로 후속 수정 3건 구현
  • 고객 정보와 취약점 세부 내용은 공개하지 않습니다.
자세히 보기
  1. 나눠서 동시에 훑기

    시스템 2개를 점검 영역 4개씩 나눠, 에이전트 8개가 동시에 정적 분석했습니다.

  2. 따로 다시 검증하기

    근거 코드를 다시 열어 오탐 4건을 지우고, 근거가 약한 항목은 등급을 낮췄으며, 앞 단계가 놓친 3건을 더 찾았습니다.

  3. 바로 쓸 문서로 남기기

    보고서 2종, 사람이 할 일 목록, 개발자용 수정 지시서, 방법론 정리를 나눠 남겼습니다. 비밀값은 실제 값과 대조해 유출 0건을 확인했습니다.

만들고 싶은 것을 알려 주세요

필요한 기능, 일정, 지금 있는 코드나 화면이 있다면 함께 보내 주세요.