Back to skill

Security audit

Cron Guard Free

Security checks for vulnerabilities and agentic risk

Overview

This cron helper is mostly purpose-aligned, but it gives an agent command-execution authority and examples for running arbitrary local scripts while overstating its security coverage.

Review this before installing if the agent will have exec access. Use it only for trusted cron scripts, run with least privilege, avoid /tmp or shared log directories, do not log secrets, and do not rely on it for compliance, vulnerability scanning, or encryption protection.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
references/detail.md:19
Finding

Predictable Shared Temporary Directory Enables Log Disclosure and Symlink-Based File Overwrite

Content
View full analysis
Remediation
View remediation
` or a private per-user state directory. 2. Create the directory with mode `0700` and verify that it is a real directory owned by the expected account before every use. 3. Refuse to operate if the directory or destination files are symbolic links. Use descriptor-based, symlink-safe APIs with `O_NOFOLLOW`, `O_CREAT`, and `O_EXCL` where supported. 4. Create log files with mode `0600`, and do not rely solely on the ambient umask. 5. Write updates to a securely created temporary file in the same trusted directory and atomically replace the destination. 6. Add file locking around the `success.json` read-modify-write sequence, or use an append-only structured log or transactional database. 7. Redact credentials, tokens, connection strings, and other secrets from standard output and error output before logging. Prefer recording bounded status metadata rather than raw process output. 8. Apply log rotation and strict size limits to prevent sensitive-data accumulation and disk exhaustion. 9. If temporary storage is unavoidable, create a unique private directory with `tempfile.mkdtemp()` and ensure that it is securely removed after use. ]]>
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (8)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The examples demonstrate executing local scripts, writing logs, and enabling retries/alerts without an upfront warning about side effects. In an agent environment with exec enabled, users may treat examples as safe defaults and unintentionally run destructive or noisy operations against real systems.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The capability statement advertises security detection, compliance auditing, vulnerability scanning, and encryption protection, but the actual content only covers cron execution guardrails, diagnostics, and health checks. This overclaim can cause operators to rely on the skill for security functions it does not perform, creating a dangerous false sense of coverage.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill’s trigger and coverage language is overly broad and vague, increasing the chance that an agent invokes it in unrelated contexts. Because the skill has exec permission and includes examples that run local scripts, accidental invocation can lead to unintended command execution or filesystem side effects.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill claims all protection logic runs locally with no cloud involvement, yet elsewhere declares an LLM API as required and specifies model routing. This inconsistency can mislead users about data flow, privacy boundaries, and external dependency assumptions, causing them to expose operational details under false expectations.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The manifest describes cron task safety protection and recovery, but this example implements direct execution of an arbitrary script path using subprocess and bash. While guarding a cron job may involve invoking a task, exposing general shell execution is a materially powerful capability that is not itself a protective control and goes beyond passive checking or recovery logic.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The example directly runs a shell script and presents it as routine usage without an explicit warning that this will execute arbitrary code contained in the target script. In a reusable skill document, that omission can normalize unsafe use and lead operators to pass unreviewed scripts or assume the wrapper itself provides stronger security guarantees than it does.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

L372 明确强调技能采用“完全中文化表达”,但文档没有说明可按用户偏好切换语言,也未提供任何语言选择或 opt-in 机制。按照语言/区域政策,这会构成对单一语言的默认强制。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

The natural-language content, headings, docstrings, and messages are presented only in Chinese. If organizational policy requires avoiding forced language selection without opt-in, this is a locale/language policy concern because no alternative language option or justification is provided.

Content

No source excerpt is available for this finding.