dissect.target.plugins.os.unix.linux.debian.snap

Module Contents

Classes

SnapPlugin

Canonical Linux Snapcraft plugin.

class dissect.target.plugins.os.unix.linux.debian.snap.SnapPlugin(target: dissect.target.target.Target)

Bases: dissect.target.plugin.Plugin

Canonical Linux Snapcraft plugin.

PATHS = ['/var/lib/snapd/snaps']
installs
check_compatible() None

Perform a compatibility check with the target.

This function should return None if the plugin is compatible with the current target (self.target). For example, check if a certain file exists. Otherwise it should raise an UnsupportedPluginError.

Raises:

UnsupportedPluginError – If the plugin could not be loaded.

snap() Iterator[dissect.target.helpers.record.UnixApplicationRecord]

Yields installed Canonical Linux Snapcraft (snaps) applications on the target system.

Reads information from installed SquashFS *.snap files found in /var/lib/snapd/snaps. Logs of the snapd daemon can be parsed using the journal or syslog plugins.

Resources:

Yields UnixApplicationRecord records with the following fields:

ts_modified  (datetime): timestamp when the installation was modified
name         (string):   name of the application
version      (string):   version of the application
path         (string):   path to the application snap file