Skip to content

Rule Reference

SEC659lintai-ai-securitystablejsonwarn

Plugin hook: systemd persistence

Plugin hook command registers a systemd service or unit for persistence

Provider
lintai-ai-security
Surface
json
Scope
per_file
Tier
stable
Severity
warn
Confidence
high
Detection
structural
Remediation
message_only

Activation Model

Preset Membership

This rule is part of the builtin activation graph through these preset memberships.

Lifecycle

Stable Lifecycle Contract

State

stable_gated

Graduation rationale

Checks committed plugin hook command values for explicit systemd service registration or unit-file writes.

Deterministic signal basis

JsonSignals command-string analysis over ArtifactKind::CursorPluginHooks for `systemctl enable|link` or writes to systemd unit paths.

Malicious corpus
plugin-hook-command-service-persistence
Benign corpus
plugin-hook-command-safe
structured evidence required remediation reviewed
Canonical note

Structural stable rule intended as a high-precision check with deterministic evidence.

Nearby Signals

Related Rules

Why It Matters

Systemd registration from a plugin hook can make repository-delivered code persist across boots or user sessions.

What Triggers

SEC659 matches plugin hook command strings that run systemctl enable or systemctl link, or write unit files into systemd service paths.

False Positives

Machine-bootstrap plugins are the main exception, but this is still a sensitive persistence change that should not happen silently.

Remediation

Remove systemd persistence from the plugin hook and move service installation into a separate reviewed admin workflow.