T06 · System Persistence
- Location
wizard/wizard.sh:237- Finding
Disguised Boot-Persistent Services and Hidden System Components
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This appears to be a real audit watchdog, but it installs hidden-looking persistent system services and records command details in ways that need careful review.
Review this carefully before installing. It should only be used on a Linux host where you intentionally want a root-assisted, boot-persistent audit daemon watching a specific user. Prefer transparent service names, build as an unprivileged user with a lockfile, disable or tightly control remote/command alert channels, and avoid logging full command arguments unless you accept that secrets in command lines may be retained or forwarded.
wizard/wizard.sh:237Disguised Boot-Persistent Services and Hidden System Components
AGENTS.md:119Repository Instructions Attempt to Control Agent Sessions, Persistent State, and External Pushes
crates/collector/src/lib.rs:324Unredacted Command-Line Arguments Are Persisted and Forwarded to Alert Channels
wizard/wizard.sh:69Root Installation Workflow Compiles Unlocked Third-Party Dependencies
The wizard explicitly states that the binary should be installed under a stealth name so it 'blends in' and is harder to identify as a watchdog. Deliberate disguising of a security agent is classic concealment behavior and materially increases the risk of covert persistence, evasion of review, and misuse on systems where users or defenders are not fully informed.
A benign audit watchdog has no legitimate need to 'blend with system services to avoid obvious detection.' That language signals concealment from the system owner or other defenders, which is characteristic of persistence or evasion tradecraft rather than transparent security tooling.
Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.
## Installation Steps (Manual Reference)
1. **Create system user:** `sudo useradd --system --shell /usr/sbin/nologin --no-create-home sysaudit`
2. **Create directories:** `sudo install -d -m 0750 /etc/sysaudit && sudo install -d -m 0750 -o sysaudit -g sysaudit /var/lib/.sysd/.audit`
3. **Generate HMAC key:** `sudo sh -c 'head -c 32 /dev/urandom | base64 > /etc/sysaudit/key && chown root:sysaudit /etc/sysaudit/key && chmod 640 /etc/sysaudit/key'`
4. **Build and install:** `cargo build --release && sudo install -m 0755 target/release/clauditor /usr/local/sbin/systemd-journaldd`
5. **Install config:** `sudo install -m 0640 dist/config/default.toml /etc/sysaudit/config.toml`
Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.
## Installation Steps (Manual Reference)
1. **Create system user:** `sudo useradd --system --shell /usr/sbin/nologin --no-create-home sysaudit`
2. **Create directories:** `sudo install -d -m 0750 /etc/sysaudit && sudo install -d -m 0750 -o sysaudit -g sysaudit /var/lib/.sysd/.audit`
3. **Generate HMAC key:** `sudo sh -c 'head -c 32 /dev/urandom | base64 > /etc/sysaudit/key && chown root:sysaudit /etc/sysaudit/key && chmod 640 /etc/sysaudit/key'`
4. **Build and install:** `cargo build --release && sudo install -m 0755 target/release/clauditor /usr/local/sbin/systemd-journaldd`
5. **Install config:** `sudo install -m 0640 dist/config/default.toml /etc/sysaudit/config.toml`
Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.
## Installation Steps (Manual Reference)
1. **Create system user:** `sudo useradd --system --shell /usr/sbin/nologin --no-create-home sysaudit`
2. **Create directories:** `sudo install -d -m 0750 /etc/sysaudit && sudo install -d -m 0750 -o sysaudit -g sysaudit /var/lib/.sysd/.audit`
3. **Generate HMAC key:** `sudo sh -c 'head -c 32 /dev/urandom | base64 > /etc/sysaudit/key && chown root:sysaudit /etc/sysaudit/key && chmod 640 /etc/sysaudit/key'`
4. **Build and install:** `cargo build --release && sudo install -m 0755 target/release/clauditor /usr/local/sbin/systemd-journaldd`
5. **Install config:** `sudo install -m 0640 dist/config/default.toml /etc/sysaudit/config.toml`
The combination of disguised service naming, hidden log locations, root deployment, group/user modification, and broad host access is highly concerning because it resembles persistence and concealment techniques rather than transparent defensive tooling. In a skill intended for agent environments, these traits substantially increase the risk of stealthy long-term host compromise or abuse.
The combination of disguised service naming, hidden log locations, root deployment, group/user modification, and broad host access is highly concerning because it resembles persistence and concealment techniques rather than transparent defensive tooling. In a skill intended for agent environments, these traits substantially increase the risk of stealthy long-term host compromise or abuse.
The combination of disguised service naming, hidden log locations, root deployment, group/user modification, and broad host access is highly concerning because it resembles persistence and concealment techniques rather than transparent defensive tooling. In a skill intended for agent environments, these traits substantially increase the risk of stealthy long-term host compromise or abuse.
The combination of disguised service naming, hidden log locations, root deployment, group/user modification, and broad host access is highly concerning because it resembles persistence and concealment techniques rather than transparent defensive tooling. In a skill intended for agent environments, these traits substantially increase the risk of stealthy long-term host compromise or abuse.
The combination of disguised service naming, hidden log locations, root deployment, group/user modification, and broad host access is highly concerning because it resembles persistence and concealment techniques rather than transparent defensive tooling. In a skill intended for agent environments, these traits substantially increase the risk of stealthy long-term host compromise or abuse.
The combination of disguised service naming, hidden log locations, root deployment, group/user modification, and broad host access is highly concerning because it resembles persistence and concealment techniques rather than transparent defensive tooling. In a skill intended for agent environments, these traits substantially increase the risk of stealthy long-term host compromise or abuse.
The combination of disguised service naming, hidden log locations, root deployment, group/user modification, and broad host access is highly concerning because it resembles persistence and concealment techniques rather than transparent defensive tooling. In a skill intended for agent environments, these traits substantially increase the risk of stealthy long-term host compromise or abuse.
The combination of disguised service naming, hidden log locations, root deployment, group/user modification, and broad host access is highly concerning because it resembles persistence and concealment techniques rather than transparent defensive tooling. In a skill intended for agent environments, these traits substantially increase the risk of stealthy long-term host compromise or abuse.
The combination of disguised service naming, hidden log locations, root deployment, group/user modification, and broad host access is highly concerning because it resembles persistence and concealment techniques rather than transparent defensive tooling. In a skill intended for agent environments, these traits substantially increase the risk of stealthy long-term host compromise or abuse.
The combination of disguised service naming, hidden log locations, root deployment, group/user modification, and broad host access is highly concerning because it resembles persistence and concealment techniques rather than transparent defensive tooling. In a skill intended for agent environments, these traits substantially increase the risk of stealthy long-term host compromise or abuse.
The combination of disguised service naming, hidden log locations, root deployment, group/user modification, and broad host access is highly concerning because it resembles persistence and concealment techniques rather than transparent defensive tooling. In a skill intended for agent environments, these traits substantially increase the risk of stealthy long-term host compromise or abuse.
The combination of disguised service naming, hidden log locations, root deployment, group/user modification, and broad host access is highly concerning because it resembles persistence and concealment techniques rather than transparent defensive tooling. In a skill intended for agent environments, these traits substantially increase the risk of stealthy long-term host compromise or abuse.
The combination of disguised service naming, hidden log locations, root deployment, group/user modification, and broad host access is highly concerning because it resembles persistence and concealment techniques rather than transparent defensive tooling. In a skill intended for agent environments, these traits substantially increase the risk of stealthy long-term host compromise or abuse.
A user-configurable command execution channel is a direct code-execution primitive inside a component described as an audit/watchdog. In a security tool, this is especially dangerous because the service may run automatically or with high privileges, turning config influence into arbitrary command execution under the alerter's account.
The CLI advertises itself as an audit watchdog but also includes a guided installation workflow that sets up users, files, and services for deployment. That mismatch matters because the wizard is not just documentation: it operationalizes installation and persistence, increasing the risk that the tool is used as a covertly deployed agent rather than a transparent defensive utility.
The wizard justifies hidden directories as making audit components harder to find and target. Even if framed as defense, this is concealment-oriented behavior that hinders legitimate administration, review, and incident response, and can be repurposed to hide unauthorized monitoring artifacts.
The wizard promotes hidden paths and a disguised binary name specifically to evade identification. That goes beyond ordinary hardening and moves into anti-discovery tradecraft, which is especially dangerous in a skill intended to be executed or followed by an automated agent or operator.
The guided wizard uses reassuring, step-by-step trust-building UX to normalize installing a disguised service and enabling it at boot. This combination of concealment plus persistence materially raises abuse potential by making stealth deployment easier for a non-expert operator.
This chained command compiles and then immediately performs a privileged install of the binary under a disguised name. Chaining reduces inspection opportunities and streamlines stealth deployment, making operator misuse or accidental installation more likely.
what: "Compile Clauditor and install it as a system binary",
why: "The binary is installed to /usr/local/sbin with a stealth name (systemd-journaldd) \
so it blends in with other system services and is harder to identify as a watchdog.",
command: "cargo build --release && sudo install -m 0755 target/release/clauditor /usr/local/sbin/systemd-journaldd",
check: || Path::new("/usr/local/sbin/systemd-journaldd").exists(),
},
WizardStep {
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
pid: 1234,
uid: 1000,
comm: "bash".to_string(),
argv: vec!["bash".to_string(), "-c".to_string(), "rm -rf /".to_string()],
cwd: None,
};
let alerts = detector.detect(&input);
No suspicious patterns detected.