Back to skill

Security audit

Company Intel

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed sales-intelligence workflow, but it performs active email probing and automatically stores personal contact records in local files and OKKI with weak safeguards.

Review before installing. Use this only where you have authorization and a lawful basis for lead enrichment, require explicit confirmation before OKKI writes, avoid raw SMTP probing unless your organization approves it, and add filename/email validation plus retention and deletion controls.

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 (3)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:139
Finding

Path Traversal Through Unsanitized Company Names

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:108
Finding

SMTP Command Injection Through Unvalidated Email Addresses

Content
View full analysis
\r\n") time.sleep(2) s.recv(512) s.send(f"RCPT TO:<{email}>\r\n".encode()) time.sleep(2) resp = s.recv(512).decode() code = resp[:3] # 250 = valid, 550 = nonexistent s.send(b"QUIT\r\n") s.close() ``` ### Technical Analysis The `email` value is interpolated directly into an SMTP protocol command. No validation rejects carriage returns, line feeds, control characters, malformed mailbox syntax, or multiple addresses. SMTP commands are delimited by `\r\n`. Consequently, an address containing CRLF characters can terminate the intended `RCPT TO` command and append additional protocol commands. For example, a conceptual malicious value could cause the transmitted data to contain: ```text RCPT TO: RSET MAIL FROM: ... ``` Email candidates originate from web research, search snippets, inferred address patterns, and user-associated company data. An attacker who controls one of these inputs could attempt to introduce a crafted value. The document claims that verification never proceeds beyond `RCPT TO`, but raw string interpolation does not technically enforce that property. ### Attack Path 1. An attacker places a crafted email-like value containing CRLF characters in a source likely to be collected by the workflow, or supplies it through associated input. 2. The workflow adds the value to the `emails` collection without strict parsing. 3. The agent executes the documented Python code. 4. The formatted string inserts the attacker's CRLF sequence into the SMTP stream. 5. The receivin ...[truncated 748 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:108
Finding

Misleading SMTP Identity and Unreliable Mailbox Validation

Content
View full analysis
\r\n") time.sleep(2) s.recv(512) s.send(f"RCPT TO:<{email}>\r\n".encode()) time.sleep(2) resp = s.recv(512).decode() code = resp[:3] # 250 = valid, 550 = nonexistent s.send(b"QUIT\r\n") s.close() ``` ### Technical Analysis The verifier identifies itself as `gmail.com` and uses `test@gmail.com` as its envelope sender even though the Skill provides no indication that the operator controls or is authorized to represent Gmail. This is a misleading SMTP identity and may violate receiving-server policies. The verification result is also reduced to the first three characters of a single response: ```python code = resp[:3] # 250 = valid, 550 = nonexistent ``` That assumption is not reliable. Mail servers may: - Accept every recipient on catch-all domains. - Temporarily reject requests through greylisting. - Return anti-enumeration responses. - Accept a recipient during SMTP and reject it later. - Use multiline replies. - Return other permanent or temporary status codes. - Change behavior based on sender reputation or SPF-related checks. As a result, the workflow can incorrectly label inferred personal addresses as verified and then persist them to local records and OKKI. ### Attack Path 1. The workflow derives or collects candidate employee email addresses. 2. It connects directly to the target MX server while claiming `EHLO gmail.com` and using an unauthorized Gmail envelope sender. 3. The receiving server applies anti-abuse, catch-all, greylisting, or anti-enumeration behavior. 4. The code reads only a li ...[truncated 898 chars]
Remediation
View remediation
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (7)

Ssd 3

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill operationalizes collection, verification, summarization, and storage of individual contact details and company intelligence into dossiers and CRM records. In context, this turns reconnaissance into durable targeting infrastructure, increasing the risk of privacy violations, unauthorized profiling, and abuse of verified personal contact data for unsolicited or deceptive campaigns.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger scope is broad enough to activate on ordinary business-research requests while launching a powerful workflow that performs reconnaissance, contact discovery, email inference, verification, CRM writes, and persuasion generation. Overbroad activation increases the chance the skill runs without the user understanding the sensitivity or the downstream actions being taken.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill directs storing company intelligence and individual contact details to local files and OKKI without explicit notice, consent handling, minimization, or retention controls. This creates privacy, compliance, and insider-misuse risk because personal/business data is silently persisted and operationalized for outreach.

Content

No source excerpt is available for this finding.

Ssd 4

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This section describes a cumulative targeting pipeline: identify employees, infer likely mailbox patterns, generate candidate emails, and prioritize executives for outreach. In context, that goes beyond benign lead research and materially enables deceptive targeting, spear-phishing preparation, and privacy-invasive profiling of named individuals.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill labels direct SMTP RCPT probing as 'zero risk', but it is still active network reconnaissance against third-party mail infrastructure and attempts to verify whether specific addresses exist. That can violate acceptable-use policies, trigger abuse detection, and facilitate targeted outreach or phishing by confirming live recipients.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

This markdown specification is written entirely in Chinese and prescribes output structures and workflow behavior in Chinese, while also generating English outreach content, but it does not state that the skill is region-specific or give users a language/locale choice. Under the policy, forcing a specific language without user opt-in is a natural-language locale violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The document is primarily written in Chinese while later sections prescribe English opener text such as 'Hi [Name]' and fixed English phrasing for outputs. This imposes language behavior without explicit user opt-in or a stated business-region justification.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.