기본 표준
1. 커뮤니티 가치
커스텀 노드는 ComfyUI 커뮤니티에 유용한 기능을 제공해야 합니다. 피해야 할 사항:- 지나친 자기 홍보
- 사칭 또는 오해를 일으킬 수 있는 행동
- 악의적인 행동
- 자기 홍보는 지정된 설정 메뉴 섹션 내에서만 허용됩니다.
- 상단 및 측면 메뉴에는 유용한 기능만 포함되어야 합니다.
2. 노드 호환성
다른 커스텀 노드의 작동(설치, 업데이트, 제거)을 방해해서는 안 됩니다.- 다른 커스텀 노드에 의존하는 경우:
- 의존하는 기능이 사용될 때 명확한 경고를 표시합니다.
- 필수 노드를 보여주는 예제 워크플로우를 제공합니다.
3. 법적 준수
모든 해당 법률과 규정을 준수해야 합니다.5. 품질 요구사항
노드는 완벽히 작동하고, 잘 문서화되며, 적극적으로 유지보수가 이루어져야 합니다.6. 포크 가이드라인
포크된 노드는 다음을 충족해야 합니다:- 원본과 명확히 구분되는 이름을 가져야 합니다.
- 기능이나 코드 면에서 중대한 차이가 있어야 합니다.
보안 표준
커스텀 노드는 안전해야 합니다. 이러한 표준을 위반한 커스텀 노드는 다시 작성하도록 조치를 취할 것입니다. 핵심에서 공개해야 할 주요 기능이 있다면 rfcs 리포지토리에서 요청해 주세요.eval/exec 호출
정책
보안상의 이유로 커스텀 노드에서는eval 및 exec 함수의 사용이 금지됩니다.
근거
이러한 함수는 임의의 코드 실행을 가능하게 하므로, 사용자 입력을 처리할 때 원격 코드 실행(RCE) 취약점을 발생시킬 수 있습니다. 사용자 입력을eval이나 exec에 전달하는 노드를 포함한 워크플로우는 다음과 같은 다양한 사이버 공격에 악용될 수 있습니다:
- 키로깅
- 랜섬웨어
- 기타 악성 코드 실행
pip install을 위한 subprocess
정책
runtime 패키지 설치를 위한 subprocess 호출은 허용되지 않습니다.근거
- 첫 번째 항목 ComfyUI 매니저는 ComfyUI와 함께 제공되며 사용자가 의존성을 설치할 수 있도록 합니다.
- 중앙 집중식 의존성 관리는 보안과 사용자 경험을 개선합니다.
- 잠재적인 공급망 공격을 예방하는 데 도움이 됩니다.
- 여러 번의 ComfyUI 재로드 필요성을 없앱니다.
코드 난독화
정책
커스텀 노드에서는 코드 난독화가 금지됩니다.근거
난독화된 코드:- 검토가 불가능하며 악성일 가능성이 높습니다.