Back to skill

Security audit

Japanfinance Agent

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent Japan finance data tool, with ordinary but important dependency and credential risks users should manage before installing.

Install only from a package source you trust, consider pinning a reviewed japanfinance-agent version instead of using the floating [all] extra, and provide only narrowly scoped finance API credentials needed for the data sources you plan to use.

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

T08 · Insecure Dependencies

Warning
Location
SKILL.md:4
Finding
Unpinned and Unaudited Third-Party Package Installation## Vulnerability Details **File Location**: `SKILL.md:4`, `SKILL.md:58-64` **Vulnerability Type**: Unpinned third-party dependency and expanded transitive dependency surface **Risk Level**: Medium ### Vulnerable Code ```yaml metadata: {"openclaw":{"emoji":"🏯","requires":{"bins":["japanfinance-agent"]},"install":[{"id":"uv","kind":"uv","package":"japanfinance-agent[all]","bins":["japanfinance-agent"],"label":"Install japanfinance-agent with all data sources (uv)"}],"tags":["japan","finance","mcp","agent","edinet","tdnet","estat","boj","stock","compound-analysis"]}} ``` ```bash # Install with all data sources pip install "japanfinance-agent[all]" # Or pick specific sources pip install "japanfinance-agent[edinet,tdnet,news]" ``` ### Technical Analysis The Skill instructs its host or user to install `japanfinance-agent` without an exact version, package hash, lockfile, or verifiable source reference. Dependency resolution therefore selects whichever compatible release is available from the configured package index at installation time. The default metadata installs the `[all]` extra, expanding the trust boundary to an unspecified collection of optional and transitive dependencies. None of the package or dependency implementations are included in the audited project, which contains only `SKILL.md`. Consequently, the audit cannot verify their installation behavior, network destinations, credential handling, MCP server behavior, or runtime command execution. This creates a supply-chain risk: a compromised package release, compromised transitive dependency, dependency-resolution attack, or malicious package served by an untrusted configured index could introduce arbitrary behavior that was not present during review. ### Attack Path 1. A user or Agent framework loads the Skill and processes its installation metadata, or the user follows the documented `pip install` command. 2. `uv` or `pip` resolves the unpinned `japanfi ...[truncated 1505 chars]
Remediation
## Remediation Suggestions 1. Pin `japanfinance-agent` to an exact, reviewed version in both installation metadata and documentation. 2. Use a lockfile that records every direct and transitive dependency. 3. Require cryptographic hashes for downloaded distributions, such as through pip's hash-checking mode. 4. Document the authoritative source repository and verify that published distributions correspond to reviewed source and release tags. 5. Avoid installing `[all]` by default. Enable only the minimum extras required for the intended use case. 6. Audit all direct and transitive dependencies before approving package updates. 7. Use a trusted, controlled package index and prevent fallback to untrusted indexes. 8. Run the CLI and MCP server in a restricted environment with least-privilege filesystem access, narrowly scoped credentials, and network allowlisting. 9. Keep financial-service credentials isolated from unrelated dependencies and avoid exposing them globally in the process environment. 10. Include the executable source in the reviewed artifact or provide reproducible-build provenance so its behavior can be independently verified.
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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Natural-Language Policy Violations

Medium
Confidence
84% confidence
Finding
The description explicitly frames the skill as a "Japanese financial data aggregator," which imposes a language/locale constraint in natural language without stating user choice or opt-in. The file does not document that outputs may be Japanese-only or offer an alternative language/locale behavior.