Description-Behavior Mismatch
- Category
- MCP Tool Poisoning
- Confidence
- 84% confidence
- Finding
代码片段明确展示的是 memory 快照读取与刷新,而不是声明中的行情、公告、财务、宏观等查询。片段也没有说明该快照与所声明数据的关系,因此存在功能不匹配。API Key 配置和缓存刷新本身属于实现细节,不单独构成不匹配;由于未提供脚本实现,不能进一步断定快照内容、访问位置或是否涉及敏感数据。
- Content
Security audit
Security checks for vulnerabilities and agentic risk
FinXData provides clearly documented data queries without unrelated local access or persistent background activity.
FinXData receives your query parameters, IP address, and agent-type identifier. Account queries also send your configured API key and may consume quota. Prefer key-free queries when sufficient, keep the key private, and check returned data dates and coverage.
代码片段明确展示的是 memory 快照读取与刷新,而不是声明中的行情、公告、财务、宏观等查询。片段也没有说明该快照与所声明数据的关系,因此存在功能不匹配。API Key 配置和缓存刷新本身属于实现细节,不单独构成不匹配;由于未提供脚本实现,不能进一步断定快照内容、访问位置或是否涉及敏感数据。
Without declared permissions the skill's intent is opaque and cannot be validated.
Dynamic getattr() with a non-literal attribute name can access arbitrary object attributes, potentially bypassing access controls.
def command_data(args: argparse.Namespace) -> None:
spec = ENDPOINTS[(args.group, args.action)]
params = {
name: getattr(args, name) for name, _required, _default in spec["parameters"]
}
is_agent = (args.group, args.action) in AGENT_ENDPOINTS
agent_type = None