comparable-company-analysis
Fail
Audited by Snyk on Jun 15, 2026
Risk Level: HIGH
Full Analysis
MEDIUM W011: Third-party content exposure detected (indirect prompt injection risk).
- Third-party content exposure detected (medium risk: 0.65). RUNTIME path:
scripts/excel_theme.pycallsfetch_comparable_company_data(query)→scripts/get_data.pyperforms a POST tohttps://ai-saas.eastmoney.com/.../comparable-company-analysis, then the returned JSON fields (header,section_finance,section_valuation,records) are converted to strings and written into the Excel; if the agent later reads/uses this text for LLM answering, it originates from an outsider-authored API response (public third-party service content).
HIGH W008: Secret detected in skill content (API keys, tokens, passwords).
- Secret detected (high risk: 1.00). I inspected both scripts. The file scripts/get_data.py contains a hardcoded, high-entropy default API key assigned to EM_API_KEY:
- Location: scripts/get_data.py
- Code: EM_API_KEY = os.environ.get("EM_API_KEY", "em_fjFqd4YB6Cqs52LF48XWbMDdLNq6MyNg").strip()
Reason for flagging:
- The default value is a non-placeholder, random-looking string (high entropy) that functions as an API key fallback and is sent in request headers ("em_api_key": EM_API_KEY). This makes it a usable credential if left in the code or if the environment variable is not set.
- It is not a documented placeholder or simple setup password, so it should be treated as a secret and removed/rotated.
No other values in the repository appear to be secrets:
- URLs, environment variable names, formatting strings, and example commands are documentation or config and are ignored per the rules.
Issues (2)
W011
MEDIUMThird-party content exposure detected (indirect prompt injection risk).
W008
HIGHSecret detected in skill content (API keys, tokens, passwords).
Audit Metadata