개인 프로젝트

ai로 인해 아이디어만으로 서비스를 구축하는건 쉬워졌습니다.


약간의 인프라, 보안, 네트워크 지식만을 가지고도 서비스를 운영할 수 있다고 생각합니다.


여러가지 시도들을 기록해놓는 곳입니다.

00. 보안 진단 툴

첫번째로는 ai를 사용하지 않은 툴이다.

ai가 그리 코딩에 쓸만하지 않을때, 그리고 한참 python을 업무에 활용해보고 싶을때 집에서 틈틈히 만들었다.

요즘엔 필요한 툴은 다 ai가 쉽게 만들어 주지만, 뭔가 기왕 ai 없이 시작한거 이 프로그램의 유지보수는 항상 직접하고 있다.


네이버 블로그에 이전에 정리해둔 내용을 가져왔다.

*이후 이것저것 추가가 됐지만 패스-


파이썬 + QT Designer 를 사용하여 GUI로 사용하는 툴을 만들었다.



이전에 개발해서 쓰고 있던 프로그램을 계속 업데이트 해서 쓰고 있는데 그냥 근황 겸 남겨본다.image.png

첫번째 탭은, 자산 종류 별로 엑셀 보고서 파일을 만들어야하는데 회사 로고를 넣거나, 날짜, 자산종류 명 등등

엑셀파일을 매번 생성하기 귀찮아서 만들었다.

라이브러리는 win32com 을 주로 사용했다.

이미지 크기 조절, 화질 조절하는거에 되게 애먹었던 기억이..

보고서를 열 몇개씩 만들 일들이 꽤 많은데 편하게 사용했다.

image.png

두번째 탭은, 자산 진단을 하다보면 회사 자산의 수정 여부를 파악하는데 시간이 너무 많이 들어서 만든 툴이다.

기준이 되는 항목을 맨 아래 탭에 넣으면 매칭하고 싶은 행을 가져온다.

예를 들어보면

image.png

왼쪽이 제공받은 자산목록이고 오른쪽에 왼쪽의 자산 정보를 옮겨야 할때

하나하나 매칭해가면서 붙여넣기가 너무 귀찮다.image.png

값을 넣고 비교시작을 누르면 갯수를 파악하고 (기준을 제외한 값들은 갯수가 같아야한다.)

image.png

맨 아래에 넣은 데이터에 관련 정보를 가져와준다.

굳이 자산 정보가 아니여도 엑셀에 있는 값들을 복사해 넣으면 비교가 되므로 이곳저곳에서 잘 활용 중


image.png

세번째는 회사에서 개발 중인 솔루션에서 아직 불편한 부분들이 있어서 좀 편하게 할 수 있는 기능들을 넣어두었다.

솔루션에서 지원하면 안 쓸 기능들이기 때문에 대강대강 만들어서 붙여둠

1.진단 체크리스트(엑셀) 생성 기능

2.진단완료한 체크리스트를 솔루션에 업로드하기 편한 csv로 변환해줌

3.보고서 제작을 위한 데이터를 솔루션에서 다운로드 받아줌

4.솔루션에서 받은 markdown 파일을 csv로 변환

5.csv파일을 사용해 엑셀 보고서 생성

6.진단 시 스크립트 결과파일을 분석하기 편한 프로그램 실행 (ai가 만들어줌 ㅋㅋ)

image.png

네번째 탭은 보안 컨설팅 진단을 할때 궁금한 점들을 빠르게 물어보기 위해 세팅해둔 ai 도우미 탭이다.

gpt에 그냥 물어보면 공부 목적인지 컨설팅을 위한건지 헷갈려 할때가 많은데

미리 코드 안에 보안 컨설턴트 페르소나를 지정해 두어 그냥 질문을 던지면 컨설턴트 입장에서의 답변을 해준다.

제미나이 무료 API를 사용하고 있으며 코드자체는 별로 복잡하지 않은편이다.

*현재는 디스코드를 통해 오픈클로에게 바로바로 물어보는 중 (사용 안한지 좀 됨)

image.png

예시로 아무 질문이나 넣어보면, (질문 생각하는데 시간이 더 걸렸다.)

image.png

보안진단에 대한 부분이 명시되지 않았음에도 어떤식으로 진단할지, 어떻게 조치를 취해야 할지 정리해준다.

인터뷰때도 가끔 사용하고 현황을 받아서 사무실에서 따로 진단할때도 자주 사용하는 편

이제 뭘 더 추가해볼까.. 이제 슬슬 프로그램이 무거워지는 것 같기도..

image.png

이게 처음 만들어본 GUI가 있는 프로그램이였는데, 많이 발전했다 싶다...

01. 프로젝트 현황 모니터링

내 현재 업무는 보안 컨설팅 회사의 기술 진단 팀장을 맡고있다.

회사 특성상 여러 고객사를 동시에 진행하는 일이 잦은데, 일정 관리나 진행 현황을 보기 너무 어려워 웹 서비스로 제작했다.

나 혼자 노션에서 정리하는 것보다 웹 페이지를 제공해 기술팀끼리 공유하며 프로젝트를 진행하고 있다.


개발 환경 -> Apache2 + php + mariadb + antigravity + gemini-3-flash-priview


image.png

*민감할 수 있는 정보들은 모자이크처리했다.

각 고객사의 자산 수, 진행 상황, 진행 상황들을 한 페이지에서 볼 수 있다.

image.png

보통 프로젝트 진입 후 자산을 파악한 후에 모두 기입해 둔 뒤 기술 팀이 각자 현황을 최신화 한다.

*집 컴퓨터를 서버로 쓰고 있는데 오늘 정전때문에 업무에 못쓰니까 진짜 불편하더라 ㅋㅋㅋㅋ


이 외에도 몇가지 탭이 더 있는데

image.png

자료실에선 기술팀이 공유할만한 연구자료 혹은 기술 진단 시의 스크립트 최신화를 다루고 있으며

*그 전까지는 다들 파일 저장이 중구난방이여서 최신버전 찾기가 어려웠음,

매번 스크립트 최신 버전 요청을 하다보니 공용 파일 저장소가 필요했다고 느꼈음

image.png

게시글의 내부는 이러하며, pdf 로 게시글 내용의 추출이 가능. 첨부된 스크립트 + 게시글의 설명을 pdf 추출하여 좀 더 편의성 있게 스크립트 유지보수 및 고객사 전달 준비가 가능하도록 함


image.png

마지막으로 XSS 등 모의해킹 때 탈취공격을 시도할 경우 alert로 때우는건 좀 심심해서 특정 링크로 요청 값들을 수집하는 페이지 개설
앞으로 웹 모의해킹 시 세션 탈취를 이 페이지로 포워딩 시켜 시연해볼 예정


가장 중요하게 생각한 점은 정말 필요한 기능들만, 가장 접근성 좋게 만들것

회사에서 쓰는 업무관리 솔루션이 있는데 기술팀이 사용하기엔 너무 복잡하고 불필요한 프로세스들이 많아서 사용성이 별로였음


앞으로 추가되는 기능이 있겠지만 굳이 잡스러운 기능보다는 기술 진단에 필요한 정보나 기능을 추가할듯 하다.


아 참고로 같은 로컬 ip 에서만 진입이 가능하도록 설정해둔 api 기능이 있어, 오픈클로에 "~~프로젝트 ~자산 진단 완료 했어" 뭐 이런식으로 말하면 웹 페이지에 적용도 해준다.

그치만 클릭 몇번이면 현황을 바꾸는 탭으로 진입이 가능하므로 자주 쓰지는 않는다



02. Project 4 Project

회사에서 개발 중인 솔루션을 전면 개편해보고 싶어졌다.


무슨 솔루션인지는 밝힐 수 없고... 개편하는 이유는 초창기 기획의 아쉬움 때문이였다.

그래서 최대한 필요한 기능 및 구성요소를 최대한 세밀하게 기획하고 싶어졌고, 거기서 출발한 생각으로 프로젝트를 위한 프로젝트를 만들기로 했다.

image.png

시연을 위해 임의의 프로젝트 생성, 처음엔 빈 템플릿을 가져오므로 오른쪽 위의 스마트 캔버스를 통해 ai를 통해 기본 구조를 생성한다.

image.png

image.png

이런식으로 ai를 통해 쉽게 프로젝트의 설계 구조를 짤 수 있다.

물론 수동으로 직접 만드는것도 가능하다.

image.png

ai를 통해 노드 정렬, 각 노드들의 태그를 지정 및 선택하여 관련 파이프라인만 확인하는 것 또한 가능하며,
챗봇을 추가하여 여러 조언을 구하거나 해당 조언을 바로 노드 구조에 반영할 수도 있다.

image.png

DB 노드들은 상세 페이지에 테이블 및 컬럼 설계도 가능하며, ai가 설계 및 간단한 설명을 남겨주는 것 또한 가능하다.

image.png

아래는 ai 가 만들어준 테이블 및 컬럼 구조

image.png


이런식으로 노드들을 확장하여 서비스를 설계하고 생성탭에 들어가면,

해당 노드구조로 견본을 만들어볼 수도, ai에게 제공할 설계도를 만들 수도 있다.

image.png

대략적으로 사용되는 토큰을 알려주긴 하는데 정말 대략이다

image.png

프로세스가 실행되면, ai에게 참고시킬 설계도들이 생성된다.


image.png

블루프린트가 아닌 전체 코드 생성 시 위와 같이 미리보기 페이지가 생성되며, 즉각적으로 피드백이 가능하다.


image.png

image.png

생각보다 더 잘해줘서 당황스럽네;


아무튼 해당 프로젝트는 https://github.com/ochid00/project4project 에 오픈소스로 공개해 두었으니 누구나 사용해볼 수 있다.

*ai 사용에 필요한 api 키는 개인 api키를 삽입하여야함!