# Greenbone Vulnerability Management: run a scan with supplied feed data Run a scan with supplied feed data. ## 1. Run the example [Download the Greenbone Vulnerability Management example](https://www.security.run/docs/examples/gvm.zip). Extract it, install `httpx`, set your API URL and token, then run `python client.py`. The client uploads the included inputs, submits the command, and saves the result under `results/RUN_ID`. ## 2. Check the result Read report.xml for the result of the example NASL check against the local target. Read the native exit code and cleanup status printed by the client. [Read results and save reports](https://www.security.run/docs/visibility.html) explains the returned files. ## 3. Use your own inputs Edit `example.json` to change the command arguments, requested outputs or deadline. Replace the files under `inputs/` with your own data, keeping the staged paths aligned with the command. The client creates the artifact IDs for you; illustrative IDs shown here must not be copied into a live request. ### Files used by this example - `run.py` - `config.xml` - `feed/owned.nasl` - `feed/plugin_feed_info.inc` This example selects the isolated `web-fixture` target. To use a reachable target of your own, change the target arguments or driver and remove `target_profile`. See [Run a check against a target](https://www.security.run/docs/targets.html) for network setup. Qualified version: `25.04.3`. Commands: `gvmd`, `openvas`, `openvas-nasl`, `ospd-openvas`, `gsad`, `gvm-cli`, `gvm-script`, `greenbone-feed-sync`, `notus-scanner`, `python`, `postgres`, `initdb`, `pg_ctl`, `psql`, `createdb`. - Native Greenbone manager, scanner and client tools; supply feed data and a reachable target. Full-feed scans may require a larger resource class. Inspect `GET /v1/tools/gvm` for the current installed version and readiness. The published snapshot has 1 functional case(s), plus timeout and cancellation checks. These examples demonstrate the native path; other flags and inputs are supported within the tool’s runtime limits. ## Command submitted by the example ```json { "tool": "gvm", "timeout_seconds": 90, "invocation": { "args": [ "run.py" ], "outputs": [ "report.xml" ], "success_exit_codes": [ 0 ], "executable": "python", "files": [ { "path": "run.py", "artifact_id": "artifact_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "executable": false }, { "path": "config.xml", "artifact_id": "artifact_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "executable": false }, { "path": "feed/owned.nasl", "artifact_id": "artifact_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "executable": false }, { "path": "feed/plugin_feed_info.inc", "artifact_id": "artifact_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "executable": false } ] }, "target_profile": "web-fixture" } ```