Back to skill

Security audit

Foreign Company Background Check

Security checks for vulnerabilities and agentic risk

Overview

This company background-check skill is mostly transparent, but it over-collects personnel contact details and inferred email patterns in a way that could support unwanted targeting or outreach.

Review before installing. Use this only for legitimate business due diligence, and avoid generating or storing inferred individual email addresses or unnecessary employee contact details. Prefer official company contact channels and ask for confirmation before collecting person-level information.

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
Findings (1)

other

Warning
Location
SKILL.md:39
Finding

Privacy-Invasive Contact Aggregation and Inferred Personnel Email Addresses

Content
View full analysis

Vulnerability Details

File Locations:

  • SKILL.md:39-42
  • SKILL.md:160-164
  • SKILL.md:258-264
  • references/search-strategies.md:508-515

Vulnerability Type: Privacy-invasive OSINT and contact profiling
Risk Level: Medium

Relevant Skill Instructions

English translation of the relevant instructions from SKILL.md:39-42:

markdown
5. Email format discovery (when the user provides an email):
   - Record the email format pattern, such as first.last@, flast@, or first@
   - Search for "{domain} email format pattern" to infer the company's email naming convention
   - This helps contact other company personnel later

English translation of the report fields and collection mandate from SKILL.md:160-164 and SKILL.md:264:

markdown
### Key Personnel Contact Information
| Name | Position | LinkedIn | Email, if available | Source |
|------|----------|----------|---------------------|--------|

Any contact information discovered through any search channel, including
telephone numbers, email addresses, social-media accounts, and key personnel
LinkedIn profiles, must be recorded and consolidated into the Contact
Information section without omissions.

Relevant search instructions from references/search-strategies.md:508-515:

text
"{domain}" email format
site:rocketreach.co "{company name}"
site:zoominfo.com "{company name}"
site:apollo.io "{company name}"

Technical Analysis

The Skill requires broad aggregation of named personnel, roles, social profiles, telephone numbers, and email addresses. It also directs the Agent to infer a company's email-address convention so that addresses for other employees can be constructed or predicted.

Aggregating individually discoverable facts into a unified personnel-contact dataset materially increases their sensitivity and utility for targeting. Email-pattern inference is particularly problematic because a gene ...[truncated 2345 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove email-format inference and prohibit constructing or guessing individual email addresses.
  2. Default to official company-level contact channels, such as a published switchboard, sales address, support address, or official contact form.
  3. Include named-person contact details only when they are necessary for a clearly stated, legitimate purpose and explicitly requested by the user.
  4. Replace the requirement to collect every discovered contact with a data-minimization rule that retains only information relevant to the due-diligence objective.
  5. Do not use contact-broker sources for personal contact details unless the workflow includes a lawful-purpose check, source-quality assessment, and explicit user confirmation.
  6. Clearly distinguish verified official contacts from third-party claims. Never present an inferred address as an existing or verified address.
  7. Add safeguards against requests for bulk employee lists, mass outreach, credential targeting, harassment, phishing preparation, or executive impersonation.
  8. Apply retention limits and avoid persisting personnel-contact datasets beyond the immediate task.
  9. Require source dates and independent verification for personnel information to reduce stale or mistaken attribution.
  10. Revise the report template so that key-person fields contain official professional profile links only by default, with personal telephone numbers and individual email addresses omitted.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (10)

Ssd 3

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The workflow instructs the agent to infer corporate email naming conventions to help contact other employees, which goes beyond summarizing public facts and facilitates generation of likely direct-reach addresses. This meaningfully lowers the barrier for unsolicited outreach, spear-phishing, and identity-targeted abuse, especially when paired with named personnel and company context.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The report template formalizes disclosure of key personnel contact details and inferred email formats, turning sensitive aggregation into a standard output artifact. Template-level normalization is especially dangerous because it operationalizes repeatable production of targeting data for any investigated company, not just exceptional cases.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill description uses broad triggers such as '调查某公司', '了解某公司', and 'due diligence' without enough limiting conditions, so it can activate for routine company-information requests that do not require this high-scrutiny workflow. Because the skill also contains aggressive contact-data collection behavior, over-triggering increases the chance of unnecessary collection and disclosure of business and personal identifiers.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill explicitly requires collecting and reporting all discovered contact methods, including key personnel LinkedIn profiles, into a dedicated section. Even if sourced from public pages, consolidating scattered identifiers into a single dossier materially increases privacy, targeting, and phishing risk by making individual and organizational contacts easier to exploit.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The trigger examples are ambiguous and lack boundaries on when the skill should not run, which can cause the agent to invoke the workflow for casual requests involving a company name or email. In this skill, accidental activation is more dangerous than usual because the workflow directs extensive profiling, sanctions screening, and aggregation of contact details.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

Mandating capture of every contact detail found across all sources encourages broad aggregation of personal and business identifiers without a necessity filter. The risk is amplified because the data is normalized into a report intended for delivery, making downstream misuse easier than leaving the data dispersed across original sources.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The instruction "报告用中文输出" imposes a fixed output language regardless of the user's language preference. This is a language-policy issue because the file does not offer a language choice or require user opt-in before enforcing Chinese output.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The collection principle states that all contact details from any source must be captured and summarized, which is an explicit instruction for indiscriminate data aggregation. In context, this makes the skill more dangerous because the behavior is not incidental; it is a required success criterion embedded in the workflow and report expectations.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The guidance explicitly requires collecting and recording all contact details found during a background check, including from social media, people-search platforms, and inferred email-pattern sources, but provides no privacy, purpose-limitation, consent, retention, or lawful-use constraints. In a due-diligence skill, this materially increases the chance of bulk personal-data aggregation, doxxing, unsolicited outreach, or processing regulated personal information beyond what is necessary for the user's request.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

All headings, guidance, and evaluative instructions are written in Chinese, including mandatory process language such as '所有公司必做' and '必须记录', with no indication that users may choose another language. Under SQP-3, a language or locale policy violation can arise when a skill imposes a specific language without user opt-in or documented justification.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.