Back to skill

Security audit

Epo Patent Intelligence

Security checks for vulnerabilities and agentic risk

Overview

This patent-reporting skill has a coherent purpose, but it includes persistent public-serving automation and unsafe credential handling that users should review before installing.

Review this skill carefully before installing. Use a dedicated unprivileged account, revoke and replace the embedded Cloudflare token, avoid public tunnels unless intended, do not source or print `.env`, and fix report escaping before publishing reports to viewers.

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

T09 · Insecure Skill Coding Practices

Error
Location
scripts/start_cloudflare_tunnel.sh:28
Finding

Hard-Coded Cloudflare Tunnel Credential

Content
View full analysis
&1 & TUNNEL_PID=$! ``` The credential value is intentionally redacted from this report, but a complete reusable token is present in the affected project files. ### Technical Analysis A Cloudflare tunnel token is embedded directly in multiple executable scripts, documentation, and a script-generation template. The token is therefore disclosed to every user or system that receives a copy of the project. The exposure is compounded by `scripts/rotate_weekly.sh`, which writes the same secret into newly generated restart scripts. Removing only the existing restart scripts would consequently not eliminate the leak. Authentication tokens must not be treated as ordinary configuration or source code. Repository access, package distribution, backups, logs, and generated artifacts can all expose a committed credential. ### Attack Path 1. An attacker obtains a copy of the project, source archive, backup, or documentation. 2. The attacker extracts the hard-coded token from one of the listed files. 3. The attacker invokes `cloudflared tunnel run --token `. 4. If the token remains valid, the attacker exercises the tunnel permissions granted by Cloudflare. 5. Depending on Cloudflare-side configuration, this may permit unauthorized tunnel operation, service ...[truncated 781 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
scripts/weekly_automation_enhanced.sh:27
Finding

Arbitrary Shell Execution Through Sourced Environment File

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
generate_report.py:179
Finding

Stored Cross-Site Scripting in Published Patent Reports

Content
View full analysis
{count}
{company[:25]}
{trend_info['trend']}
Recent: {trend_info['recent']} | Avg: {trend_info['avg']}
\n''' ``` ```python espacenet_url = f"https://worldwide.espacenet.com/patent/search?q=pn%3D{patent_id}" patent_cards_html += f'''

Patent Document

{patent_id}

...[truncated 3051 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
reports/modern_report_template.html:7
Finding

Unpinned Third-Party JavaScript Loaded by Published Reports

Content
View full analysis
``` Other documented templates additionally recommend mutable dependency URLs such as: ```html ``` ### Technical Analysis The generated reports load executable JavaScript directly from third-party CDNs. Several URLs omit an exact version or use a mutable version range such as `3.x.x`. None of the reviewed tags include Subresource Integrity metadata. As a result, the code executed by a report viewer can change after the Skill package and generated report have been reviewed. The effective browser payload is controlled partly by remote package registries and CDN infrastructure. This is not evidence that the current CDN content is malicious. The vulnerability is the absence of immutable dependency selection and integrity verification. ### Attack Path 1. A referenced CDN, package publisher account, package release, or distribution path is compromised or unexpectedly changed. 2. Malicio ...[truncated 905 chars]
Remediation
View remediation
``` 5. Remove version ranges such as `3.x.x` and avoid unversioned imports. 6. Generate and verify a dependency manifest during report production. 7. Apply a restrictive Content Security Policy that allows scripts only from explicitly approved origins and disallows unsafe inline execution. 8. Monitor dependency advisories and periodically re-review pinned assets before upgrading. 9. Ensure archived reports use local or immutable assets so their behavior cannot change after publication. ]]>
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (229)

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

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

  1. Run patent intelligence collection for a company:
    bash
    cd /path/to/skill
    source .env
    python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
    

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

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

  1. Run patent intelligence collection for a company:
    bash
    cd /path/to/skill
    source .env
    python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
    

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

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

  1. Run patent intelligence collection for a company:
    bash
    cd /path/to/skill
    source .env
    python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
    

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · docs/MAINTENANCE_PROCEDURES.md (reported line 29)May include surrounding context.

  1. Run patent intelligence collection for a company:
    bash
    cd /path/to/skill
    source .env
    python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
    

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · docs/MAINTENANCE_PROCEDURES.md (reported line 289)May include surrounding context.

  1. Run patent intelligence collection for a company:
    bash
    cd /path/to/skill
    source .env
    python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
    

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · docs/MAINTENANCE_PROCEDURES.md (reported line 290)May include surrounding context.

  1. Run patent intelligence collection for a company:
    bash
    cd /path/to/skill
    source .env
    python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
    

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · docs/PRODUCTION_READINESS_CHECKLIST.md (reported line 80)May include surrounding context.

  1. Run patent intelligence collection for a company:
    bash
    cd /path/to/skill
    source .env
    python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
    

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/setup_cron.sh (reported line 79)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/setup_cron.sh (reported line 83)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/setup_cron.sh (reported line 95)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/setup_cron.sh (reported line 97)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/setup_cron.sh (reported line 102)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/setup_cron.sh (reported line 103)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/test_cron_execution.sh (reported line 46)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/test_cron_execution.sh (reported line 50)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/test_cron_execution.sh (reported line 55)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/test_cron_execution.sh (reported line 57)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/test_cron_execution.sh (reported line 58)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/test_cron_execution.sh (reported line 63)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/test_cron_execution.sh (reported line 69)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/verify_documentation.sh (reported line 105)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/verify_documentation.sh (reported line 112)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/weekly_automation.sh (reported line 32)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · scripts/weekly_automation_enhanced.sh (reported line 33)May include surrounding context.

sh
2. **Run patent intelligence collection** for a company:
   ```bash
   cd /path/to/skill
   source .env
   python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
   ```

Credential Access

High
Category
Privilege Escalation
Confidence
91% confidence
Finding

The documentation instructs users to run cat .env, which prints secrets directly to the terminal. That increases the chance of credential exposure through shell history capture, terminal logging, screen sharing, recorded sessions, or shoulder surfing.

Content

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

Step 1: Configure EPO API credentials

bash
# Ensure .env file exists with EPO credentials
cat .env
EPO_CONSUMER_KEY=your_key_here
EPO_SECRET_KEY=your_secret_here