🛡️ Black: 사용자 입력값 미정제 캐시 파일 이름으로 인한 임의 파일 쓰기 취약점
탐지 일시: 2026-03-13 04:56:16 (KST)
탐지 사유: 신규 취약점

취약점 유형 (CWE): CWE-22
📦 영향 받는 자산
| 벤더 |
제품 |
버전 |
| psf |
black |
< 26.3.1 (단일 버전) |
🔍 AI 심층 분석
| 항목 |
내용 |
| 기술적 원인 |
Black가 캐시 파일 이름을 생성할 때 --python-cell-magics 옵션 값을 파일명에 그대로 사용하고 이를 정규화하거나 필터링하지 않아 경로 탐색(Directory Traversal) 취약점이 발생한다. 이로 인해 공격자가 임의의 파일 시스템 위치에 파일을 쓸 수 있다. (CWE-22) |
| 비즈니스 영향 |
CVSS 벡터에 의해 무결성(Integrity) 손상이 고위험(H)으로 확인되며, 기밀성(Confidentiality)과 가용성(Availability)은 영향을 받지 않는다. 또한 공격자는 네트워크를 통해 직접 접근 가능하고(AV:N), 공격 난이도가 낮으며(AC:L), 권한이 필요 없고(PR:N), 사용자 상호작용이 필요하지 않다(UI:N)로 명시되어 있다. 이는 시스템 파일을 임의로 수정하거나 악성 코드를 삽입해 무결성을 훼손할 위험이 있음을 의미한다. [추정] |
🏹 공격 벡터 상세
| 항목 |
내용 |
| 공식 벡터 |
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N |
| 상세 분석 |
• CVSS:4.0 • 공격 경로: 네트워크 (Network) • 복잡성: 낮음 • 공격 기술: 없음 • 필요 권한: 없음 • 사용자 관여: 없음 • 취약시스템 기밀성: 없음 • 취약시스템 무결성: 높음 • 취약시스템 가용성: 없음 • 후속시스템 기밀성: 없음 • 후속시스템 무결성: 없음 • 후속시스템 가용성: 없음 |
🏹 AI 예상 공격 시나리오
MITRE ATT&CK 기반 공격 흐름:
초기 접근(Initial Access) – 공격자는 Black 포맷터가 외부 입력을 받아 실행되는 서비스나 CI 파이프라인에 네트워크를 통해 접근하고, 악의적인 --python-cell-magics 값을 전달한다. (T1190: Exploit Public-Facing Application) [추정]
실행(Execution) – 공격자는 Black 실행 시 악의적인 --python-cell-magics 옵션 값을 포함시켜 명령줄을 실행한다. Black은 해당 값을 파일명에 그대로 사용해 캐시 파일을 생성한다. (T1059: Command-Line Interface) [추정]
영향(Impact) – Black이 생성한 캐시 파일이 임의 경로에 기록되면서 시스템의 중요한 파일이 덮어쓰기되거나 악성 코드가 삽입되어 무결성이 손상된다. (T1565.001: Stored Data Manipulation) [추정]
🛡️ AI 권고 대응 방안
📋 탐지 룰 현황
Sigma Rule ❌ 미생성
사유: 공개 룰 미발견, AI가 근거 부족으로 생성 거부
Snort/Suricata Rule ❌ 미생성
사유: 공개 룰 미발견, 구체적 탐지 지표 부족 (구체적 지표 부족)
Yara Rule ❌ 미생성
사유: 공격벡터 NETWORK — YARA 룰 부적합 (Snort/Suricata 우선)
🔗 참고 자료
🛡️ Black: 사용자 입력값 미정제 캐시 파일 이름으로 인한 임의 파일 쓰기 취약점
취약점 유형 (CWE): CWE-22
📦 영향 받는 자산
🔍 AI 심층 분석
🏹 공격 벡터 상세
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N• 공격 경로: 네트워크 (Network)
• 복잡성: 낮음
• 공격 기술: 없음
• 필요 권한: 없음
• 사용자 관여: 없음
• 취약시스템 기밀성: 없음
• 취약시스템 무결성: 높음
• 취약시스템 가용성: 없음
• 후속시스템 기밀성: 없음
• 후속시스템 무결성: 없음
• 후속시스템 가용성: 없음
🏹 AI 예상 공격 시나리오
🛡️ AI 권고 대응 방안
📋 탐지 룰 현황
Sigma Rule ❌ 미생성
Snort/Suricata Rule ❌ 미생성
Yara Rule ❌ 미생성
🔗 참고 자료