Back to skill

Security audit

dutis

Security checks for vulnerabilities and agentic risk

Overview

The skill manages macOS default applications with explicit approval, policy checks, and clearly disclosed optional monitoring.

Review the exact association changes before approving them. If enabling monitoring or HTTPS event delivery, choose trusted tools and a destination you control, since events may include local paths and full change plans. The external Dutis implementation was not bundled for inspection.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (2)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 74)May include surrounding context.

md
For HTTPS delivery, prefer the packaged `dutis-event-http` external command.
Keep `DUTIS_HTTP_ENDPOINT` and `DUTIS_HTTP_BEARER_TOKEN` out of Dutis TOML,
plans, prompts, and audit records. Run `dutis-event-http --check --json` before
enabling it, and use a Keychain-backed wrapper for a LaunchAgent rather than
persisting transport credentials in its plist.

For monitoring requests, use `dutis_drift` or `dutis watch <config> --once`

Session Persistence

Medium
Category
Rogue Agent
Confidence
75% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · SKILL.md (reported line 75)May include surrounding context.

md
Keep `DUTIS_HTTP_ENDPOINT` and `DUTIS_HTTP_BEARER_TOKEN` out of Dutis TOML,
plans, prompts, and audit records. Run `dutis-event-http --check --json` before
enabling it, and use a Keychain-backed wrapper for a LaunchAgent rather than
persisting transport credentials in its plist.

For monitoring requests, use `dutis_drift` or `dutis watch <config> --once`
first. Explain whether the report is `in_sync`, `drift_detected`, or

Static analysis

No suspicious patterns detected.