← Back to Skills Marketplace
moenassi

OSV Scanner

by Nassi Mohammed · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
879
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install osv-scanner
Description
Scans Node.js/NPM and Linux packages for known vulnerabilities using the Google OSV API by analyzing dependencies and reporting related CVEs.
Usage Guidance
This skill is coherent for vulnerability scanning and doesn't ask for secrets, but review and fix before running: 1) scanner.py has a clear bug in the npm branch: the f-string lines.append(f'{name}=={version.split('^')[1]}') uses conflicting quotes and will cause a syntax error (and will break for versions without '^'). Fix by stripping '^' or using version.lstrip('^') and proper quoting. 2) SKILL.md asks you to rename template/ScanResult.txt → template/ScanResult.xlsx because the script expects the .xlsx path; do that or change TEMPLATE_PATH. 3) The script uses subprocess(shell=True) for static commands (lsb_release, dpkg-query) — these are reasonable for enumerating OS packages but avoid running the script on systems with sensitive data or where you do not trust included files. 4) The script POSTs package info to api.osv.dev (expected); if you need to avoid sending data externally, do not run it or modify it to use a local DB. 5) As always, run untrusted scripts in an isolated environment (container or VM), inspect/patch the code (npm branch and error handling) before use, and verify the template/header ('MachineA') matches your expected spreadsheet format.
Capability Analysis
Type: OpenClaw Skill Name: osv-scanner Version: 1.0.0 The skill bundle is classified as suspicious due to two main indicators. First, the `SKILL.md` and `README.md` files contain an explicit instruction to rename `template/ScanResult.txt` to `template/ScanResult.xlsx`. The `ScanResult.txt` file is actually a ZIP archive (an XLSX file disguised with a .txt extension), which is a suspicious file manipulation pattern that could be used for evasion. Second, the `scanner.py` script utilizes `subprocess.run` with `shell=True` for executing system commands (`lsb_release`, `dpkg-query`). While the commands are hardcoded and not directly exploitable in this specific context, the use of `shell=True` is a risky capability that generally increases the attack surface for shell injection vulnerabilities if any part of the command string were to become user-controlled or untrusted.
Capability Assessment
Purpose & Capability
Name/description (OSV-based vulnerability scanner) align with the files and behavior: scanner.py reads dependency lists, queries api.osv.dev, and writes results to an Excel template. The included package lists (npm/python/linux) match the stated scan targets.
Instruction Scope
SKILL.md instructions are within the claimed scope (create venv, install requests/openpyxl, provide packages files, run scanner.py). The README and SKILL.md instruct the user to rename template/ScanResult.txt to .xlsx — scanner.py expects template/ScanResult.xlsx. This is odd but documented in SKILL.md. No instructions request reading unrelated system secrets or sending data to endpoints other than the OSV API.
Install Mechanism
No automated install spec; this is instruction-only and requires the user to pip-install 'requests' and 'openpyxl' in a venv. No downloads from unknown URLs or archive extraction are present.
Credentials
The skill requires no environment variables, credentials, or config paths. It only posts dependency name/version payloads to the Google OSV API (api.osv.dev), which is expected for this purpose.
Persistence & Privilege
Skill does not request persistent or elevated privileges and is not always-enabled. It does run local shell commands (lsb_release, dpkg-query) to enumerate OS packages when asked to scan the OS — this is within scope for an OS package scanner.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install osv-scanner
  3. After installation, invoke the skill by name or use /osv-scanner
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Changed ScanResult file extension from .txt to .xlsx in the template. - Initial release of a Node.js/NPM and Linux package vulnerability scanner using the Google OSV API. - Reads project dependencies, checks for CVEs, and displays results. - Now requires openpyxl for spreadsheet output.
Metadata
Slug osv-scanner
Version 1.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is OSV Scanner?

Scans Node.js/NPM and Linux packages for known vulnerabilities using the Google OSV API by analyzing dependencies and reporting related CVEs. It is an AI Agent Skill for Claude Code / OpenClaw, with 879 downloads so far.

How do I install OSV Scanner?

Run "/install osv-scanner" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is OSV Scanner free?

Yes, OSV Scanner is completely free (open-source). You can download, install and use it at no cost.

Which platforms does OSV Scanner support?

OSV Scanner is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created OSV Scanner?

It is built and maintained by Nassi Mohammed (@moenassi); the current version is v1.0.0.

💬 Comments