Back to skill

Security audit

aisa financial data api

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed market-data client that uses an AIsa API key to fetch financial and crypto data from AIsa endpoints.

Install only if you are comfortable sending your AIsa API key and financial query details, such as tickers, date ranges, and screener filters, to api.aisa.one. Use a dedicated revocable API key where possible and avoid sharing account-specific or private portfolio details unless intended.

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
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (28)

Lp3

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding
The skill explicitly requires environment access for `AISA_API_KEY` and uses network calls to a third-party API, but it does not declare a restrictive tool scope such as `permissions` or `allowed-tools`. In agent environments, this weakens least-privilege controls and can allow broader-than-necessary execution or network capability if the host relies on manifest-declared scope.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# Historical price data (daily)
curl "https://api.aisa.one/apis/v1/financial/prices?ticker=AAPL&interval=day&interval_multiplier=1&start_date=2025-01-01&end_date=2025-12-31" \
  -H "Authorization: Bearer $AISA_API_KEY"

# Weekly price data
Confidence
86% confidence
Finding
The embedded external URL indicates the skill sends requests to `https://api.aisa.one/`, creating a trust dependency on an external service. In context this is expected functionality, but it is still a real external transmission surface that could expose prompts, tickers, usage patterns, or credentials if not constrained.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# Historical price data (daily)
curl "https://api.aisa.one/apis/v1/financial/prices?ticker=AAPL&interval=day&interval_multiplier=1&start_date=2025-01-01&end_date=2025-12-31" \
  -H "Authorization: Bearer $AISA_API_KEY"

# Weekly price data
Confidence
86% confidence
Finding
The embedded external URL indicates the skill sends requests to `https://api.aisa.one/`, creating a trust dependency on an external service. In context this is expected functionality, but it is still a real external transmission surface that could expose prompts, tickers, usage patterns, or credentials if not constrained.

External Transmission

Medium
Category
Data Exfiltration
Content
-H "Authorization: Bearer $AISA_API_KEY"

# Weekly price data
curl "https://api.aisa.one/apis/v1/financial/prices?ticker=AAPL&interval=week&interval_multiplier=1&start_date=2025-01-01&end_date=2025-12-31" \
  -H "Authorization: Bearer $AISA_API_KEY"

# Minute-level data (intraday)
Confidence
86% confidence
Finding
This endpoint example sends authenticated requests to the external `api.aisa.one` service. Although the purpose is legitimate market-data retrieval, it still creates an external data flow and credential-use path that should be treated as security-sensitive.

External Transmission

Medium
Category
Data Exfiltration
Content
-H "Authorization: Bearer $AISA_API_KEY"

# Minute-level data (intraday)
curl "https://api.aisa.one/apis/v1/financial/prices?ticker=AAPL&interval=minute&interval_multiplier=5&start_date=2025-01-15&end_date=2025-01-15" \
  -H "Authorization: Bearer $AISA_API_KEY"
```
Confidence
86% confidence
Finding
This intraday price example performs an outbound authenticated network request to a third-party service. The risk is not obvious maliciousness, but that the skill operationally depends on external transmission of credentials and query data without manifest-level restriction.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# Get news by ticker
curl "https://api.aisa.one/apis/v1/financial/news?ticker=AAPL&limit=10" \
  -H "Authorization: Bearer $AISA_API_KEY"
```
Confidence
86% confidence
Finding
The news query sends authenticated traffic to an external provider and therefore exposes user-request metadata and the bearer token to that service. This is expected for the skill, but remains a real attack surface if the domain is compromised or if agent permissions are overly broad.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# All financial statements
curl "https://api.aisa.one/apis/v1/financial/financial_statements/all?ticker=AAPL" \
  -H "Authorization: Bearer $AISA_API_KEY"

# Income statements
Confidence
86% confidence
Finding
This financial statements request uses an external authenticated API call, creating credential exposure to the third-party provider and a path for outbound data transfer. It is contextually legitimate but still security-relevant because the skill has no explicit scoping controls in the manifest.

External Transmission

Medium
Category
Data Exfiltration
Content
-H "Authorization: Bearer $AISA_API_KEY"

# Income statements
curl "https://api.aisa.one/apis/v1/financial/financial_statements/income?ticker=AAPL" \
  -H "Authorization: Bearer $AISA_API_KEY"

# Balance sheets
Confidence
86% confidence
Finding
The income statement example is another outbound authenticated request to `api.aisa.one`. The skill context lowers suspicion of malice, but repeated external transmission endpoints confirm that the skill systematically sends data and secrets off-host.

External Transmission

Medium
Category
Data Exfiltration
Content
-H "Authorization: Bearer $AISA_API_KEY"

# Balance sheets
curl "https://api.aisa.one/apis/v1/financial/financial_statements/balance?ticker=AAPL" \
  -H "Authorization: Bearer $AISA_API_KEY"

# Cash flow statements
Confidence
86% confidence
Finding
This balance-sheet API example demonstrates the same external transmission pattern: authenticated requests to a third-party domain. Such behavior is core to the skill, yet it is still a true security finding because external communications and secret use are not tightly scoped.

External Transmission

Medium
Category
Data Exfiltration
Content
-H "Authorization: Bearer $AISA_API_KEY"

# Cash flow statements
curl "https://api.aisa.one/apis/v1/financial/financial_statements/cash?ticker=AAPL" \
  -H "Authorization: Bearer $AISA_API_KEY"
```
Confidence
86% confidence
Finding
The cash-flow request transmits an authorization token to an external service. There is no sign of covert exfiltration beyond the stated product purpose, but it remains a genuine risk surface tied to third-party trust and credential handling.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# Real-time financial metrics snapshot
curl "https://api.aisa.one/apis/v1/financial/financial-metrics/snapshot?ticker=AAPL" \
  -H "Authorization: Bearer $AISA_API_KEY"

# Historical financial metrics
Confidence
86% confidence
Finding
This metrics snapshot request uses an external API and bearer token, which is a real credential and network exposure. Because the skill is expressly for market-data retrieval, the issue is contextualized but not eliminated.

External Transmission

Medium
Category
Data Exfiltration
Content
-H "Authorization: Bearer $AISA_API_KEY"

# Historical financial metrics
curl "https://api.aisa.one/apis/v1/financial/financial-metrics?ticker=AAPL" \
  -H "Authorization: Bearer $AISA_API_KEY"
```
Confidence
86% confidence
Finding
Historical metrics retrieval involves the same authenticated external transmission pattern. The repeated use across many endpoints increases the importance of strict egress controls and secret hygiene.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# Earnings per share estimates
curl "https://api.aisa.one/apis/v1/financial/analyst/eps?ticker=AAPL&period=annual" \
  -H "Authorization: Bearer $AISA_API_KEY"
```
Confidence
86% confidence
Finding
The analyst estimates example sends requests to a third-party API using a bearer token, making it a true external transmission finding. The functionality is intended, but the lack of explicit permission boundaries makes misuse or accidental overreach more plausible.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# Get insider trades
curl "https://api.aisa.one/apis/v1/financial/insider/trades?ticker=AAPL" \
  -H "Authorization: Bearer $AISA_API_KEY"
```
Confidence
86% confidence
Finding
This insider-trades request confirms outbound authenticated access to a third-party service. While not malicious in isolation, it is a true security issue because it entails sending credentials and user-selected parameters off-platform.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# Get institutional ownership
curl "https://api.aisa.one/apis/v1/financial/institutional/ownership?ticker=AAPL" \
  -H "Authorization: Bearer $AISA_API_KEY"
```
Confidence
86% confidence
Finding
The institutional ownership query is another authenticated external call. In context the danger is moderate rather than high, but the pattern still matters because compromise or misconfiguration could leak usage data or misuse the API credential.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# Get SEC filings
curl "https://api.aisa.one/apis/v1/financial/sec/filings?ticker=AAPL" \
  -H "Authorization: Bearer $AISA_API_KEY"

# Get SEC filing items
Confidence
86% confidence
Finding
SEC filings retrieval sends authenticated requests to an external provider, which is a genuine data/credential transmission path. The content requested is public, but the credential and user request metadata are still sensitive operational data.

External Transmission

Medium
Category
Data Exfiltration
Content
-H "Authorization: Bearer $AISA_API_KEY"

# Get SEC filing items
curl "https://api.aisa.one/apis/v1/financial/sec/items?ticker=AAPL" \
  -H "Authorization: Bearer $AISA_API_KEY"
```
Confidence
86% confidence
Finding
This SEC items request repeats the same third-party authenticated transmission behavior. Repetition across the skill suggests the primary risk is inadequate scoping and key handling, not malicious code.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# Get company facts by CIK
curl "https://api.aisa.one/apis/v1/financial/company/facts?ticker=AAPL" \
  -H "Authorization: Bearer $AISA_API_KEY"
```
Confidence
86% confidence
Finding
The company facts query sends requests and a bearer token to an external service. This is consistent with the advertised purpose, but still a true vulnerability class because external transmissions can be abused or broadened absent explicit permission restrictions.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# Screen for stocks matching criteria
curl -X POST "https://api.aisa.one/apis/v1/financial/search/stock" \
  -H "Authorization: Bearer $AISA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filters":{"pe_ratio":{"max":15},"revenue_growth":{"min":0.2}}}'
Confidence
88% confidence
Finding
The stock screener POST example sends structured query data and authentication to an external provider. POST bodies can contain richer user-derived inputs than simple GET parameters, increasing the importance of minimizing what is transmitted and constraining destinations.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# Current interest rates
curl "https://api.aisa.one/apis/v1/financial/interest_rates/snapshot" \
  -H "Authorization: Bearer $AISA_API_KEY"

# Historical interest rates
Confidence
86% confidence
Finding
The interest-rates snapshot call is an authenticated outbound request to a third-party host. Though the requested data is non-sensitive, the credential handling and external dependency still create a real security consideration.

External Transmission

Medium
Category
Data Exfiltration
Content
-H "Authorization: Bearer $AISA_API_KEY"

# Historical interest rates
curl "https://api.aisa.one/apis/v1/financial/interest_rates/historical?bank=fed" \
  -H "Authorization: Bearer $AISA_API_KEY"
```
Confidence
86% confidence
Finding
Historical rates retrieval similarly transmits authorization credentials externally. The skill context makes this expected, but it does not make the finding false; the risk remains moderate due to third-party trust and absent manifest scoping.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# Get current BTC price (use ticker format: SYMBOL-USD)
curl "https://api.aisa.one/apis/v1/financial/crypto/prices/snapshot?ticker=BTC-USD" \
  -H "Authorization: Bearer $AISA_API_KEY"

# Get current ETH price
Confidence
86% confidence
Finding
The crypto price snapshot example shows authenticated external communication to retrieve market data. This is intended behavior, but still a true external transmission because it sends a secret bearer token and request metadata to a remote service.

External Transmission

Medium
Category
Data Exfiltration
Content
-H "Authorization: Bearer $AISA_API_KEY"

# Get current ETH price
curl "https://api.aisa.one/apis/v1/financial/crypto/prices/snapshot?ticker=ETH-USD" \
  -H "Authorization: Bearer $AISA_API_KEY"

# Get current SOL price
Confidence
86% confidence
Finding
The ETH price request repeats the same authenticated egress pattern. There is no evidence of hidden exfiltration in the markdown itself, but the security concern remains that the skill depends on unconstrained third-party network access and secret use.

External Transmission

Medium
Category
Data Exfiltration
Content
-H "Authorization: Bearer $AISA_API_KEY"

# Get current SOL price
curl "https://api.aisa.one/apis/v1/financial/crypto/prices/snapshot?ticker=SOL-USD" \
  -H "Authorization: Bearer $AISA_API_KEY"

# Get TRUMP token price
Confidence
86% confidence
Finding
This SOL price example is another authenticated call to an external host. The risk profile is consistent: benign purpose, moderate impact if keys leak or egress is abused, and heightened concern because no tool scope is declared.

External Transmission

Medium
Category
Data Exfiltration
Content
-H "Authorization: Bearer $AISA_API_KEY"

# Get TRUMP token price
curl "https://api.aisa.one/apis/v1/financial/crypto/prices/snapshot?ticker=TRUMP-USD" \
  -H "Authorization: Bearer $AISA_API_KEY"
```
Confidence
86% confidence
Finding
The TRUMP token snapshot endpoint still represents outbound authenticated traffic to a third-party API. Asset type does not materially change the security issue; the concern is secret transmission and external dependency, not the ticker itself.

Static analysis

No suspicious patterns detected.