Scan Report
20 /100
requirement-checker
需求文档规范自动检查技能(AI 驱动 + 智能引导)— LLM-powered requirement document validator
A legitimate requirement document checker that uses LLM APIs to validate documents. No malicious behavior detected. The primary concern is a hardcoded API key stored in config.json which is used locally for API calls rather than exfiltrated.
Safe to install
Move the hardcoded API key from config.json to environment variables or prompt for it at runtime. Add config.json to .gitignore to prevent credential leakage.
Findings 3 items
| Severity | Finding | Location |
|---|---|---|
| Medium | Hardcoded API Key in config.json | config.json:27 |
| Low | Environment variable access not declared | scripts/check_with_llm.py:74 |
| Low | Reads OpenClaw user config for API credentials | scripts/check_with_llm.py:113 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ | WRITE | ✓ Aligned | Reads requirement docs, writes reports to output dir — necessary for the feature |
| Network | READ | READ | ✓ Aligned | Makes POST requests to configured LLM API (dashscope) for document checking only |
| Environment | NONE | READ | ✓ Aligned | Reads OPENAI_API_KEY, OPENAI_BASE_URL from env; not declared in SKILL.md but ben… |
| Shell | NONE | NONE | — | No subprocess or shell execution found in codebase |
| Skill Invoke | WRITE | WRITE | ✓ Aligned | Uses sessions_spawn with subagent runtime as documented in SKILL.md |
1 High 8 findings
High API Key 疑似硬编码凭证
API_KEY="your-api-key-here" README.md:121 Medium External URL 外部 URL
https://coding.dashscope.aliyuncs.com/v1 OPTIMIZATION_SUMMARY.md:137 Medium External URL 外部 URL
https://clawhub.ai README.md:411 Medium External URL 外部 URL
https://docs.openclaw.ai README.md:412 Medium External URL 外部 URL
https://discord.com/invite/clawd README.md:413 Medium External URL 外部 URL
https://dashscope.aliyuncs.com/compatible-mode/v1 generate_gwt_llm.py:33 Medium External URL 外部 URL
https://www.figma.com/file/xxx references/templates.md:90 Medium External URL 外部 URL
https://coding.dashscope.aliyuncs.com/v1): scripts/check_with_llm.py:268 File Tree
22 files · 244.0 KB · 7244 lines Python 14f · 5426L
Markdown 6f · 1690L
Shell 1f · 91L
JSON 1f · 37L
├─
▾
references
│ ├─
checklist.md
Markdown
│ ├─
llm-enhanced.md
Markdown
│ └─
templates.md
Markdown
├─
▾
scripts
│ ├─
batch_check_ai.py
Python
│ ├─
batch_check_with_agent.py
Python
│ ├─
batch_check.py
Python
│ ├─
check_requirement_agent.py
Python
│ ├─
check_requirement_enhanced.py
Python
│ ├─
check_requirement_llm.py
Python
│ ├─
check_requirement.py
Python
│ ├─
check_with_llm.py
Python
│ ├─
generate_gwt.py
Python
│ ├─
parse_requirement.py
Python
│ └─
test_config.py
Python
├─
check_requirement.py
Python
├─
config.json
⚠
JSON
├─
generate_gwt_llm.py
Python
├─
generate_gwt_with_llm.py
Python
├─
OPTIMIZATION_SUMMARY.md
Markdown
├─
README.md
Markdown
├─
setup_api.sh
Shell
└─
SKILL.md
Markdown
Dependencies 2 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
requests | not pinned | pip | No | requests library used for LLM API calls; version not pinned in requirements |
python-docx | not pinned | pip | No | Optional dependency for Word document parsing; version not pinned |
Security Positives
✓ No subprocess, shell execution, or command injection found
✓ No base64-encoded payloads or eval/exec patterns
✓ No credential exfiltration — API key stays local and is sent only to configured LLM endpoint
✓ No access to sensitive system paths (~/.ssh, ~/.aws, .env)
✓ No reverse shell, C2 communication, or data theft patterns
✓ Uses sessions_spawn with subagent runtime as documented in SKILL.md
✓ No suspicious download or remote script execution (no curl|bash or wget|sh)
✓ All network requests go to the configured LLM API endpoint only