에어갭 네트워크에서 주석 작업을 운영하는 방법
주석 도구에서 "오프라인"이 무엇을 뜻해야 하는지, 왜 스타일시트 안의 @import가 대부분의 에어갭 감사를 빠져나가는지, 그리고 외부로 나갈 길이 없는 장비에 모델을 들여놓는 방법.
"오프라인에서 동작한다"는 주석 도구는 대개 주석 페이지가 표시된다는 뜻입니다. 그것은 배포 전체가 외부로 요청을 보내지 않는다는 것과 같지 않으며, 그 틈에 프라이버시 문제가 살고 있습니다. 보안이 요구되는 연구 환경, 임상 현장, 정부 네트워크에 배포한다면 확인해야 할 것이 바로 이것입니다.
소스가 아니라 렌더링된 페이지를 감사하라
믿을 수 있는 유일한 검사는 실제로 해보는 것입니다. DevTools 네트워크 패널을 서드파티 요청으로 걸러 놓은 상태에서 주석 인터페이스를 열고 세어 보십시오.
템플릿을 읽는 것만으로는 충분하지 않으며, 이것은 가정에 불과한 구분이 아닙니다. Potato 자체의 styles.css는 Google Fonts를 @import하는 줄로 시작했고, 이전 세 차례의 에어갭 감사를 통과했습니다. 모든 검사가 템플릿 안의 <script src>와 <link href>를 확인했는데, 스타일시트 내부의 @import는 그 어느 쪽도 아니었기 때문입니다.
오프라인에서 깨지는 것을 넘어, 이는 페이지가 로드될 때마다 모든 주석자의 IP 주소와 User-Agent를 제3자에게 보내고 있었습니다. 그것도 데이터를 자기 인프라 밖으로 내보내지 않으려고 직접 호스팅하는 도구에서 말입니다.
주요 페이지가 아니라 모든 페이지를 확인하라
로그인, 가입, 비밀번호 재설정, 오류 페이지는 가장 덜 감사되면서 가장 중요합니다. 로그인 페이지의 서드파티 파비콘은, 사용자가 자격 증명을 입력하는 바로 그 페이지에서 다른 회사의 서버로 나가는 요청입니다.
Potato는 이제 14개 템플릿 전부를 로컬에서 제공합니다. 실측 검증 결과는 62건 요청, 외부 0건입니다.
무엇이 로컬에 있어야 하는가
모든 스타일시트, 스크립트, 폰트, 아이콘입니다. Potato의 경우 Fabric.js, jQuery, Bootstrap, Font Awesome, 인터페이스 서체, three.js, OpenSeadragon, d3, Peaks.js, PDF.js가 여기 해당합니다.
이 중 둘은 장식이 아니라 필수입니다. jQuery가 없으면 스팬 주석이 동작하지 않고, Fabric.js가 없으면 이미지 캔버스가 초기화되지 않아 그리기 도구는 표시되지만 아무것도 그릴 수 없습니다. 표시는 되면서 조용히 주석을 달 수 없는 에어갭 배포가 최악의 결과입니다. 멀쩡해 보이기 때문입니다.
포함된 파일을 검증하라
포함된 파일은 커밋되므로, 검증되지 않은 다운로드는 그 릴리스의 모든 사용자에게 전달됩니다. 각 파일을 해당 CDN이 공개한 해시와 대조하고, 일치하지 않으면 거부하십시오.
가드의 허용 목록은 비워 두고, 항목이 아무것과도 일치하지 않게 되면 가드가 실패하도록 만드십시오. 그러지 않으면 임시 예외가 조용히 영구화됩니다.
모델은 별도의 전송이다
애플리케이션이 네트워크를 필요로 하지 않는다는 것과 모델이 그 자리에 있다는 것은 다릅니다.
# On a connected machine
potato download-models --list
potato download-models mobile_sam
potato download-models grounding_dino_tiny
# Then copy the model directory to the air-gapped machine그러므로 정확한 주장은 "설정 없이 에어갭"이 아니라 "가중치가 장비에 올라가고 나면 에어갭" 입니다. 설정한 호스팅형 AI 엔드포인트는 당연히 외부로 나가는 경로가 필요하며, 이런 배포에서는 꺼 두어야 합니다.
옮기기 전에 라이선스를 확인하라
아직 브라우저를 쓸 수 있을 때 해두십시오. download-models --list는 비상업용 모델에 표시를 하고, download-models는 --accept-licence 없이는 그런 모델을 받아오지 않습니다. 격리된 네트워크에서 데이터셋을 다 만든 뒤에 라이선스 제약을 발견하는 것은 값비싼 학습 방식입니다.