Back to skill

Security audit

investment-research

Security checks for vulnerabilities and agentic risk

Overview

This skill uses a disclosed external API to retrieve public company filing data and create non-advisory investment research reports, with no hidden persistence or unrelated local access found.

Install only if you are comfortable using the AI Skills platform for investment-research queries and storing an INVESTMENT_RESEARCH_API_KEY in OpenClaw. Treat outputs as informational research, not financial advice or trading instructions, and avoid overriding AI_SKILLS_API_URL unless you intentionally trust a different endpoint.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (7)

Tool Parameter Abuse

High
Category
Tool Misuse
Content
API_ROOT="${SITE_ROOT%/}/api/v1"
FILINGS_KEY="$(uuidgen | tr '[:upper:]' '[:lower:]')"

curl --fail-with-body "$API_ROOT/investment-research/filing.search" \
  -H "Authorization: Bearer $INVESTMENT_RESEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $FILINGS_KEY" \
Confidence
60% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Natural-Language Policy Violations

Medium
Confidence
89% confidence
Finding
The manifest description and the main skill documentation are entirely in Chinese, with no indication that users may choose another language or that the skill is intentionally limited to a Chinese-speaking or region-specific audience. Under the policy, language constraints should either be optional for the user or clearly justified.

External Transmission

Medium
Category
Data Exfiltration
Content
API_ROOT="${SITE_ROOT%/}/api/v1"
FILINGS_KEY="$(uuidgen | tr '[:upper:]' '[:lower:]')"

curl --fail-with-body "$API_ROOT/investment-research/filing.search" \
  -H "Authorization: Bearer $INVESTMENT_RESEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $FILINGS_KEY" \
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
FACTS_KEY="$(uuidgen | tr '[:upper:]' '[:lower:]')"
curl --fail-with-body "$API_ROOT/investment-research/company.facts" \
  -H "Authorization: Bearer $INVESTMENT_RESEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $FACTS_KEY" \
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
'{source_task_ids:[$filings[0].task_id,$facts[0].task_id]}' > source-tasks.json

RISK_KEY="$(uuidgen | tr '[:upper:]' '[:lower:]')"
curl --fail-with-body "$API_ROOT/investment-research/risk.analyze" \
  -H "Authorization: Bearer $INVESTMENT_RESEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $RISK_KEY" --data-binary @source-tasks.json
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
-H "Idempotency-Key: $RISK_KEY" --data-binary @source-tasks.json

REPORT_KEY="$(uuidgen | tr '[:upper:]' '[:lower:]')"
curl --fail-with-body "$API_ROOT/investment-research/report.create" \
  -H "Authorization: Bearer $INVESTMENT_RESEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $REPORT_KEY" --data-binary @source-tasks.json
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The file’s natural-language instructions and examples are presented only in Chinese, which effectively forces a specific language for users consuming this skill documentation. Under the stated policy, language constraints should be optional or clearly justified as region-specific, and neither is present here.

Static analysis

No suspicious patterns detected.