Most recent
navigate open esc close Corpus index built 2026-06-07 23:58 UTC

← All engagement records

CRITICAL · case-study May 25, 2026

Chinese Financial LangGraph Agent — Credit Reports, Loans, and an Open Session Store

Sector
Commercial
Severity
CRITICAL

Date: 2026-05-25 Target: 1.15.66.80 ASN: AS132203, Tencent Cloud, Shanghai, China Severity: CRITICAL


What Was Found

F1 — LangGraph Multi-Agent Financial System, Unauthenticated (CRITICAL)

DCWF KSAT coverage

Auto-derived from DCWF AI work-role rule files (ksat-tag).

  • 672 (AI Test & Evaluation Specialist): K7003, K7004, S7068, S7070, S7075, T5904
  • 733 (AI Risk & Ethics Specialist): K7040, K7051, T5854, T5868, T5882
  • overlap (Common AI KSATs (all 5 roles)): K1158, K22, K6311, K6935, K7003

Port 8000 responds without authentication:

GET http://1.15.66.80:8000/
→ HTTP 200
→ {
    "message": "LangGraph多智能体系统 - LangGraph 对话工作流服务",
    "service_type": "langgraph_workflow_service",
    "version": "1.0.1",
    "environment": "dev",
    "docs": "/docs",
    "health": "/health",
    "api_prefix": "/api/v1",
    "endpoints": {
      "consultant_chat_stream": "/api/v1/consultant/chat/stream",
      "consultant_health":      "/api/v1/consultant/health",
      "general_financial_chat_stream": "/api/v1/financial/chat/stream",
      "general_financial_health":      "/api/v1/financial/health",
      "loan_product_extraction_extract": "/api/v1/loan-product/extract",
      ...
    }
  }

Response header: X-Trace-Id: ad905d34f31443af3eb4b5bbc4701afd

Translation: “LangGraph multi-agent system — LangGraph conversational workflow service.”

Four named workflows are registered. PersonalCreditReportWorkflow and LoanProductExtractionWorkflow process financial identity data and loan products. ConsultantWorkflow and GeneralFinancialWorkflow are advisory layers on that data. A second identical instance runs on port 8001 (X-Trace-Id: 5edd3a13c2ddf3a112248c75035eac72).

The environment is "dev". The host is on the public internet. This is a financial data processing pipeline.

F2 — Redis Commander Exposes the Agent Session Store (CRITICAL)

Port 8081 serves Redis Commander, a browser-based Redis management UI, with no authentication:

GET http://1.15.66.80:8081/
→ HTTP 200
→ Redis Commander: Home   (30KB page, full UI loaded)

Redis is the session and state backend for LangGraph agents. Every agent interaction is stored there: thread IDs, conversation state, workflow outputs, any PII that passed through between LLM calls. Redis Commander gives a browser interface for reading and writing all of it. No token. No login prompt. The root path loads the full UI.

F3 — Langfuse LLM Observability, Signup Open (HIGH)

Port 3000 serves Langfuse 3.x with open user registration:

GET http://1.15.66.80:3000/
→ HTTP 200  (Langfuse Next.js application)
Content-Security-Policy: default-src 'self' https://*.langfuse.com ...

Langfuse records every LLM call: the prompt, the model response, token counts, latency, and any metadata on the trace. Any external party can create an account on this instance and read those traces. For a system running PersonalCreditReportWorkflow and LoanProductExtractionWorkflow, those traces hold the inputs those workflows processed.

F4 — RAGFlow Document Intelligence, Port 18080 (UNRATED — Auth Not Probed)

Port 18080 serves RAGFlow, a RAG framework with document parsing, knowledge base management, and vector retrieval:

GET http://1.15.66.80:18080/
→ HTTP 200  (RAGFlow web application, nginx/1.18.0)
→ <title>RAGFlow</title>   (logo.svg served)

We did not probe the RAGFlow auth state. The knowledge bases could include loan product documentation, credit scoring materials, or uploaded financial records. Auth state requires a follow-up probe before severity is assigned.

F5 — MinIO Object Storage (AUTH ENFORCED)

Port 9090 returns AccessDenied on all requests. MinIO enforces authentication. The rest of the stack does not.


Stack Map

PortServiceVersionAuthSeverity
8000LangGraph (uvicorn)1.0.1NoneCRITICAL
8001LangGraph (uvicorn)1.0.1NoneCRITICAL
8081Redis CommanderNoneCRITICAL
3000Langfuse3.xSignup openHIGH
18080RAGFlowNot probedUNRATED
9090MinIOEnforced
8888nginx404

Attribution

No PTR record. VisorGraph returned 0 nodes, 0 edges. Plain HTTP across all ports. No TLS, no certificate to pivot from. TencentCloud AS132203, Shanghai.

The x-trace-id header on LangGraph responses is the only signal tying this deployment to LangChain’s own infrastructure pattern. It is the only host in the 16-host survey corpus that returned this header.


Thesis Placement

This host is the highest-severity finding in the LangGraph survey. The five-service stack is the Pharos-class pattern: multiple unauth services on one host, each individually confirmed, collectively giving full read/write access to the system’s data and state.

The workflow names confirm the data class. PersonalCreditReportWorkflow and LoanProductExtractionWorkflow, in a "dev" environment, with an open session store. This workflow processes financial identity data. The session store is readable.

See also: LangGraph Server Survey (2026-05-25) · LangGraph Deployment Gap — Systematic Pattern