메인 콘텐츠로 건너뛰기

기본 표준

1. 커뮤니티 가치

커스텀 노드는 ComfyUI 커뮤니티에 유용한 기능을 제공해야 합니다. 피해야 할 사항:
  • 지나친 자기 홍보
  • 사칭 또는 오해를 일으킬 수 있는 행동
  • 악의적인 행동
  • 자기 홍보는 지정된 설정 메뉴 섹션 내에서만 허용됩니다.
  • 상단 및 측면 메뉴에는 유용한 기능만 포함되어야 합니다.

2. 노드 호환성

다른 커스텀 노드의 작동(설치, 업데이트, 제거)을 방해해서는 안 됩니다.
  • 다른 커스텀 노드에 의존하는 경우:
    • 의존하는 기능이 사용될 때 명확한 경고를 표시합니다.
    • 필수 노드를 보여주는 예제 워크플로우를 제공합니다.

3. 법적 준수

모든 해당 법률과 규정을 준수해야 합니다.

5. 품질 요구사항

노드는 완벽히 작동하고, 잘 문서화되며, 적극적으로 유지보수가 이루어져야 합니다.

6. 포크 가이드라인

포크된 노드는 다음을 충족해야 합니다:
  • 원본과 명확히 구분되는 이름을 가져야 합니다.
  • 기능이나 코드 면에서 중대한 차이가 있어야 합니다.
아래는 커스텀 노드를 레지스트리에 게시하기 위해 반드시 충족해야 하는 표준입니다.

보안 표준

커스텀 노드는 안전해야 합니다. 이러한 표준을 위반한 커스텀 노드는 다시 작성하도록 조치를 취할 것입니다. 핵심에서 공개해야 할 주요 기능이 있다면 rfcs 리포지토리에서 요청해 주세요.

eval/exec 호출

정책

보안상의 이유로 커스텀 노드에서는 evalexec 함수의 사용이 금지됩니다.

근거

이러한 함수는 임의의 코드 실행을 가능하게 하므로, 사용자 입력을 처리할 때 원격 코드 실행(RCE) 취약점을 발생시킬 수 있습니다. 사용자 입력을 eval이나 exec에 전달하는 노드를 포함한 워크플로우는 다음과 같은 다양한 사이버 공격에 악용될 수 있습니다:
  • 키로깅
  • 랜섬웨어
  • 기타 악성 코드 실행

pip install을 위한 subprocess

정책

runtime 패키지 설치를 위한 subprocess 호출은 허용되지 않습니다.

근거

  • 첫 번째 항목 ComfyUI 매니저는 ComfyUI와 함께 제공되며 사용자가 의존성을 설치할 수 있도록 합니다.
  • 중앙 집중식 의존성 관리는 보안과 사용자 경험을 개선합니다.
  • 잠재적인 공급망 공격을 예방하는 데 도움이 됩니다.
  • 여러 번의 ComfyUI 재로드 필요성을 없앱니다.

코드 난독화

정책

커스텀 노드에서는 코드 난독화가 금지됩니다.

근거

난독화된 코드:
  • 검토가 불가능하며 악성일 가능성이 높습니다.