Obsidian CEO임. 새 Community 사이트와 리뷰 시스템을 출시하려고 거의 1년 동안 작업해 왔고, 이번 첫 버전이 매우 기대되지만 앞으로 개선할 것이 더 많음
블로그 글, FAQ, 로드맵의 다음 단계까지 최대한 빠짐없이 쓰려 했지만 놓친 부분도 있을 테니 질문해도 좋음
7명뿐인 팀이 수천 명의 플러그인 개발자와 수백만 사용자를 상대해야 해서, 서로 충돌하는 우선순위를 균형 있게 맞추는 일이 매우 어려웠음
새 시스템은 쉽게 도입 가능하고, 하위 호환성을 유지하며, 기존 작업 흐름을 완전히 깨지 않으면서도 예전 방식보다 크게 나아져야 했고, 플러그인의 보안성과 발견 가능성을 점진적으로 높일 수 있어야 했음
아직 진행 중인 작업으로 봐 주면 좋겠고, 아이디어와 불만을 듣고 계속 반복 개선하겠음
여러 프로젝트에 플러그인을 붙여 왔고, 프로젝트가 특정 버전을 검토 완료·신뢰 가능으로 표시하는 구조를 도입해 볼까 생각한 적이 있음
망설였던 이유 중 하나는 엄청난 시간 투자도 있지만, 사람들이 그 리뷰 절차에 의존하게 된 뒤 난독화된 악성 코드가 통과하면 이후 공격의 책임이 프로젝트에 돌아올까 두려웠기 때문임
이 부분을 어떻게 보고 있는지 궁금함
내게는 Debian/Ubuntu처럼 저장소 안의 모든 것을 엄격히 검토하는 방식과, 검토 보장을 전혀 하지 않는 PyPI/npm 방식의 차이처럼 느껴짐
자동 스캔 시스템이 권한 범위 확장이나 네트워크 도메인 접근 변화를 내부/사람 리뷰 대상으로 표시하는지 궁금함
예를 들어 AI 요약 플러그인이 처음에는 사용자가 제공한 OpenAI 키로 url="api.openai.com"+path에 접근한다고 하면 아주 흔한 형태일 것이고, 커뮤니티가 여기서 만들 것들이 기대됨
그런데 업데이트 후 사용자가 OpenAI 호환 API로 임의의 엔드포인트를 고를 수 있게 된다면, 그 유연성을 악용해 스캔을 우회하는 네트워크 유출 경로를 만들고 악성 엔드포인트를 은근히 미리 채워 넣는 업데이트가 아니라는 것을 어떻게 보장할 수 있을까?
Obsidian 팀이 훌륭한 일을 했음. Obsidian Sync 사용자로 계속 남을 생각이고, 커뮤니티 플러그인을 더 안심하고 쓰게 되길 기대함
드디어 나왔음
Obsidian을 써 봤을 때 데이터 테이블 기능이 기본 내장이 아니라 전체 접근 권한을 가진 플러그인이라는 걸 알고 바로 지웠음
그런데 팀이 7명뿐이라니 놀라움
잘 모르는 사람들을 위해 말하자면, 지금까지는 수동 리뷰 때문에 새 플러그인 제출이 사실상 불가능에 가까웠음. AI로 플러그인 작성이 쉬워지고 재미있어진 영향도 있음
개발자 커뮤니티의 불만은 점점 커졌고, 팀도 부하에 지쳐 가고 있었음
그래서 팀에 축하를 보냄. 거대한 확장성 병목이 풀린 셈이고, 이들이 만들고 확장해 가는 과정을 보는 것이 꽤 멋짐
추천할 만한 멋진 플러그인이 있나? OneNote에서 넘어오고 동기화까지 설정한 뒤 이제야 편해지고 있음
Obsidian을 쓰지는 않지만, 제목을 봤을 때는 기업이 승인한 소수 플러그인으로 제한하려는 건가 싶었음
소프트웨어 회사가 “XYZ의 미래” 같은 제목을 쓰면 대개 XYZ를 심하게 제한하거나 종료 준비를 한다는 뜻으로 기대하게 됨
어느 지점에서 엔시티피케이션이 드러날지 궁금했음
자동 검사만으로 플러그인이 악성인지 안정적으로 판단할 수 있을지는 확신이 안 듦
플러그인 보안 문제를 푸는 최선의, 어쩌면 유일한 방법은 명시적 API와 권한 시스템을 갖춘 샌드박스라고 봄
“명시적 API와 권한 시스템을 갖춘 샌드박스가 필요하다”는 말에 더해, 특히 내 개인 데이터에 손대지 못하게 해야 한다고 말하고 싶음. 다만 Obsidian 플러그인의 핵심이 문서를 읽고 쓰는 것이라는 점이 문제임
하지만 인터넷과 통신할 수 없다면 큰 문제는 없어 보이기도 함
추가로 보니 JavaScript와 Electron 구조상 Obsidian 플러그인은 전역 범위에서 실행되는 JavaScript 덩어리이고, 사용자 권한이 허용하는 범위 안에서 전체 파일 시스템을 읽고 쓰며 HTTP 요청도 만들 수 있는 듯한데, 맞는지 확인해 줄 수 있나?
자체 악성 코드를 막아 주지는 못하지만, 의존성이 최신으로 유지되는지, 알려진 CVE가 들어 있는지 판단하는 데는 꽤 도움이 될 수 있음. Trivy가 하거나 Artifacthub가 강조하는 방식과 비슷함
다만 이 생태계에서 실제로 얼마나 잘 작동할지는 궁금함. 경험상 전면적인 스캔은 거짓 양성, 즉 CVE는 있지만 실제 사용 맥락에는 적용되지 않는 경우가 꽤 나오기 쉬움
그래서 스캔 결과를 올바르게 해석하려면 지식이 필요하고, 이는 유지관리자에게 상당한 부담으로 이어질 수 있음
블로그 글을 읽어 보면 됨. 자동 스캔과 팀용 제어 기능에 더해 권한 시스템도 계획되어 있음
권한만으로는 특정 악성 행동을 막을 수 없기 때문에 모두 필요함
Community 사이트의 점수표 몇 개만 봐도, 일부 경고는 권한 시스템이나 샌드박싱으로 잡을 수 없는 것임을 금방 알 수 있음
블로그 글에 출시 방식의 세부 내용이 있고, 플러그인 API 변경이 필요하므로 단계적으로 진행될 예정임
당연히 기존 플러그인과 호환되지는 않을 테니, 레거시 플러그인과 새 플러그인을 분리하고 레거시 플러그인 설치에는 마찰을 많이 넣은 뒤 언젠가 폐기하는 식으로 가겠음