무료 생성형 AI 보안 DLP(데이터 유출 방지) 설정

반응형

DLP라고 봐도될까요 ..? ㅋㅋㅋ 거창하게 작성해보았습니다.

생성형 AI의 경우에는 외부 서비스이다보니 보안 설정이 어렵습니다,

막자니 컴플레인, 풀자니 보안문제 .. 흑흑.

 

내가 질문한 내용이 AI에 학습되지 않게 설정하는 보안 설정은 아래 문서를 참고하시면 될 것 같고,

2026.06.07 - [일반] - 생성형 AI(Chatgpt, Gemini, Claude) 보안 설정 방법

 

생성형 AI(Chatgpt, Gemini, Claude) 보안 설정 방법

요즘 챗지피티(ChatGPT), 제미나이(Gemini), 클로드(Claude) 등 생성형 AI를 많이들 사용하고 계신데, 이 생성형 AI의 기본 설정은 내 데이터를 수집해서, 학습에 사용합니다. 이 학습에 사용되면, 내가

myit.tistory.com

 

실제 사용자들이 어떤 프롬프트를 썼는지, OCR 로 어떤 이미지를 넣는지 정도까지 핸들링하기 위해서는

솔루션을 쓰거나, 자체 LLM (사내 인공지능)을 구축해야합니다.

 

하지만 돈이 많이 드는 부분은 사실입니다.

 

그래서, 중소기업에서 AI 보안에 활용할 수 있는 방법은 아래와 같습니다.

 

"돈 안 들이고 AI 유출 막는 가성비 보안 팁"

웹사이트 텍스트 필터 확장프로그램을 이용하는겁니다.

 

직원들이 ChatGPT나 클로드 같은 사이트에서 대화를 나눌 때, 사내 중요 정보나 개인정보를 입력하면 실시간으로 감지해 가짜 데이터로 바꿔서 보내는 방식입니다. 

 

이 코드에서는 예시로 IP 주소 예시 192.168.0.1 이 들어가면 [IP_ADDRESS] 로 치환,

전화번호가 기입되면 [PHONE_NUMBER]로 치환 시키는 코드입니다.

 

이것은 크롬, 엣지 브라우저 확장프로그램에 추가하여 사용 가능합니다.

 

1. 메모장에 아래 코드를 복사해서, 각각 아래와 같이 파일로 만들고 같은 경로에 놔주세요 

 

코드는 입맛에 맞게 바꿔쓰시면 됩니다. (생성형 AI 활용하세요)

 

파일명 : manifest.json

{
  "manifest_version": 3,
  "name": "TEST",
  "version": "1.0",
  "description": "TEST Inc. AI 보안 마스킹 테스트용",
  "permissions": ["activeTab"],
  "content_scripts": [
    {
      "matches": [
        "https://chatgpt.com/*",
        "https://chat.openai.com/*",
        "https://gemini.google.com/*"
      ],
      "js": ["content.js"],
      "run_at": "document_idle"
    }
  ]
}

 

파일명 : content.js

// 모든 IPv4 주소를 잡는 정규표현식
const filters = [
    { 
        // 0-255 사이의 숫자 4개가 점(.)으로 연결된 패턴
        pattern: /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/g, 
        replace: "[IP_ADDRESS]" 
    },
    { pattern: /010-\d{4}-\d{4}/g, replace: "[PHONE_NUMBER]" }
];

function applyMasking(element) {
    let text = element.tagName === 'TEXTAREA' ? element.value : element.innerText;
    let modifiedText = text;

    filters.forEach(f => {
        modifiedText = modifiedText.replace(f.pattern, f.replace);
    });

    if (text !== modifiedText) {
        if (element.tagName === 'TEXTAREA') {
            element.value = modifiedText;
            element.dispatchEvent(new Event('input', { bubbles: true }));
        } else {
            // contenteditable 영역 (Gemini 등) 처리
            const selection = window.getSelection();
            const range = document.createRange();
            
            // 현재 커서 위치 저장 시도 (입력 중 방해 최소화)
            const savedRange = selection.rangeCount > 0 ? selection.getRangeAt(0).cloneRange() : null;

            range.selectNodeContents(element);
            selection.removeAllRanges();
            selection.addRange(range);
            
            // 브라우저 상태 강제 업데이트
            document.execCommand('insertText', false, modifiedText);
        }
    }
}

let typingTimer;
document.addEventListener('input', (e) => {
    clearTimeout(typingTimer);
    const el = e.target;
    if (el.matches('div[contenteditable="true"], textarea, #prompt-textarea')) {
        // 실시간 치환 속도를 0.3초로 상향
        typingTimer = setTimeout(() => applyMasking(el), 300);
    }
}, true);

document.addEventListener('keydown', (e) => {
    if (e.key === 'Enter' && !e.shiftKey) {
        const el = document.activeElement;
        if (el.matches('div[contenteditable="true"], textarea, #prompt-textarea')) {
            applyMasking(el);
        }
    }
}, true);

 

 

2. 엣지 브라우저에서 edge://extentions 사이트로 들어갑니다.

 

3. 아래 버튼을 눌러 위에 소스코드가 있는 폴더를 선택, 내가 만든 확장프로그램이 활성화 되는지 확인합시다. 

 

4. 잘 적용되었는지 실제 gemini 사이트를 들어가서 확인해본다

    010-2222-222 까지는 조건에따라 치환이 되지 않고 010-2222-2222 를 입력하는 순간 치환이 된다

 

 

5. 입력하는 순간 정상적으로 치환되는 것을 확인할 수 있습니다!

 

 

크롬도 동일합니다.

chrome://extensions 으로 들어가서 '압축해제된 확장 프로그램 로드' 클릭해서 소스코드가 있는 폴더를 지정해주면 아래와 같이 확장프로그램이 추가되면 필터기능을 가진 확장프로그램이 생긴다.

 

 

관리만 된다면 무료로 이만한 것은 없다고 판단됩니다. 

 

잘 이용해서 즐거운 회사생활하십시오! 

반응형