mirror of https://github.com/avast/PurpleDome
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.3 KiB
ReStructuredText
38 lines
1.3 KiB
ReStructuredText
**************
|
|
Sensor plugins
|
|
**************
|
|
|
|
To experiment with different senors installed on the targets there is the sensor plugin. It contains a plugin class that **MUST** be based on the *SensorPlugin* class.
|
|
|
|
Usage
|
|
=====
|
|
|
|
To create a new plugin, start a sub-folder in plugins. The python file in there must contain a class that inherits from *SensorPlugin*.
|
|
|
|
If the plugin is activated for a specific machine specific methods will be called to interact with the target:
|
|
|
|
* prime: Easrly installation steps, can trigger a reboot of the machine by returning True
|
|
* install: Normal, simple installation. No reboot
|
|
* start: Start the sensor
|
|
* stop: Stop the sensor
|
|
* collect: Collect results
|
|
|
|
Boilerplate
|
|
-----------
|
|
|
|
The boilerplate contains some basics:
|
|
|
|
* name: a unique name, also used in the config yaml file to reference this plugin
|
|
* description. A human readable description for this plugin.
|
|
* required_files: A list. If you ship files with your plugin, listing them here will cause them to be installed on plugin init by creating a copy in the share.
|
|
|
|
Additionally you can set *self.debugit* to True. This will run the sensor on execution in gdb and make the call blocking. So you can debug your sensor.
|
|
|
|
|
|
|
|
The plugin class
|
|
================
|
|
|
|
.. autoclass:: plugins.base.sensor.SensorPlugin
|
|
:members:
|