Skip to content

Rule Reference

SEC651lintai-ai-securitystablehookdeny

Hook script: launchd persistence

Hook script registers a launchd plist for persistence

Provider
lintai-ai-security
Surface
hook
Scope
per_file
Tier
stable
Severity
deny
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

Matches explicit launchd registration or LaunchAgents/LaunchDaemons plist writes in executable hook lines.

Deterministic signal basis

HookSignals command-or-write-target detection over non-comment hook lines for `launchctl load|bootstrap` or writes to LaunchAgents/LaunchDaemons plist paths.

Malicious corpus
hook-service-persistence
Benign corpus
cursor-plugin-clean-basic
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

Launchd registration creates persistent macOS execution outside the repository lifecycle.

What Triggers

SEC651 matches executable hook lines that run launchctl load or launchctl bootstrap, or write plist files into LaunchAgents or LaunchDaemons locations.

False Positives

Machine bootstrap flows can manage launchd intentionally, but shared hooks should not silently install host persistence.

Remediation

Remove launchd registration from the hook and move plist setup into a separate reviewed admin process.