git repo의 큰 패키지가 안전한지 어떻게 확인합니까?


9

나는 다음과 같은 속성을 가진 emacs helm을 구체적으로 보고 있습니다.

  • 그것은 커밋 수천
  • 주로 한 명의 사용자가 관리합니다
  • 관리자는 다른 프로필 (소셜 미디어 등)이 없습니다. 몇 번의 검색으로 찾을 수있었습니다.
  • 적극적으로 관리되고 있습니다 (오늘)

텍스트 편집기에서 사용할 임의의 코드를 컴퓨터에 설치하려고하므로 검토 과정이 진행 중인지 확인하고 싶었습니다. "오픈 소스"라고 말하고 싶지만 실제로 모든 코드를 직접 감사 할 수있는 능력과는 거리가 멀다. 나는 커뮤니티의 다른 사람들이 그것을 검토했다고 가정하고 싶지만 하나는 아마도 틀린 것이고 두 개는 최신 커밋이 있습니다. 내가 놓친 다른 전략이 있습니까?

기록의 벡터는 간단합니다. 기고자가 폐기 계정으로 작업하거나 검토 프로세스가없는 경우 "오픈 소스"는 그다지 중요하지 않습니다.


6
" 확인 "은 큰 단어입니다. 단어의 규칙적인 의미에서, 나는 "당신은 할 수 없습니다."라고 대답합니다. 라이브러리의 개발 활동을 따를 수 있으며 디지털 서명 등을 확인할 수 있지만 확실하고 확실한 것은 없습니다.
Drew

3
좋은 질문. FWIW, Emacs와 함께 제공되는 코드는 (emacs-diffs 메일 링리스트를 통해) 검토되지만, 일부 기고자가 보안 허점을 추가한다면, 그는 눈치 채지 않고 그것을 할 수 있다고 확신합니다. 물론, 어쨌든 Emacs에 큰 실수로 보안 취약점이 많지 않은 것에 대해 놀랐을 것입니다. 따라서 좀 더 확실한 답변을 얻으려면 간단한 특정 위협에 초점을 맞춰야한다고 생각합니다 (예 : 코드가 어떤 종류의 숨겨지지 않은 감시를 수행하는지 확인하는 것은 상당히 쉬워야합니다).
Stefan

2
관리자는 수년 동안 emacs 개발에 적극적으로 참여하고 있으며 검색을 통해 확인할 수 있으므로 다음과 같은 보증이 있습니다. list.gnu.org/archive/cgi-bin/…
Tom

1
@ 스테판, 나는 단지 현장 점검만을 생각하고있었습니다. 내 관점에서 볼 때 ,, 와 mapatoms함께 "위험한"그룹에 넣을 수 있습니다 . 물론 오 탐지가있을 수 있지만 패키지가 이러한 기능을 사용하지 않으면 큰 확실성으로 무해한 것으로 표시 될 수 있습니다. start-processevalfuncall
abo-abo

1
당신은 새로운 추가해야 할 make-process뿐만 아니라 call-process, dbus-<foo>, make-network-stream, 다음 vc-do-command, vc-git-command당신은 넣어 경우, .... 그리고 evalfuncall은 "위험"카테고리에 다음 대부분의 / 모든 패키지가 위험하다.
Stefan

답변:


7

짧은 대답은 코드를 직접 읽지 않으면 신뢰를 많이 얻는 것입니다. 예를 들어 업스트림 SCM에서 제공되는 프로젝트를 신뢰하는 것이 예를 들어 Emacs Wiki 에서 직접 가져온 것보다 조금 안전 합니다. 그러나 근본적으로 당신은 Emacs 세션에서 악의로 변하지 않고 임의의 코드를 실행하는 능력을 남용하지 않도록 패키지 작성자를 신뢰합니다.

더 안전하다고 느낄 수있는 몇 가지 사항이 있습니다.

  • 인기있는 패키지에 충실

인기있는 패키지는 더 많은 사용자를 확보한다는 사실을 자동으로 더 많이 검토하지는 않지만 악의적 인 행동이 사용자에게 영향을 미치기 전에 탐지 될 가능성을 의미합니다.

  • 코드 메트릭을보십시오

github 에서 프로젝트 기여 내역을 상당히 잘 볼 수 있습니다 . 기본 저자가 광범위한 저자를 가진 대부분의 커밋을 수행하더라도 코드의 안정성과 효과에 적극적으로 관심을 가진 다른 사람들이 있음을 보여줍니다.

  • HEAD (MELPA)를 추적하거나 심사되지 않은 제출 (Marmalade)을 허용하는 저장소보다 GNU ELPA 및 MELPA Stable을 선호하십시오.

최첨단 환경에서 생활하면서 최신의 반짝이는 기능을 원하는 사람들에게는 특별한 호소력이 있습니다. 악의적이지 않더라도 "공식"릴리스는 최소한 일종의 커서 검토를 받았지만 플럭스 상태의 패키지를 얻을 수 있습니다. 예를 들어 GNU ELPA 패키지는 커밋 권한이있는 emacs-devel 사용자 만 커밋합니다.

궁극적으로 나는 개념 증명 실험 일지라도 패키지 시스템을 통한 보안 침해가있을 것이라고 확신합니다. 그것은 정기적 인 백업에 의존해야 할 시점입니다.


1
마멀레이드는 "신뢰할 수있는"자료실입니다. 이를 통해 누구나 검증 또는 검토없이 이름으로 패키지를 업로드 할 수 있습니다. 정확하게 유지 관리되지는 않습니다 (개방 된 이슈 수를 살펴보십시오).
lunaryorn

@lunaryorn : 좋은 지적, 나는 대답을 수정합니다.
stsquad

@lunaryorn MELPA는 elmarmalade 리포지토리보다 훨씬 많은 공개 된 문제를 가지고 있으므로 이것이 유용한 메트릭인지 의심합니다.
wasamasa

@stsquad MELPA Stable이 당신에게 제공하는 유일한 것은 어쨌든 MELPA에서 끝났을 것들의 태그가 붙은 것이므로 Marmalade를 사용하는 것보다 그것이 얼마나 안전한지 알 수 없습니다.
wasamasa

1
@wasamasa 죄송합니다. 내 의견이 잘못 표현되었습니다. 그 숫자는 확실하지 않지만 공개 된 이슈 다음과 같습니다. 새로운 이슈에 대한 반응이없고, 코멘트가 없으며, 레이블이나 과제조차 없습니다. 마멀레이드는 실제로 죽었습니다.
lunaryorn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.