T09 · Insecure Skill Coding Practices
- Location
scripts/find_feishu_quota_candidates.py:11- Finding
Diagnostic output may disclose Feishu verification tokens and other sensitive values
- Content
View full analysis
List[str]: hits: List[str] = [] for path in iter_files(root): if not looks_text_file(path): continue text = read_text(path) if not text: continue for lineno, line in enumerate(text.splitlines(), 1): if CONTENT_RE.search(line): hits.append("{}:{}:{}".format(path, lineno, line.strip())) if len(hits) >= 120: return hits return hits ``` The collected line is printed without redaction: ```python for root in roots: print("== Root: {} ==".format(root)) print() print_section("-- Candidate files --", candidate_files(root)) print_section("-- Config/code lines --", content_hits(root)) print_section("-- Repeated probe clues (logs only) --", log_hits(root)) ``` The automatic fixer has the same disclosure pattern: ```python official_hits = grep_hits(workspace, r"@openclaw/feishu|channels\.feishu|connectionMode") custom_hits = grep_hits(workspace, r"verificationToken|/health|healthCheck|webhook|gateway") if official_hits: print() print("Official/current Feishu clues:") for hit in official_hits[:8]: print(f" - {hit}") if custom_hits: print() print("Custom webhook/gateway clues:" ...[truncated 2153 chars]- Remediation
View remediation
