1P by neo 1달전 | favorite | 댓글 1개

Debian의 KeePassXC 패키지에서 기능 제거 논란

  • Debian의 KeePassXC 패키지 관리자가 일방적으로 패키지에서 모든 기능을 제거하기로 결정함.
  • Debian sid에서 기본 keepassxc 패키지는 네트워킹, SSH 에이전트, 브라우저 플러그인, fdo 시크릿 스토리지 등의 기능이 제거되고 최소 기능만 포함하게 됨.
  • 해당 기능이 필요하다면 keepassxc-full 패키지로 전환해야 함.

기능 제거 이유에 대한 논란

  • Debian 버그 리포트에서는 보안 문제를 이유로 들고 있음.
  • 하지만 KeePassXC 팀에서는 네트워킹뿐 아니라 Yubikey 지원, 자동 입력, 브라우저 연동 등 거의 모든 기능을 제거한 것은 과도하다는 입장.
  • 기능 제거가 오히려 취약점을 줄이는 것보다 사용자가 필요로 하는 기능을 없앤다는 의견도 있음.

Debian의 입장과 반응

  • Debian에서는 미사용 코드와 불필요한 기능을 제거하는 것이 liblzma 타협 사건 이후 보안을 위해 최선이라는 입장.
  • 하지만 KeePassXC 팀과 사전 협의 없이 일방적으로 결정한 것에 대해 비판받음.
  • 사용자 혼란을 최소화하기 위해 keepassxc를 keepassxc-full로 전환하는 transitional 패키지를 제공하기로 함.

GN⁺의 의견

  • 보안을 위해 불필요한 기능을 제거하는 것 자체는 나쁘지 않으나, 패키지 이름을 바꾸지 않고 기존 사용자들이 사용하던 기능을 갑자기 제거하는 것은 좋지 않은 방식임.
  • Debian과 같은 배포판에서 패키지 정책을 바꿀 때는 가급적 업스트림 개발자들과 협의를 거치고, 사용자 입장에서 겪을 혼란을 최소화하려 노력해야 함.
  • 완전한 기능을 포함하는 패키지와 최소한의 패키지를 나눠 제공하되, 이름을 잘 구분하고 사용자가 선택할 수 있게 하는 것이 바람직함.
  • 다른 암호 관리자를 찾아보는 것도 방법이지만, KeePassXC에 더 적극적으로 기여하고 협력해서 문제를 개선하려 노력하는 것도 중요함.
  • 자유 소프트웨어라고 해서 패키지 관리자가 마음대로 할 수 있다기보다, 사용자와 개발자 커뮤니티의 의견을 존중하고 투명하게 소통하려 노력해야 함.
Hacker News 의견

해커뉴스 댓글 요약

1. 업스트림 프로젝트의 기능을 제거하고 동일한 이름으로 배포하는 것에 대한 우려

  • 업스트림 프로젝트에서 구현한 기능을 제거하고 동일한 이름으로 배포하는 것은 문제의 소지가 있음
  • 이런 방향으로 가려면 포크해서 다른 이름으로 배포해야 함
  • 과거 Debian의 Chromium 패키지 관리자가 임의로 확장 기능 설치를 비활성화했던 사례 언급

2. 보안 측면에서 네트워크 기능 제거가 합리적이라는 의견

  • 패스워드 관리자에서 네트워크 기능과 브라우저 통합은 잠재적 취약점이 될 수 있음
  • 네트워크 관련 기능 없이 신뢰할 수 있는 데이터베이스만 사용하면 취약점이 발견되더라도 악용이 불가능함
  • 네트워크 기능이 포함된 완전한 버전의 패키지도 Debian에 존재하므로 원하는 사용자는 keepassxc-full을 설치할 수 있음
  • 다만 업스트림을 "형편없다"고 부르는 것은 생산적이지 않으며, keepassxc-litekeepassxc-full이 더 적절한 패키지명일 수 있음

3. "full"과 "minimal" 버전을 모두 패키징하는 것이 올바른 선택이라는 의견 제시

  • 두 버전 간에 Conflicts 관계를 정의하고 Provides와 Replaces 태그를 활용하여 사용자가 선택할 수 있게 해야 함
  • 이것이 명백한 선택이 아닌 이유에 대한 의문 제기

4. Arch Linux에서 사용자 동의 없이 passim 패키지에 의존하게 하는 문제 제기

  • fwupd 패키지가 사용자 동의 없이 passim에 의존하도록 설정되어 있음
  • passim은 0.0.0.0:27500에서 웹 서버를 실행하며 취약점이 많은 GnuTLS를 사용함
  • 이러한 설정은 악용될 가능성이 있어 우려됨

5. 최소한의 놀라움 원칙에 따라 문서화된 위험이 없는 한 핵심 기능을 비활성화해서는 안 된다는 의견

  • KeePassXC의 기능들은 사용자의 명시적 개입 없이는 취약점의 원인이 되지 않음
  • 브라우저 통합 기능은 클립보드 접근보다 훨씬 안전하며, 프로젝트의 비전과도 맞지 않음
  • 이 변경으로 인해 혜택을 받을 사용자는 극소수인 반면, 브라우저 통합 기능을 사용하는 사람들에게는 심각한 불편을 초래함

6. 기존 사용자를 깨뜨리지 않고도 구분이 가능하므로 Debian 패키지 관리자의 잘못된 결정이라는 주장

  • 네트워킹 기능 없는 KeePassXC를 제공하는 것은 좋지만, 브라우저 통합을 틈새 기능으로 보는 것은 동떨어진 생각임
  • Debian의 KeePassXC 사용자 중 절반 이상이 이번 결정으로 인해 깜짝 놀랄 것임
  • 궁극적으로 패키지 관리자의 결정이지만 좋은 결정은 아님

7. KeePassXC 관리자의 의견 인용

  • 새로운 패키징 방식으로 인해 사람들의 작업 흐름이 망가졌다는 보고를 받음
  • 사용자가 Yubikey 기능이 제거되어 데이터베이스에 접근할 수 없게 되었다는 사례도 있음
  • 가장 중요한 비밀에 대한 접근을 잃은 사람들은 당황스러운 순간에 비이성적인 행동을 할 수 있음

8. 업스트림 프로젝트의 의도와 다르게 패키지를 변경할 경우 다른 이름으로 배포해야 한다는 의견

  • 다운스트림 관리자가 패키지를 변경할 경우 다른 이름으로 배포하고 수정된 버전으로 인한 모든 버그 리포트를 처리해야 함

9. 최신 논의는 GitHub 이슈에서 확인할 수 있다는 안내

10. 제목이 잘못되었다는 지적

  • 원래 게시물은 네트워킹 기능뿐만 아니라 모든 기능이 제거되었다고 언급했으며, 이는 사실임
  • 오프라인 기능을 포함한 모든 선택적 기능이 빌드 중에 끄기로 설정되었음