
n8n 워크플로 자동화 인스턴스를 위한 포괄적인 취약점 탐지 도구입니다. 어떠한 익스플로잇도 수행하지 않고 중요한 CVE-2026-21858 취약점(CVSS 10.0)을 탐지합니다.
CVE-2026-21858(Ni8mare 취약점)용 윤리적 보안 스캐너
"지식은 힘이지만, 책임감 있게 공유될 때만 그렇다."
n8n 워크플로 자동화 인스턴스를 위한 종합 취약점 탐지 도구입니다. 어떠한 익스플로잇도 수행하지 않고 치명적인 CVE-2026-21858 취약점(CVSS 10.0)을 탐지합니다.
# 스크립트 디렉토리로 이동
cd ni8mare-scanner/scripts
# 의존성 설치
pip install -r requirements.txt
# 버전이 취약한지 확인
python n8n_scanner.py version-check 1.120.0
# 라이브 인스턴스 스캔
python n8n_scanner.py scan https://n8n.example.com:5678
# CVE 정보 확인
python n8n_scanner.py info
심각도: CVSS 10.0(치명적)
수정 버전: n8n v1.121.0
발견자: Dor Attias(Cyera Research Labs)
도구 관리자: GitHub의 CropNet, Schema.cx 조직 연구팀
인증되지 않은 공격자가 Content-Type 혼동을 통해 임의 파일을 읽을 수 있게 하는 치명적인 취약점입니다.
이 스캐너는 비침습적 탐지만 수행합니다 - 취약점을 절대 익스플로잇하지 않습니다.
# 취약한 버전 확인
python n8n_scanner.py version-check 1.120.0
# 출력: 상태 🔴 취약 (종료 코드 2)
# 안전한 버전 확인
python n8n_scanner.py version-check 1.121.0
# 출력: 상태 🟢 취약하지 않음 (종료 코드 0)
# 기본 스캔
python n8n_scanner.py scan https://n8n.example.com:5678
# JSON 출력으로 심층 스캔
python n8n_scanner.py scan https://n8n.example.com:5678 \
--intensity deep \
--format json \
--output report.json
# 권한 프롬프트 건너뛰기(사전 승인된 스캔용)
python n8n_scanner.py scan https://n8n.example.com:5678 --no-confirm
# 대상 파일 생성
cat > targets.txt << EOF
https://n8n1.example.com:5678
https://n8n2.example.com:5678
https://n8n3.example.com:5678
EOF
# 모든 대상 스캔
python n8n_scanner.py batch targets.txt --output results.csv --format csv
# YAML 구성을 표준 출력으로 생성
python n8n_scanner.py generate-config --format yaml
# JSON 구성을 파일로 생성
python n8n_scanner.py generate-config --format json --output config.json
# 스캔에 구성 파일 사용
python n8n_scanner.py scan https://n8n.example.com:5678 --config config.json
scan 명령어python n8n_scanner.py scan <target> [OPTIONS]
옵션:
--intensity, -i - 스캔 강도: light, medium, deep(기본값: medium)--output, -o - 출력 파일 경로--format, -f - 출력 형식: json, csv, html, text, markdown--timeout, -t - 요청 제한 시간(초)(기본값: 30)--delay, -d - 요청 간 지연(기본값: 2.0)--no-confirm - 권한 확인 건너뛰기--config, -c - 구성 파일 경로version-check 명령어python n8n_scanner.py version-check <version_or_url>
종료 코드:
0 - 버전이 안전함(패치됨)1 - 오류 발생2 - 버전이 취약함예시:
# 버전 문자열 확인
python n8n_scanner.py version-check 1.120.0
# 라이브 인스턴스 버전 확인
python n8n_scanner.py version-check https://n8n.example.com:5678
# config.yml
scan:
intensity: medium
timeout: 30
rate_limit:
delay: 2.0
max_requests: 100
targets:
- https://n8n.example.com:5678
require_confirmation: true
output:
format: json
directory: ./reports
4가지 사전 구성 프로필 사용 가능:
생성: python n8n_scanner.py generate-config --profile thorough
{
"target": "https://n8n.example.com:5678",
"version": "1.120.0",
"vulnerable": true,
"cve": "CVE-2026-21858",
"severity": "CRITICAL"
}
Target,Version,Vulnerable,CVE,Severity
https://n8n.example.com:5678,1.120.0,true,CVE-2026-21858,CRITICAL
스타일과 차트가 포함된 전문 HTML 보고서.
심각도 표시기가 포함된 색상 코드 사람이 읽을 수 있는 출력.
위키 및 보고서에 적합한 문서 친화적 형식.
# Docker Compose로 빌드
docker-compose build
# 명령어 실행
docker-compose run --rm scanner version-check 1.120.0
docker-compose run --rm scanner scan https://n8n.example.com:5678 --no-confirm
# 마운트된 파일로 일괄 스캔
docker-compose run --rm \
-v $(pwd)/targets.txt:/app/targets.txt \
scanner batch /app/targets.txt
ni8mare-scanner/
├── scripts/
│ ├── n8n_scanner.py # 메인 CLI
│ ├── modules/ # 핵심 모듈
│ │ ├── scanner.py # 스캔 로직
│ │ ├── detector.py # 취약점 탐지
│ │ ├── reporter.py # 보고서 생성
│ │ ├── config.py # 구성
│ │ └── utils.py # 유틸리티
│ ├── tests/ # 테스트 스위트
│ └── build.py # 빌드 자동화
├── docs/ # 문서
└── docker/ # Docker 구성
# 빠른 기능 테스트(권장)
cd scripts
python quick_test.py
# 전체 테스트 스위트
python build.py test
# 특정 모듈 테스트
python -m pytest tests/test_config.py -v
빠른 테스트 결과:
[Test] Version Vulnerability Detection [OK]
[Test] Configuration Loading [OK]
[Test] Scanner Creation [OK]
[Test] Detector Creation [OK]
[Test] Reporter Creation [OK]
[Test] Utility Functions [OK]
Results: 6 passed, 0 failed
# 의존성 설치
python build.py install
# 모든 테스트 실행
python build.py test
# 린터 실행
python build.py lint
# 코드 포맷
python build.py format
# 배포판 빌드
python build.py build
# 아티팩트 정리
python build.py clean
# 전체 빌드 파이프라인
python build.py all
스캐너는 명시적 권한을 요구합니다:
⚠️ AUTHORIZATION REQUIRED
You are about to scan: https://n8n.example.com:5678
Are you authorized to test this target? [y/N]:
필수:
금지:
취약한 인스턴스를 발견한 경우:
CVE-2026-21858 발견자:
이 스캐너는 조직이 Ni8mare 취약점을 식별하고 수정하도록 돕기 위해 개발된 윤리적 보안 도구입니다. 탐지만 수행하며 취약점을 절대 익스플로잇하지 않습니다.
MIT 라이선스 - 자세한 내용은 LICENSE 파일을 참조하십시오.
타사 구성 요소:
enhancement 라벨 지정Q: 이 도구가 취약점을 익스플로잇합니까?
A: 아닙니다. 탐지만 수행하며 절대 익스플로잇하지 않습니다.
Q: 권한 없이 스캔할 수 있습니까?
A: 아닙니다. 항상 먼저 서면 승인을 받아야 합니다.
Q: 어떤 버전이 취약합니까?
A: 1.121.0 미만의 모든 n8n 버전이 취약합니다.
Q: 탐지 정확도는 어떻습니까?
A: 오탐률이 매우 낮은 매우 높은 정확도를 제공합니다.
Q: CI/CD 파이프라인에서 사용할 수 있습니까?
A: 예. 자동화에는 --no-confirm 및 --json-logs를 사용하십시오.
Q: Windows에서 작동합니까?
A: 예. 모든 유니코드 호환성 문제가 해결되었습니다.
cd ni8mare-scanner/scripts
pip install -r requirements.txt
# 버전 확인
python n8n_scanner.py version-check 1.120.0
# 인스턴스 스캔
python n8n_scanner.py scan https://n8n.example.com:5678
# 일괄 스캔
python n8n_scanner.py batch targets.txt
# 구성 생성
python n8n_scanner.py generate-config --format yaml > config.yml
# 도움말 표시
python n8n_scanner.py --help
python n8n_scanner.py scan --help
0 = 안전/성공1 = 오류2 = 취약보안 커뮤니티를 위해 ❤️로 제작됨
이 도구는 윤리적 보안 테스트 전용으로 있는 그대로 제공됩니다. 작성자는 이 도구의 오용이나 손해에 대해 책임을 지지 않습니다.
| 명령어 | 설명 | 예시 |
|---|
scan | 단일 대상 스캔 | python n8n_scanner.py scan <target> |
batch | 여러 대상 스캔 | python n8n_scanner.py batch targets.txt |
version-check | 버전 취약점 확인 | python n8n_scanner.py version-check 1.120.0 |
generate-config | 구성 템플릿 생성 | python n8n_scanner.py generate-config --format yaml |
info | CVE 정보 표시 | python n8n_scanner.py info |
connectivity | 연결 테스트 | python n8n_scanner.py connectivity <target> |
--verbose, -V - 상세 출력--json-logs - JSON 로그 형식(자동화용)