Declared resources and inferred behavior are broadly aligned.
Review
Hidden execution and egress
2 lower-risk artifacts were extracted and still need context.
Pass
Attack chain and severe findings
There is no explicit malicious chain in the report.
Review
Dependencies and supply chain hygiene
Dependency information is incomplete, so supply-chain confidence stays limited.
What drove the risk score up
Hardcoded fallback API key+15
Default API key '94a05d02-9ade-4d9d-9f39-88734d9e34b4' embedded in cw_client.cjs source code
Undeclared default credential behavior+15
SKILL.md security section vaguely mentions 'anonymous credential' but does not clearly explain its purpose or that it's hardcoded in source
External data transmission+10
User data including API key sent to pptx.chenxitech.site - documented but unclear scope
Most important evidence
MediumCredential Theft
Hardcoded fallback API key in source code
The file cw_client.cjs contains a hardcoded fallback API key '94a05d02-9ade-4d9d-9f39-88734d9e34b4' which serves as a default anonymous credential when the environment variable is not set. This credential is sent with every request to the backend.
scripts/cw_client.cjs:14
Remove hardcoded fallback credentials from source code. If anonymous access is required, implement it server-side without embedding credentials in client code.
MediumDoc Mismatch
Insufficient documentation of default credential behavior
SKILL.md mentions 'anonymous credential' in the security section but fails to specify that it is a hardcoded key embedded in source code. Users cannot make an informed decision about using this default versus providing their own key.
SKILL.md:120
Add explicit documentation specifying: (1) The exact default key value, (2) When this default is used, (3) Security implications of using anonymous credentials, (4) Why this is acceptable vs credential harvesting.
LowSensitive Access
Non-obvious allowlisted domain
The host allowlist includes 'bpjwmsdb.com' which is not clearly related to the ContextWeave service. While the allowlist provides some protection, this domain warrants verification.
scripts/cw_client.cjs:38
Verify bpjwmsdb.com is a legitimate service endpoint. If unrelated, remove from allowlist to reduce attack surface.
Declared capability vs actual capability
Filesystem Pass
DeclaredREAD
→
InferredWRITE
cw_client.cjs:exportCode writes diagram.cw to target path
Network Pass
DeclaredWRITE
→
InferredWRITE
postJson() makes HTTP POST to allowed hosts
Shell Pass
DeclaredNONE
→
InferredNONE
No subprocess or exec calls found
Environment Pass
DeclaredREAD
→
InferredREAD
Reads CONTEXTWEAVE_MCP_API_KEY and CONTEXTWEAVE_EDITOR_PROTOCOL