독일 소버린 테크 에이전시, Flatpak 샌드박스·포털 개발에 €508,640 지원
- 독일 소버린 테크 에이전시가 소버린 테크 펀드로 Flatpak 개발과 유지 관리에 €508,640를 지원하며, Modal이 공동 운영하고 Para-Real Ltd.가 지원 기관을 맡는 2년 사업임
- 사업은 스피커 출력과 마이크 접근을 분리하는 오디오 포털, 호스트·로컬 네트워크·인터넷·포트별 권한을 나누는 네트워크 포털, 시스템 연결을 관리하는 VPN 포털을 개발함
- 샌드박스 앱이 시스템 사전과 맞춤법 검사 기능을 공유하게 하는 Writing Assistance 포털과, 기존 NativeMessaging 방식을 대체할 안전한 비밀번호 자동 완성 포털의 설계 연구를 포함함
- 앱 스토어 검토자가 포털별 정적 권한을 확인하게 하는 Entitlements, 딥링크와 URL 처리를 위한 Intents, libdex 이식·통합 테스트·권한 대화상자 개선을 진행함
- Philip Withnall, Julian Sparber, Dhanuka Warusadura 등 계약 인력이 참여하며, 사업은 수개월 안에 확대해 2027년 말까지 진행될 예정임
Hacker News opinions
Flatpak 앱은 그냥 디스크의 한 디렉터리여야 한다고 봄. 기본적으로 그 밖의 파일에는 접근 못 하게 해야 하는데, 설치와 실행 뒤 어디를 건드리는지 알기 어렵고 권한도 너무 넓음.
이런 건 Podman으로 돌림. 데스크톱 앱은 PipeWire와 Xephyr를 붙이는 수고가 들지만, 권한을 내 방식대로 설정하기에는 Flatpak 같은 데스크톱 컨테이너보다 Docker나 Podman이 나았음.
나도 앱 디렉터리 밖 접근은 팝업으로 폴더별 허용을 받는 방식이 좋음. 공유 라이브러리는 중앙 위치에 두고 심볼릭 링크로 연결하면 될 듯함.
그 방식은 앱 하나만 데이터를 다룰 때는 맞는데, 사진을 편집한 뒤 메일 앱으로 보내는 식의 데스크톱 작업은 여러 앱이 같은 데이터를 다뤄야 함.
주된 이유는 기술 부채임. Flatpak은 처음부터 거기에 맞춰 만들지 않은 앱도 패키징해야 해서, 호환성과 자원을 무시할 수 있다면 UX와 전체 스택에 진짜 MAC를 넣는 쪽이 더 나음.
권한을 좁게 선언하고 안전한 접근 프로토콜을 쓰는 Flatpak만 고르면 됨. Flathub의 오래된 앱은 구현이 어려워 권한을 넓히곤 하지만, 패키지를 고치려 하면 대개 막지는 않더라.
사용자 설치분은 ~/.var 아래에 들어가니 설치 자체가 여기저기를 바꾸는 건 아님. 다만 실행 뒤 임의 경로 접근이 가능할 수 있어서, 나는 먼저 Flatseal로 권한을 확인하고 바꿈.
원래 Flatpak은 앱별 디렉터리에 설치되고 기본 파일시스템 접근도 자체 설정과 데이터 디렉터리로 제한되는 구조 아닌가. 많은 앱이 과한 권한을 요구하는 문제는 별개라고 봄.
앱 샌드박스는 ~/.var/app/[APP]에 노출되고, Flatpak에 맞춘 앱은 XDG Desktop Portals로 호스트 파일 선택기를 띄워 사용자가 고른 파일이나 폴더만 받음. 기존 앱은 자체 파일 선택기를 쓰려 해서 홈 디렉터리 같은 넓은 권한을 요구하게 됨.
요즘 네이티브 데스크톱 앱을 만드는 이유 자체가 파일시스템이나 특이한 하드웨어에 넓게 접근해야 해서인 경우가 많다고 봄. 그런 필요가 없으면 웹 앱으로 만들면 되니까 Mint 앱 스토어 상위권도 각종 편집기가 대부분임.
Nix를 쓰고 나서는 이런 쪽 작업이 근본적으로 시간 낭비처럼 느껴짐.
Nix에도 네임스페이스를 더 잘 적용해서 /home 접근을 커널 훅 프롬프트로 제어하면 좋겠음. 디렉터리별로 항상 허용 같은 선택지를 주면 훨씬 나을 듯함.
Nix는 빌드를 실행할 표준 컨테이너 방식이 없음. OCI 이미지, Docker 컨테이너, systemd 컨테이너, qcow2 등 방식이 갈리고, 나는 결국 Podman과 Dockerfile을 더 자주 쓰게 됐음. Btrfs 스냅샷과 virtiofs를 쓰는 자체 스크립트도 있지만 아직 손이 너무 많이 감.
Nix는 런타임 샌드박싱을 하지 않음. 격리 빌드는 공급망 공격에는 도움이 되지만 실행 코드의 악성 행위나 취약점, 폐쇄형 앱에는 소용없고, Flatpak은 매니페스트 권한으로 컨테이너 접근을 제한한 뒤 Flatseal로 더 줄일 수 있음.
Aurora에서 Flatpak 설치는 편한데 앱마다 기능이 깨져서 짜증남. 네트워크 드라이브에 쓰다가 파일을 지우는 미디어 관리 앱도 있고, 컨트롤러를 못 보는 게임이나 첨부 파일을 못 보는 채팅 앱도 있음. 샌드박스 권한 패널보다 브라우저식 요청 허용이 나음.
유럽이나 독일의 소버린 테크 정책에 Flatpak 지원이 왜 필요한지 모르겠음. 더 급한 곳에 돈과 관심을 써야 한다고 봄.
불변형 시스템에서는 Flatpak이 흔한 패키징 방식임. 대규모 조직 배포 관점에서는 개념상 매력적이니 지원 이유는 이해됨.