안전한 AI 창작을 위한 기술과 경험을 공유합니다.

AI 창작부터 보안, 아키텍처, 배포까지 녹스블리의 기술을 소개합니다.

📌 Featured

업로드된 HTML이 보안검사를 거쳐 안전한 미니 앱으로 배포되는 과정

안전한 미니 앱을 위한 보안 검사와 정제 웹페이지를 만드는 일이 예전보다 훨씬 쉬워졌습니다. 이제는 개발자가 아니더라도 생성형 AI에 원하는 기능을 설명하면 계산기, 학습 도구, 시뮬레이터, 게임과 같은 HTML 콘텐츠를 만들 수 있습니다. 하지만 만들어진 HTML을 인터넷에 올려 누구나 실행할 수 있게 만드는 일은 파일을 저장하는 것과 조금 다릅니다. HTML은 단순한 문서가 아니라 버튼을 누르고, 데이터를 입력받고, 외부 사이트와 연결하고, 프로그램 코드를 실행할 수 있는 작은 애플리케이션이기 때문입니다. 녹스블리 서비스에서 사용자가 등록한 HTML을 바로 공개하지 않고 보안 검사와 정제 과정을 거치는 이유도 여기에 있습니다. HTML 컨텐츠의 순화·검증 (Sanitization) HTML은 문서이면서 프로그램입니다 사진이나 PDF 파일은 일반적으로 화면에 내용을 보여주는 역할을 합니다. 반면 HTML은 브라우저 안에서 여러 동작을 수행할 수 있습니다. 예를 들어 HTML에는 다음과 같은 기능이 포함될 수 있습니다. 버튼을 클릭하면 프로그램 코드를 실행합니다. 사용자가 입력한 정보를 처리합니다. 외부 서버나 웹사이트에 연결합니다. 다른 웹페이지를 화면 안에 불러옵니다. 새로운 창을 열거나 다른 주소로 이동시킵니다. 브라우저에 정보를 저장하거나 읽어 옵니다. 이러한 기능은 정상적인 웹서비스를 만드는 데 꼭 필요합니다. 그러나 사용자의 의도와 다르게 작동하거나, 검증되지 않은 외부 코드가 포함되면 보안상 문제가 될 수도 있습니다. 따라서 “HTML 파일이 정상적으로 열리는가”와 “여러 사용자에게 안전하게 공개할 수 있는가”는 서로 다른 문제입니다. 악의가 없어도 위험 요소는 포함될 수 있습니다 보안 검사는 악의적인 사용자만을 막기 위한 절차가 아닙니다. 생성형 AI가 만든 HTML이나 인터넷의 예제를 참고한 코드에는 제작자가 인식하지 못한 외부 스크립트, 오래된 라이브러리 또는 불필요한 접근 기능이 포함될 수 있습니다. 코드를 직접 작성한 사용자도 복사한 코드가 정확히 어떤 동작을 하는지 모두 알기 어려울 수 있습니다. 예를 들어 다음과 같은 상황이 발생할 수 있습니다. 출처를 확인하기 어려운 외부 스크립트를 불러오는 경우 클릭과 동시에 원하지 않는 사이트로 이동하는 경우 입력한 정보를 외부 서버로 전송하는 경우 화면을 가리는 팝업이나 반복 동작이 실행되는 경우 다른 사용자의 브라우저 환경에 영향을 줄 수 있는 코드가 포함된 경우 보안 지원이 종료된 외부 라이브러리를 사용하는 경우 코드를 등록한 사람이 위험한 행동을 의도하지 않았더라도 결과적으로 다른 사용자에게 불편이나 위험을 줄 수 있습니다. Sanitization은 무엇인가요? Sanitization은 업로드된 HTML의 구조와 속성을 검사하고, 서비스 정책에 맞지 않거나 위험할 가능성이 있는 요소를 제거하거나 제한하는 과정입니다. 쉽게 비유하면 건물에 들어가기 전 보안 검색대를 통과하는 것과 비슷합니다. 모든 방문자를 위험한 사람으로 판단하는 것이 아니라, 여러 사람이 함께 사용하는 공간에 반입하기 어려운 물건이 있는지 확인하는 절차입니다. HTML 보안 검사에서는 일반적으로 다음과 같은 항목을 확인합니다. 1. 실행 코드 검사 브라우저에서 자동으로 실행되는 스크립트와 이벤트 속성을 확인합니다. 서비스 환경에서 허용하기 어려운 코드는 제거하거나 실행을 제한할 수 있습니다. 2. 외부 연결 검사 HTML이 어떤 외부 서버, 이미지, 라이브러리 또는 프레임을 불러오는지 확인합니다. 신뢰할 수 있는 출처인지 검토하고 정책에 따라 연결을 허용하거나 제한합니다. 3. 위험한 주소 형식 검사 링크처럼 보이지만 클릭했을 때 프로그램 코드를 실행하거나 예상하지 못한 위치로 이동시키는 주소가 포함되어 있는지 확인합니다. 4. 입력 및 전송 기능 검사 사용자가 입력한 정보가 어디로 전달되는지 확인합니다. 개인정보나 계정 정보가 의도하지 않은 외부 서버로 전송될 가능성을 줄이기 위한 과정입니다. 5. 실행 환경 분리 검사를 통과한 콘텐츠도 녹스블리의 주요 서비스 화면과 분리된 환경에서 실행합니다. 하나의 콘텐츠에서 문제가 발생하더라도 다른 사용자나 서비스 전체에 미치는 영향을 줄이기 위한 방어 장치입니다. 모든 코드를 삭제하는 과정은 아닙니다 보안 검사의 목적은 HTML의 기능을 없애는 것이 아닙니다. 창작물의 핵심 기능은 최대한 유지하면서, 여러 사용자가 함께 이용하는 환경에서 허용하기 어려운 동작을 찾아 제한하는 것이 목적입니다. 그러나 일부 기능은 보안 정책에 따라 정상적으로 동작하지 않을 수 있습니다. 예를 들어 허용되지 않은 외부 스크립트, 자동 이동, 과도한 팝업, 검증되지 않은 데이터 전송 기능 등 은 수정이나 제거가 필요할 수 있습니다. 녹스블리는 다음 두 가지 가치 사이에서 균형을 유지하려고 합니다. 창작자가 의도한 기능을 가능한 한 유지하는 것 콘텐츠를 실행하는 사용자를 안전하게 보호하는 것 보안이 지나치게 느슨하면 사용자가 위험해지고, 반대로 모든 기능을 막으면 창작물을 실행할 수 없습니다. 따라서 콘텐츠의 목적과 위험 수준에 따라 적절한 기준을 적용하는 것이 중요합니다. 한 번의 검사로 모든 위험을 막을 수는 없습니다 Sanitization은 중요한 보안 단계이지만 이것만으로 모든 위험을 완전히 방지할 수 있는 것은 아닙니다. 새로운 공격 방식이 계속 등장하고 외부 라이브러리의 상태도 바뀔 수 있기 때문입니다. 안전한 서비스 운영을 위해서는 여러 방어 수단이 함께 적용되어야 합니다. 녹스블리는 업로드 단계의 보안 검사뿐 아니라 다음과 같은 다층적인 보호 구조를 지향합니다. 업로드 콘텐츠의 위험 요소 검사 허용된 외부 리소스와 도메인 관리 실행 영역과 서비스 영역의 분리 콘텐츠 보안 정책 적용 접근 권한과 공개 범위 관리 배포 이후의 모니터링과 정책 개선 보안 검사는 창작을 제한하기 위한 장벽이 아니라, 더 많은 사용자가 창작물을 안심하고 실행할 수 있게 만드는 기반입니다. • • • 안전해야 창작물이 서비스가 됩니다 AI와 웹 기술의 발전으로 누구나 아이디어를 빠르게 HTML로 만들 수 있게 되었습니다. 그러나 파일을 만드는 것과 여러 사람이 사용할 수 있는 서비스로 운영하는 것 사이에는 안전성이라는 중요한 단계가 있습니다. 녹스블리는 AI 또는 사용자가 만든 웹 창작물이 단순한 파일에 머무르지 않고, 안전하게 실행하고 공유할 수 있는 미니 앱으로 성장하도록 돕고자 합니다. 그 시작이 바로 업로드된 HTML에 대한 보안 검사와 정제입니다.

보안量子力學·
#웹보안#미니앱#ai창작#sanitization#mini app
📌 Featured

HTML 배포를 위한 2단계 보안·품질 검증 체계

위험한 코드는 저장 전에 차단하고, 공개 콘텐츠는 저장 후에 다시 검수합니다. 녹스블리 는 AI가 생성한 HTML과 사용자가 직접 작성한 HTML을 웹사이트에 실시간으로 배포하는 기능을 제공합니다. 브라우저에서 실행되는 코드인 만큼, 사용자가 업로드하는 HTML을 단순히 저장하는 것만으로는 안전과 품질을 함께 보장하기 어렵습니다. 이번 글에서는 안전한 HTML 배포를 위한 2단계 보안·품질 검증 체계에 대해서 소개하고자 합니다. 2단계 보안 검사·품질 검사 가 필요한 이유 보안 검사와 품질 검사는 서로 다른 영역에 해당합니다. 첫 번째는 “이 코드를 실행해도 안전한가?” 를 확인하고, 두 번째는 “이 결과물을 다른 사용자에게 공개해도 되는가?” 를 판단합니다. FIRST LINE - 저장 전 보안 검사 악성 스크립트, 위험 코드, 유해 콘텐츠를 업로드 단계에서 검사하고 차단합니다. SECOND LINE - 저장 후 품질 · 정책 검수 저장된 결과물의 완성도와 공개 정책 준수 여부를 승인 전에 다시 확인합니다. 첫 번째 방어선: 저장 전 보안 검사 업로드되는 HTML은 저장 전에 다단계 보안 검사를 거칩니다. 단일 파일, ZIP, 다중 파일, 리믹스 등 업로드 방식과 관계없이 같은 원칙을 적용합니다. HTML Sanitize → Content Filter → Security Audit HTML Sanitize — 허용된 태그와 속성만 통과시키고 실행 가능 요소를 별도로 검증합니다. Content Filter — DB 규칙과 AI 판정을 결합해 욕설·혐오·불법 콘텐츠를 확인합니다. Security Audit — 의심스러운 코드 패턴과 보안 위험 요소를 추가로 확인하고 후속 검토를 지원합니다. Standard Web Security Assessment 두 번째 방어선: 저장 후 품질·정책 검수 보안 검사를 통과했더라도 바로 공개되지는 않습니다. 쇼케이스와 리믹스에 등록되는 콘텐츠는 구조, 반응형, 접근성, 기능, 콘텐츠, 코드 품질을 기준으로 다시 평가합니다. 정적 분석과 실제 브라우저 렌더링을 함께 사용해 모바일 화면 깨짐, 접근성 누락, 동작하지 않는 링크와 리소스, 플레이스홀더 문구 등을 확인합니다. 검사 결과에 따라 자동 반려하거나 관리자 검토 대상으로 분류합니다. 완전한 면제보다 단계적인 신뢰 회원 등급이 높아지면 일부 제작 제한을 완화할 수 있지만, 핵심 필터와 공개 후 방어는 계속 적용됩니다. 신뢰 등급은 보안을 제거하는 권한이 아니라 검증된 사용자에게 제한적으로 더 넓은 제작 자유도를 제공하는 기준입니다. 하나의 일관된 원칙 두 방어선은 차단 기준과 검사 방식이 다르지만 목표는 같습니다. AI가 만들었든 사용자가 직접 만들었든, 실제 서비스로 공개되는 HTML에 보안·품질·신뢰 라는 동일한 원칙을 적용하는 것입니다. • • • 안전한 공개는 한 번의 검사가 아니라 과정입니다 저장 전에는 실행 위험을 줄이고, 저장 후에는 공개 품질을 확인합니다. 이 책임 분리가 녹스블리의 안전한 HTML 배포 구조를 만듭니다.

보안量子力學·
#security#audit#sanitize#filtering