T09 · Insecure Skill Coding Practices
- Location
scripts/fetch_filings.py:173- Finding
Plaintext HTTP Fallback Permits Bulletin Data Manipulation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a public Chinese-market company-announcement collector with disclosed network fetching, but users should treat its investment output as unverified because some sources are weakly attributed or fetched over HTTP.
Install only if you are comfortable with a script making outbound requests to public Sina Finance and exchange-related URLs. Treat the output as a screening aid, not verified investment advice; confirm important announcements directly from official HTTPS exchange or company disclosure pages before acting on them.
scripts/fetch_filings.py:173Plaintext HTTP Fallback Permits Bulletin Data Manipulation
scripts/fetch_filings.py:243Static Exchange Records Are Presented as Collected Disclosure Data
The skill explicitly instructs running a local Python script that performs multi-source data collection from Sina Finance and exchange disclosure sites, which implies network access, but the manifest does not declare any tool scope or allowed-tools. This creates an undeclared capability boundary: a host may permit broader execution than reviewers expect, reducing auditability and increasing the risk of unauthorized outbound requests or future abuse if the script is modified.
The description and title are entirely in Chinese and present the skill as a Chinese-language skill, but there is no indication that users may choose another language or that the locale restriction is required. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.
The request header forces Accept-Language to zh-CN,zh;q=0.9,en;q=0.8, which imposes a specific locale policy in the skill behavior. This is a natural-language policy concern because the script does not offer user opt-in or configuration for language/locale selection, and no region-specific justification is documented in the file.