Skill Trust Decision

ClawCode Lens

The skill's three local scripts (explain.py, security_scan.py, improve.py) are clean static analyzers with no malicious behavior, but SKILL.md documents an undeclared paid deep-scan code path that uploads source files to an external API — directly contradicting the '100% local, no network calls' claim.

Install decision first Source: ClawHub Scanned: Sep 15, 2026
Files 6
Artifacts 2
Violations 0
Findings 3
Most direct threat evidence
High Doc Mismatch
Local-only claim contradicts documented external upload path

SKILL.md prominently states '100% lokal — ingen netværkskald, ingen API-nøgle' but immediately after includes a paid deep-scan option that 'uploads your code + costs per call' to an external API. The scripts directory does not contain code_scan.py, meaning the external upload feature is either missing or unimplemented — but it is still advertised. This creates a false sense of security.

SKILL.md:36

Why this conclusion was reached

1/4 dimensions flagged
Pass
Declared vs actual capability

Declared resources and inferred behavior are broadly aligned.

Review
Hidden execution and egress

2 lower-risk artifacts were extracted and still need context.

Block
Attack chain and severe findings

The report includes 0 attack-chain steps and 1 severe findings.

Review
Dependencies and supply chain hygiene

Dependency information is incomplete, so supply-chain confidence stays limited.

What drove the risk score up

Doc-to-code mismatch (critical signal) +20

SKILL.md advertises '100% lokal — ingen netværkskald, ingen API-nøgle' but also documents a paid deep-scan path that uploads source code externally

Undeclared external data transfer +15

The paid deep-scan path in SKILL.md (referencing scripts/code_scan.py) is not implemented in the delivered scripts and has no privacy policy or consent flow

Filesystem access to arbitrary user files +5

All three scripts read any file path passed as an argument, which is expected behavior for a code-analysis tool but worth noting

No malicious code in delivered scripts +-5

All three Python scripts (explain.py, security_scan.py, improve.py) are straightforward static analyzers — no network calls, no obfuscation, no credential access

Most important evidence

High Doc Mismatch

Local-only claim contradicts documented external upload path

SKILL.md prominently states '100% lokal — ingen netværkskald, ingen API-nøgle' but immediately after includes a paid deep-scan option that 'uploads your code + costs per call' to an external API. The scripts directory does not contain code_scan.py, meaning the external upload feature is either missing or unimplemented — but it is still advertised. This creates a false sense of security.

SKILL.md:36
Either remove the external deep-scan documentation entirely or add a clear, prominent disclosure that this path sends user code to an external service, with links to the service's privacy policy and data handling terms.
Medium Doc Mismatch

Referenced script code_scan.py does not exist in delivered package

SKILL.md references 'python3 scripts/code_scan.py app.py' as the paid deep-scan entry point, but scripts/code_scan.py is absent from the file tree. This could indicate an unimplemented feature left in the documentation, or a build/packaging error.

SKILL.md:36
Either implement code_scan.py with the external upload feature and declare it properly, or remove the reference entirely to avoid misleading users about capabilities.
Low Sensitive Access

Arbitrary file system read access not explicitly scoped

All three scripts (explain.py, security_scan.py, improve.py) accept an arbitrary file path as input and read it entirely. While this is expected for a code-analysis tool, the capability is not declared in SKILL.md's capability model. A malicious actor could pass sensitive file paths.

scripts/security_scan.py, scripts/explain.py, scripts/improve.py
Declare filesystem:READ in the skill's allowed-tools mapping and document that the tool only processes user-specified code files, not system directories.

Declared capability vs actual capability

Filesystem Pass
Declared READ
→
Inferred READ
All three scripts: open(path, encoding='utf-8', errors='replace')
Network Pass
Declared NONE
→
Inferred UNKNOWN
SKILL.md line ~36: '// 2) Deep scan (PAID call — uploads your code + costs per call)' — external upload not present in code but documented
Shell Pass
Declared NONE
→
Inferred NONE
No subprocess or shell invocation in any script
Environment Pass
Declared NONE
→
Inferred NONE
No os.environ access in any script

Suspicious artifacts and egress

Medium External URL
https://clawhub.ai/user/northcap-group

skill-card.md:9

Medium External URL
https://clawhub.ai/northcap-group/skills/clawcode-lens

skill-card.md:35

Dependencies and supply chain

There are no structured dependency warnings.

File composition

6 files · 315 lines
Python 3 files · 180 linesMarkdown 2 files · 130 linesJSON 1 files · 5 lines
Files of concern · 2
SKILL.md Markdown · 76 lines
Local-only claim contradicts documented external upload path · Referenced script code_scan.py does not exist in delivered package
skill-card.md Markdown · 54 lines
https://clawhub.ai/user/northcap-group · https://clawhub.ai/northcap-group/skills/clawcode-lens
Other files · explain.py · improve.py · security_scan.py · _meta.json

Security positives

All three Python scripts are simple, readable static analyzers with no obfuscation or anti-analysis techniques
No network calls, no subprocess invocations, no credential harvesting in any delivered script
security_scan.py explicitly notes that scanned code is never executed — it is a read-only pattern matcher
No use of eval(), exec(), base64 decode, or other code execution techniques on scanned input
No access to sensitive paths like ~/.ssh, ~/.aws, .env, or OS credential stores
skill-card.md correctly identifies and warns about the doc deception risk independently