Back to skill

Security audit

weekly-report

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly coherent for SEO weekly reporting, but it tells the agent to run an unbundled local validator script from an ambiguous skills-root path.

Review this before installing if your agent can execute local commands. The reporting behavior and SEO connectors are generally disclosed and purpose-fit, but only use it in an environment where the Groundcrew doctor script path is trusted, fixed, and not writable by untrusted users; otherwise the validator step could run code outside the reviewed skill.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:8
Finding

Execution of an Unverified External Validation Script

Content
View full analysis
/.groundcrew/groundcrew-doctor.py --evidence ` before using them in a conclusion. Output follows `references/reporting.md`: shared skeleton, SHIP/FIX/BLOCK/UNDECIDED verdict, Measured/User-provided/Estimated labels. ``` ### Technical Analysis The Skill instructs the Agent to locate and execute `groundcrew-doctor.py` from an external “active skills root.” That script is not included in the audited project, and the instruction does not define a fixed trusted path, expected cryptographic digest, signature, version, file owner, or permission requirements. Because discovery of the active skills root is ambiguous, path resolution may select a directory writable or otherwise controlled by an attacker. A malicious file placed at `.groundcrew/groundcrew-doctor.py` could consequently be treated as the legitimate validator and executed. The evidence-record argument does not mitigate this risk because Python executes the script itself before any validation behavior can be trusted. This is a supply-chain trust failure: security-sensitive execution is delegated to a component whose contents and provenance cannot be verified from the audited package. ### Attack Path 1. An attacker obtains write access to a directory that the Agent may identify as the active skills root. 2. The attacker creates or replaces `/.groundcrew/groundcrew-doctor.py` with a malicious Python program. 3. A user invokes the weekly-report Skill with evidence to process. 4. Following `SK ...[truncated 1227 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/connectors.md (reported line 48)May include surrounding context.

md
- **Tier 1.** Google Suggest for expansion (unofficial endpoint; treat as hints, `confidence: low`). A SERP the user pastes or fetches is an observation for that query, locale, device, and date — record all four.
- **DataForSEO.** Paid, per-request. Read `dataforseo.md`; show the cost preflight and get approval for each batch.
- **Ahrefs MCP** (`https://api.ahrefs.com/mcp/mcp`, API key on a plan that includes MCP) and **Semrush MCP** (`https://mcp.semrush.com/v1/mcp`, OAuth or API key). Use only when the user already pays for the tool and has configured the MCP in their client. Label rows `source: "ahrefs"` / `"semrush"`, `confidence` per the vendor's own accuracy notes; these are third-party estimates, not the user's own data.
- **TrustGrowth.** `keywords` (typed opportunities with volume, difficulty, intent, current position, scores) for the verified site. SERP snapshots per keyword are scheduled (TEC-7796).

### `~~link database` — backlinks and authority