12 Commits

Author SHA1 Message Date
ismail simsek
04fca562b0 feat(backend): Add query guardrails to prevent potential issues (#2149)
## Summary

Implements query guardrails in the backend to prevent execution of
expensive or malformed queries that could impact customer environments.

Part of https://github.com/grafana/oss-big-tent-squad/issues/127

## Changes

### New guardrails added:

1. **Item ID validation** (`queryItemIdData`)
   - Validates that item IDs are non-empty
   - Validates that item IDs contain only numeric values

2. **Time range validation** (`QueryData`)
   - Validates that `From` timestamp is before `To` timestamp

3. **API method allowlist** (`ZabbixAPIHandler`)
- Only allows Zabbix API methods defined in the frontend type
`zabbixMethodName`
   - Blocks any write/delete/update operations not in the allowlist

### New files:
- `pkg/datasource/guardrails.go` - Validation functions and error
definitions
- `pkg/datasource/guardrails_test.go` - Unit tests for all validation
functions

### Modified files:
- `pkg/datasource/datasource.go` - Added time range validation
- `pkg/datasource/zabbix.go` - Added item ID validation  
- `pkg/datasource/resource_handler.go` - Added API method validation

## Reasoning
- Allowed functions might be unnecessary as we've already prevent using
those in
[types.ts](https://github.com/grafana/grafana-zabbix/blob/main/src/datasource/zabbix/types.ts#L1-L23)
but it's nice to be cautious.
- itemid and time validation is just for sanity. 
- Time range validation will be necessary in the future to warn user
agains running expensive queries.
2025-12-29 18:57:17 +01:00
github-actions[bot]
b13d567eee chore: bump @grafana/create-plugin configuration to 5.26.4 (#2082)
Bumps
[`@grafana/create-plugin`](https://github.com/grafana/plugin-tools/tree/main/packages/create-plugin)
configuration from 4.2.1 to 5.26.4.

**Notes for reviewer:**
This is an auto-generated PR which ran `@grafana/create-plugin update`.
Please consult the create-plugin
[CHANGELOG.md](https://github.com/grafana/plugin-tools/blob/main/packages/create-plugin/CHANGELOG.md)
to understand what may have changed.
Please review the changes thoroughly before merging.

---------

Co-authored-by: grafana-plugins-platform-bot[bot] <144369747+grafana-plugins-platform-bot[bot]@users.noreply.github.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-09-17 20:33:12 +02:00
Ivana Huckova
53030e2141 Fix deprecated methods based on instructions 2024-09-04 14:17:02 +02:00
Alexander Zobnin
c06683cd37 Fix backend linter errors 2023-08-30 12:48:38 +02:00
lean.dev
8205f7aaf8 Support for secure socks proxy (#1650)
* Enables PDC for zabbix datasource

* 4.4.0

* Updating CHANGELOG

* Updating CHANGELOG

* Updating CHANGELOG
2023-07-25 18:54:48 +03:00
Alexander Zobnin
c00a0e1c3f Fix db connection query post processing 2021-09-20 17:56:26 +03:00
Alexander Zobnin
736f05d398 Fix data alignment for db connection queries 2021-08-06 12:31:05 +03:00
Alexander Zobnin
e12b8cbefb Handle db connection response on the backend 2021-08-04 18:07:38 +03:00
Alexander Zobnin
badecc3aae Refactor: zabbix client 2021-05-19 13:17:46 +03:00
Alexander Zobnin
013fe5c37f Refactor: use InstanceManager for managing ds instances 2020-08-28 14:40:39 +03:00
Alexander Zobnin
899ecb9ec2 Resource handler description 2020-06-04 12:23:18 +03:00
Alexander Zobnin
7990613e2c reorganize packages and add tests for zabbix datasource instance methods 2020-06-04 11:43:20 +03:00