Back to skill

Security audit

polaris-datainsight-doc-extract

Security checks for vulnerabilities and agentic risk

Overview

The skill does what it claims, but it can send Office documents to a third-party API under broad trigger conditions without a clear consent or privacy gate.

Review this before installing if you handle confidential, regulated, customer, employee, legal, or proprietary Office documents. Use it only when you are authorized to send the file contents to Polaris DataInsight, and confirm the vendor's data handling, retention, regional processing, and API key controls for your environment.

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
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

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

Extract with curl:

bash
curl -X POST "https://datainsight-api.polarisoffice.com/api/v1/datainsight/doc-extract" \
  -H "x-po-di-apikey: $POLARIS_DATAINSIGHT_API_KEY" \
  -F "file=@example.docx" \
  --output result.zip

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
- **Skill Definition:** This `SKILL.md` file is provided under the [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) license.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill metadata and description instruct invocation for very broad classes of document-analysis requests, including cases where users may not explicitly request Polaris or third-party processing. This can cause the agent to route sensitive documents to an external service without sufficiently specific user intent, increasing privacy and data-handling risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The documentation states that files are uploaded to an external API but does not include a prominent user-facing warning about third-party transmission, retention, or privacy implications. Users may provide confidential documents without realizing their contents leave the local environment and are processed by an external vendor.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
90% confidence
Finding

This code performs direct external transmission of the user-supplied document to a remote API endpoint. In the context of document extraction, that behavior is expected, but it is still security-relevant because uploaded files may contain sensitive or regulated information and the skill does not embed safeguards or consent checks around the transfer.

Content

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

md
def extract_document(file_path: str, api_key: str) -> dict:
    with open(file_path, "rb") as f:
        response = requests.post(
            "https://datainsight-api.polarisoffice.com/api/v1/datainsight/doc-extract",
            headers={"x-po-di-apikey": api_key},
            files={"file": f}

External Transmission

Medium
Category
Data Exfiltration
Confidence
89% confidence
Finding

The curl example demonstrates uploading a local document to the same external Polaris endpoint, again creating a path for off-platform data exfiltration of document contents. While this is the intended function of the skill, the example normalizes external transfer without emphasizing privacy, consent, or handling constraints.

Content

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

Extract with curl:

bash
curl -X POST "https://datainsight-api.polarisoffice.com/api/v1/datainsight/doc-extract" \
  -H "x-po-di-apikey: $POLARIS_DATAINSIGHT_API_KEY" \
  -F "file=@example.docx" \
  --output result.zip

Static analysis

No suspicious patterns detected.