Back to skill

Security audit

Ticker Universe Builder

Security checks for vulnerabilities and agentic risk

Overview

The skill is a disclosed local tool for researching and rendering ticker watchlists; it uses public market data and local files but does not show hidden persistence, credential access, trading, or destructive behavior.

Install only if you want an agent to perform market research, contact public financial-data endpoints, run the bundled Python CLI, and write watchlist/report bundles in your project. Pin a reviewed release or commit for reproducibility, use a fresh output directory, review generated sources and validation results, and do not treat the watchlists as investment advice or trade instructions.

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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (60)

Tp4

High
Category
MCP Tool Poisoning
Confidence
91% confidence
Finding

The code is narrowly focused on reading local price-bar data, computing statistical measurements, producing audit/measurement metadata, and merging those measured values into an existing snapshot. This aligns with an auditable/evidence-oriented component, but it does not implement the main declared product behavior: constructing and maintaining ticker universes across fourteen markets and four depths, nor exporting them as TradingView watchlists. There are no network fetches beyond validating a source URL string, no market-universe orchestration, and no watchlist export code. So the description materially overstates and mischaracterizes the code chunk’s actual purpose.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The code chunk does not implement ticker universe building, evidence-gated market/depth maintenance, or TradingView watchlist export. Instead, it performs quantitative financial analytics on price/return series and theme mappings, including basket construction, correlation measurement, regression fitting, gauge assignment, and fund-vs-basket diagnostics. This is a materially different primary purpose from the declared description. There are no extra permissions or triggers involved, but the functionality shown is unrelated to maintaining auditable ticker universes/watchlists.

Content

No source excerpt is available for this finding.

External Model or Provider Selection

High
Category
Excessive Agency
Confidence
90% confidence
Finding

Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.

Content

Scanner excerpt · docs/validation/codex-cli-2026-10-08.md (reported line 52)May include surrounding context.

Install a reviewed checkout inside a new project, then run:

bash
codex exec --json --sandbox workspace-write -c 'approval_policy="never"' \
  --output-last-message result.md - < request.txt > events.jsonl

External Model or Provider Selection

High
Category
Excessive Agency
Confidence
90% confidence
Finding

Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.

Content

Scanner excerpt · docs/validation/codex-online-2026-10-08.md (reported line 56)May include surrounding context.

A compact CN example needs a newly researched Beta bench for Max.

bash
codex exec --json --sandbox workspace-write \
  -c 'approval_policy="never"' -c 'web_search="live"' \
  -c 'sandbox_workspace_write.network_access=true' \
  --output-last-message result.md - < request.txt > events.jsonl

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

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

Content

Scanner excerpt · examples/crypto-medium/snapshot.json (reported line 1)May include surrounding context.

json
evidence_as_of":"2026-10-05","detail":"Online reviewed for continuing business/token function; original economic judgment retained except explicit research-review updates.","receipt":"research/online/raw/ee2e96defff6cfdf4b0ab10721494c6647a6d0658d4f43f611c57acb23ee21fe.json"},{"url":"https://dev.world.org/risks","as_of":"2026-10-08","tier":1,"kind":"protocol_economics","original_evidence_as_of":"2026-10-05","detail":"Online reviewed for continuing business/token function; original economic judgment retained except explicit research-review updates.","receipt":"research/online/raw/a974999978df8f296d80e3e291c961940415f744eff7cccf2cd2f1b0a277f53b.json"},{"url":"https://whitepaper.world.org/designing-for-scale/2026-03-24","as_of":"2026-10-08","tier":1,"kind":"online_business_review","receipt":"research/online/raw/ea768daa848d7b192c7493fb019479eb0879fc3b6471163991cdd758655d39f7.json"},{"url":"https://fapi.binance.com/fapi/v1/exchangeInfo","as_of":"2026-10-08","tier":1,"kind":"listing"},{"url":"https://fapi.binance.com/fapi/v1/klines?symbol=WLDUSDT&interval=1d&limit=550&endTime=1791331199999","as_of":"2026-10-08","tier":1,"kind":"daily_prices","receipt":"research/online/raw/778e032a1e117368df13c7af87bd921a0cc3059c7a9f9a69ef37dbe3521150a6.json","detail":"Exact instrument, completed UTC daily bars through 2026-10-06."},{"url":"https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=250&page=1","as_of":"2026-10-07","tier":2,"kind":"market_cap","receipt":"research/online/raw/c726ca1fdddfc38999d4aaacfc7bc46f18eaa361e9a6b18d749e91df5e868a52.json","detail":"Explicit reviewed project ID worldcoin-wld; circulating market_cap, not FDV; provider last_updated=2026-10-07T17:10:20.000Z"}],"instrument":{"kind":"perpetual","quote_currency":"USDT","units":1},"ecosystem_id":"world","token_role":"World ecosystem token with evolving governance/utility design"},"capitalization_observation":{"value":1965973389,"currency":"USD","basis":"circulating","as_of":"
...[truncated 28 chars]

Lp1

High
Category
MCP Least Privilege
Confidence
87% confidence
Finding

The module reads SSL_CERT_FILE and SSL_CERT_DIR from the environment and changes its TLS trust behavior accordingly, but this capability is reportedly undeclared. In a permission-gated agent environment, undeclared environment access weakens reviewability and can let operators or surrounding tooling silently alter network trust roots, affecting integrity of fetched market data.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

bash
   python scripts/universe.py measure --prices prices.csv --benchmark BINANCE:BTCUSDT.P \
     --source https://data.binance.vision/ --into snapshot.json --output snapshot.measured.json

See references/measurement.md. If you have no price table, the

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The instruction 'English is always generated' imposes a language requirement regardless of the user's preferences. This is a natural-language locale policy issue because it forces a specific language rather than offering a choice or making English optional.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This locale file explicitly sets "language":"zh-Hant", which indicates the skill provides content in a fixed language/locale. Under the policy, forcing a specific language without user opt-in or a documented region-specific justification is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The JSON sets "market":"cn" directly, which imposes a specific locale/market selection in configuration. In this file there is no accompanying opt-in mechanism or natural-language justification indicating that the skill is intentionally region-specific, so it may violate the language/locale policy criteria.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · examples/crypto-medium/snapshot.json (reported line 1)May include surrounding context.

json
{"schema_version":1,"market":"crypto","as_of":"2026-10-08","complete":true,"sources":[{"url":"https://api.binance.com/api/v3/exchangeInfo","as_of":"2026-10-08","tier":1,"kind":"listing"},{"url":"https://fapi.binance.com/fapi/v1/exchangeInfo","as_of":"2026-10-08","tier":1,"kind":"listing"},{"url":"https://www.okx.com/api/v5/public/instruments?instType=SPOT","as_of":"2026-10-08","tier":1,"kind":"listing"}],"taxonomy":[{"l1_code":"00","l1_name":"Core Market","theme_code":"00_A","theme_name":"CORE_ASSETS","coverage_level":1,"weight":1.0,"purpose":"Observe the common crypto market factors through BTC, ETH and SOL.","representative_roles":["ANCHOR","BENCHMARK"]},{"l1_code":"10","l1_name":"Chains & Platforms","theme_code":"10_A","theme_name":"TRADING_PLATFORMS","coverage_level":1,"weight":1.0,"purpose":"Observe exchange-linked ecosystem activity and token utility; do not equate token ownership with exchange equity.","representative_roles":["ANCHOR","QUALITY_LEADER","THEME_LEADER"]},{"l1_code":"10","l1_name":"Chains & Platforms","theme_code":"10_B","theme_name":"L1_NETWORKS","coverage_level":1,"weight":3.5,"purpose":"Observe base-layer execution demand and network economics.","representative_roles":["ANCHOR","QUALITY_LEADER","THEME_LEADER"]},{"l1_code":"10","l1_name":"Chains & Platforms","theme_code":"10_C","theme_name":"SCALING_ROLLUP_ECOSYSTEMS","coverage_level":1,"weight":1.75,"purpose":"Observe execution scaling, rollup infrastructure and related token economics; distinguish rollups, sidechains and their different settlement/security models.","representative_roles":["ANCHOR","QUALITY_LEADER","THEME_LEADER"]},{"l1_code":"10","l1_name":"Chains & Platforms","theme_code":"10_D","theme_name":"PRIVACY_NETWORKS","coverage_level":1,"weight":0.6,"purpose":"Observe privacy demand and its distinct regulatory exposure.","representative_roles":["ANCHOR","QUALITY_LEADER","THEME_LEADER"]},{"l1_code":"10","l1_name":"Chains & Platforms","theme_code":"10_E","theme_name":"BTC_ECOSYSTEM","
...[truncated 28 chars]

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · examples/crypto-medium/snapshot.json (reported line 1)May include surrounding context.

json
{"schema_version":1,"market":"crypto","as_of":"2026-10-08","complete":true,"sources":[{"url":"https://api.binance.com/api/v3/exchangeInfo","as_of":"2026-10-08","tier":1,"kind":"listing"},{"url":"https://fapi.binance.com/fapi/v1/exchangeInfo","as_of":"2026-10-08","tier":1,"kind":"listing"},{"url":"https://www.okx.com/api/v5/public/instruments?instType=SPOT","as_of":"2026-10-08","tier":1,"kind":"listing"}],"taxonomy":[{"l1_code":"00","l1_name":"Core Market","theme_code":"00_A","theme_name":"CORE_ASSETS","coverage_level":1,"weight":1.0,"purpose":"Observe the common crypto market factors through BTC, ETH and SOL.","representative_roles":["ANCHOR","BENCHMARK"]},{"l1_code":"10","l1_name":"Chains & Platforms","theme_code":"10_A","theme_name":"TRADING_PLATFORMS","coverage_level":1,"weight":1.0,"purpose":"Observe exchange-linked ecosystem activity and token utility; do not equate token ownership with exchange equity.","representative_roles":["ANCHOR","QUALITY_LEADER","THEME_LEADER"]},{"l1_code":"10","l1_name":"Chains & Platforms","theme_code":"10_B","theme_name":"L1_NETWORKS","coverage_level":1,"weight":3.5,"purpose":"Observe base-layer execution demand and network economics.","representative_roles":["ANCHOR","QUALITY_LEADER","THEME_LEADER"]},{"l1_code":"10","l1_name":"Chains & Platforms","theme_code":"10_C","theme_name":"SCALING_ROLLUP_ECOSYSTEMS","coverage_level":1,"weight":1.75,"purpose":"Observe execution scaling, rollup infrastructure and related token economics; distinguish rollups, sidechains and their different settlement/security models.","representative_roles":["ANCHOR","QUALITY_LEADER","THEME_LEADER"]},{"l1_code":"10","l1_name":"Chains & Platforms","theme_code":"10_D","theme_name":"PRIVACY_NETWORKS","coverage_level":1,"weight":0.6,"purpose":"Observe privacy demand and its distinct regulatory exposure.","representative_roles":["ANCHOR","QUALITY_LEADER","THEME_LEADER"]},{"l1_code":"10","l1_name":"Chains & Platforms","theme_code":"10_E","theme_name":"BTC_ECOSYSTEM","
...[truncated 28 chars]

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This JSON manifest contains large amounts of user-facing natural language in both Traditional Chinese and English, including names, purposes, reasons, notes, and translations, but does not indicate whether the skill is intended for a specific language audience or offers a language/locale choice. That can violate a language/locale policy when users are implicitly forced into a mixed-language experience without opt-in or clear justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

SQP-3 applies to all file types and covers language or locale policy violations. This JSON uses Japanese throughout business summaries and review text, but the file does not state that Japanese output is optional, user-selected, or required by a documented region-specific policy.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

This JSON contains natural-language descriptions and review text predominantly in Korean across the dataset, but there is no accompanying statement that the language is selected based on user preference or limited to a Korea-specific audience. Under the policy rule, forcing a specific language without explicit opt-in can be a locale-policy violation.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

In coverage_plan.branches, duty_60_b is documented as distinguishing demand for '건설기계와 상용 전자제품' (construction machinery and commercial electronics), but the listed representatives are only Doosan Bobcat and HD Hyundai Construction Equipment, both construction-equipment companies. This is an active contradiction between the branch purpose text and the actual roster the file implements.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

These lines state that language is treated as a fact about the market rather than a caller preference. That creates a natural-language locale policy concern because the skill is documented to force a specific language without user opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

These lines state that the report is written in English by default and instruct the writer to produce the snapshot in English as well. The only alternative mentioned is a command-line override, which indicates a default locale constraint rather than an explicit user language choice or opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

These lines state that the report and snapshot should be written in English by default, which imposes a specific language choice. The rule forbids language or locale constraints unless the skill offers user choice or clearly justifies the constraint.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The text explicitly requires the report and multiple fields to be written in Simplified Chinese. Under the policy, forcing a specific language is a natural-language policy violation unless the skill offers opt-in choice or clearly documents a justified region-specific constraint, which is not stated here.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

Lines L82-L86 require that the report and related prose fields be written in the market's own language by default, while also requiring English generation. This imposes a locale/language choice rather than offering the user an explicit option, which matches the policy-violation category for forced language behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The file states that English is always generated and that Traditional Chinese is the default companion language. This appears to force a specific language/locale behavior rather than offering an unrestricted user choice, which matches the policy's language/locale violation category.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The markdown explicitly instructs that the report and snapshot be written in English by default. This is a natural-language locale policy concern because it imposes a language choice unless the user supplies an override, rather than offering a neutral choice or explicit opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file states that English is always generated, with only the companion language being selectable via --language. This imposes a fixed language policy rather than offering the user a full language choice, which matches the rule's language/locale policy violation criteria.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The file states that English is always generated and that Korean is included by default, while --language only changes the companion language. This imposes a fixed language policy rather than offering a true user choice, which matches the locale/language policy violation criteria.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.