pyvr-scan
Find every Python environment, lockfile, Dockerfile and code path carrying a vulnerable PyPI package (first advisory - Pillow < 13.0.0) - system Pythons…
Skill by luivc1
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/luivc1-pyvr-scan
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/pyvr-scan
What's inside
- Skill name
pyvr-scan- Description
- Find every Python environment, lockfile, Dockerfile and code path carrying a vulnerable PyPI package (first advisory - Pillow < 13.0.0) - system Pythons, python.org/Homebrew/pyenv/conda/uv installs, all virtualenvs, requirements, pyproject, uv/poetry/pdm/Pipfile/pylock locks, environment.yml, Dockerfiles, and code that imports the package. Flags Pythons too old for the fix. Use for "scan for the Pillow flaw", "which venvs have old Pillow", "check our repos", "escanea mis proyectos de Python".
- License
- MIT
- Instructions
- 40 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- files: referenced but missing: scripts/pyvuln-scan.py
Files (1)
- SKILL.md
SKILL.md (first lines)
# Scan (read-only) Follow **pyvr-navigator** rules. The scanner is `scripts/pyvuln-scan.py` (Python 3.8+, stdlib only, Linux/macOS/Windows). Its probe reads package metadata inside each interpreter and never imports third-party packages. ## Commands | Goal | Command | |---|---| | This machine | `python3 "$PYVR/scripts/pyvuln-scan.py" --local -o reports/python` | | + project venvs | add `--venvs ~/code` (finds every `pyvenv.cfg` and conda env) | | One interpreter / venv | `--python /path/to/venv` (repeatable) | | Repos | `--project ~/code` (requirements*.txt/*.in, pyproject incl. poetry and requires-python, uv.lock, poetry.lock, pdm.lock, pylock.toml, Pipfile.lock, environment.yml, Dockerfiles, and .py files importing the package) | | One advisory | `--advisory advisories/pillow-2026-10.env` (default: all) | | Every other package too | add `--osv` (sends package names and versions, nothing else, to api.osv.dev; ask first) | Windows: `py -3 pyvuln-scan.py --local ...` in PowerShell. Outputs: `.html`, `.csv`, `-fix-plan.md`. Exit: 0 clean, 1 warnings, 2 affected or blocked, 3 usage error. ## Read the results | Status | Meaning | Next | |---|---|---| | AFFECTED | A vulnerable version is installed or pinned, and a fix exists for that Python | pyvr-fix | | BLOCKED | The fix needs a newer Python (Pillow 13.0.0 needs >= 3.11): a 3.10 env, `requires-python` or `FROM python:3.10` | pyvr-fix > BLOCKED | | WARN | A range allows vulnerable versions (resolution depends on the lock), an extra pulls the package in without a pin (`httpx[brotli]`, `urllib3[brotli]`, `aiohttp[speedups]`), an image's Python is too old, OSV issue with no fix, or pip < 26.2.2 (upgrade it safely first) | pyvr-fix | | CHECK | Could not parse or probe something | Confirm manually | | OK | Fixed version installed or required | Verify later | | INFO | Code imports the package; hints show risky calls (thumbnail/draft, EPS, TIFF to memory) | Prioritize these apps | Risk lines under an environment: Ghostscript present (EPS path), olefile present (FPX path); for Brotli, the HTTP clients in that environment that decode it automatically (urllib3/requests, aiohttp, httpx, Scrapy). Packages installed by apt/dnf are matched to their OS package: OK when its changelog lists the advisory's `BACKPORT_CVES`, otherwise AFFECTED with the OS update command (not pip). ## Present Group by machine and app. P1 = AFFECTED/BLOCKED environments that process untrusted images (INFO hints, uploads, risk lines), then other AFFECTED, then BLOCKED plans, then WARN. Hand off to **pyvr-fix** with the generated `-fix-plan.md`.
From luivc1/python-vuln-responder, MIT.
More from luivc1/python-vuln-responder
- 0.570score
pyvr-fix
luivc1
Fix vulnerable PyPI packages safely across environments and projects (first advisory - upgrade Pillow to 13.0.0) - per-venv upgrades, system/distro Pythons…
SkillAFreshness: AClaude Code +9 - 0.565score
pyvr-advisory-update
luivc1
Refresh an advisory file behind the Python vuln scanner (new fixed versions, backports, IDs) or add a new one for any PyPI package vulnerability, so the same…
SkillAFreshness: AClaude Code +9 - 0.565score
pyvr-verify-close
luivc1
Prove the Python package fix worked and close out - re-scan every machine, venv and project, run pip check, confirm BLOCKED items have a dated plan and…
SkillAFreshness: AClaude Code +9 - 0.565score
pyvr-navigator
luivc1
Entry point for vulnerable PyPI packages across Python environments, starting with the Pillow security release (Pillow < 13.0.0, October 2026).
SkillAFreshness: AClaude Code +9 - 0.559score
pyvr-comms
luivc1
Bilingual (English/Spanish) messages for a Python package vulnerability (first advisory - Pillow < 13.0.0) - team/colleague briefing with the fix steps…
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 23, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/luivc1/python-vuln-responder
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from luivc1
- 0.570score
pcr-fix
luivc1
Fix Python environments affected by the eMudhra/emSign CA compromise safely - checksum-verified pip 26.2.2 bootstrap, certifi 2026.10.19, uv self update, OS…
SkillAFreshness: AClaude Code +9 - 0.570score
pyvr-fix
luivc1
Fix vulnerable PyPI packages safely across environments and projects (first advisory - upgrade Pillow to 13.0.0) - per-venv upgrades, system/distro Pythons…
SkillAFreshness: AClaude Code +9 - 0.565score
pyvr-navigator
luivc1
Entry point for vulnerable PyPI packages across Python environments, starting with the Pillow security release (Pillow < 13.0.0, October 2026).
SkillAFreshness: AClaude Code +9 - 0.565score
pcr-verify-close
luivc1
Prove the Python CA fix worked and close out - re-scan every machine, venv and project, run the live TLS test (every trust path must refuse the incident's…
SkillAFreshness: AClaude Code +9 - 0.565score
pyvr-verify-close
luivc1
Prove the Python package fix worked and close out - re-scan every machine, venv and project, run pip check, confirm BLOCKED items have a dated plan and…
SkillAFreshness: AClaude Code +9 - 0.565score
pcr-navigator
luivc1
Entry point for the eMudhra / emSign CA compromise (October 2026) in Python, and future CA trust incidents.
SkillAFreshness: AClaude Code +9
Cite this page
pyvr-scan skill. Agent Mart. https://agentmart.dev/skills/luivc1-pyvr-scan (last updated 2026-10-24)