
Agent 스킬 + 스크립트로 프로젝트에서 CVE-2026-111497(Brotli)을 스캔하고, 심각도를 평가하며, 수정 사항을 제안합니다
프로젝트 또는 컨테이너 이미지에서 Brotli 디코더의 버퍼 오버플로인 CVE-2026-111497을 스캔합니다. 심각도를 Critical, High 또는 Medium으로 평가하고 수정 단계를 나열합니다.
이 저장소는 두 가지를 제공합니다:
skills/brotli-cve-check/scripts/brotli_check.py): 실제 스캔, 평가 및 수정 작업을 수행합니다. Python 3.11+만 필요하고 의존성이 없으므로 CI에서도 실행됩니다.skills/brotli-cve-check/SKILL.md): AI 에이전트가 스크립트를 실행하고, k8s, terraform, compose 파일 및 README를 읽어 시스템이 얼마나 노출되어 있는지 파악한 다음, 해당 노출도를 반영하여 스크립트를 다시 실행합니다./plugin marketplace add Apaonum/brotli-cve-check
/plugin install brotli-cve-check@brotli-cve-check
새 버전을 받으려면 /plugin marketplace update brotli-cve-check를 실행하세요.
npx skills add Apaonum/brotli-cve-check
git clone https://github.com/Apaonum/brotli-cve-check
ln -s "$PWD/brotli-cve-check/skills/brotli-cve-check" ~/.claude/skills/brotli-cve-check
스킬이 설치된 상태에서 에이전트에게 "이 프로젝트에서 Brotli CVE를 확인해 줘"라고 요청하세요.
스크립트를 직접 실행하려면:
python3 skills/brotli-cve-check/scripts/brotli_check.py <project> \
[--exposure internet|internal|none] \
[--python <venv>/bin/python] \
[--image <image>] \
[--json]
--exposure | 심각도 | 기한 | 해당하는 경우 |
|---|---|---|---|
internet | Critical | 24시간 | 인터넷에서 요청을 받거나, 파트너 또는 서드파티 API를 호출하거나, 사용자가 제공한 URL을 가져오는 경우 |
internal | High | 7일 | 내부 네트워크 또는 VPN을 통해 다른 시스템이나 파트너로부터 데이터를 받거나, 고객 개인 데이터를 처리하는 경우 |
none | Medium | ≤ 30일 | 내부 데이터만 읽는 빌드/CI 이미지, 개발 머신, 배치 작업 |
| (생략) | Critical | 24시간 | 노출도를 알 수 없으므로 도구가 더 높은 수준을 가정함 |
종료 코드: 0 정상, 1 취약하거나 확인 필요, 2 스캔 오류.
requirements*.txt, pyproject.toml, poetry.lock, uv.lock, Pipfile.lock: Brotli 1.0.3–1.2.0 (백포트된 수정 버전 1.0.10 및 1.1.1 제외) 및 brotlicffi < 1.2.1.0Dockerfile: Debian unstable (sid) 기반 베이스 이미지, 그리고 digest로 고정되지 않은 베이스 이미지--image: 컨테이너를 실행하고 dpkg --compare-versions로 libbrotli1을 검사합니다 (bookworm은 ≥ 1.0.9-2+deb12u1, trixie는 ≥ 1.1.0-2+deb13u1 필요). 이미지 내부의 Python 패키지도 검사하며, trivy가 설치되어 있으면 실행합니다. docker가 필요합니다.--python: 해당 인터프리터에 실제로 설치된 패키지를 검사합니다- run: python3 skills/brotli-cve-check/scripts/brotli_check.py . --exposure internet --json
python3 skills/brotli-cve-check/scripts/test_brotli_check.py
--image가 설치된 버전을 보고하고 "verify"로 표시합니다. 해당 버전을 배포판 자체의 보안 트래커와 비교하세요.--image를 전달하지 않으면 결과는 "확인 필요"가 됩니다. 스캔이 이미지 내부의 OS 라이브러리를 볼 수 없기 때문입니다.MIT