ClawAudit verdict
funasr-nano-transcribe
Reads local files AND makes external network calls
Local Chinese speech-to-text skill using a locally-hosted FunASR model; all processing is on-device, network is only for optional model download from ModelScope, and no credentials or sensitive data are exfiltrated.
Automated static analysis — not a human review. ClawAudit flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.
What it does
These are capability combinations: each listed behavior occurs in the skill, but ClawAudit detects co-occurrence — it does not verify that one flows into another. Read the code to confirm a live chain.
Reads local files AND makes external network calls — the capabilities for data exfiltration co-occur (data-flow not verified)
LLM02 · LLM06 · ASI03
Permission integrity
network_out
file_read
package_install
Findings (7)
Pipe to python — executes piped content as Python code
QUICKSTART.md · prose · downgraded · | Python
Uses eval() — can execute arbitrary code
scripts/FunASRNano.py · prose · downgraded · eval(
Raw model control tokens — prompt injection via token manipulation
scripts/FunASRNano.py · prose · downgraded · <|im_start|>
POSTs data to external URL
SKILL.md · code · .post('http://
subprocess with shell=True — command injection vector
scripts/api_client.py · prose · downgraded · subprocess.Popen(cmd, shell=True
HTTP request to bare IP address — common in malicious payloads
scripts/api_client.py · prose · downgraded · http://127.0.0.1
Python os.environ.get — reads environment variable
scripts/FunASRNano.py · prose · downgraded · os.environ.get(
Why the tier is capped
Execution sink present in raw bytes (Hard Floor: class B/D). Final tier capped at Caution — cannot be lifted by any downgrade, example-payload opt-in, or allowlist.
Permissions & capabilities
No declared permissions — minimal attack surface.
package_installnetwork_innetwork_outfile_read Thanks — recorded.