Skills/ClawHub/kami-conflict-detection

kami-conflict-detection@2.0.4

CAUTION· install only

Publisher claims: "Detect physical conflicts (fighting, shoving, scuffling) between 2+ people from one or many RTSP camera streams concurrently. Continuous mode: a single Pytho..." Observed in sandbox: calls astral.sh only, touches nothing outside the project, writes no memory.

Registry ClawHubPublisher 13681882136 · publishing for 158 daysInstalls 1,140Last detonated 18 h ago

Coverage

Install scripts ran; no agent task scenario for this bundle.
Tested
install scripts, with decoy credentials in place · second launch with the clock 45 days ahead · every file read, file written and host contacted by what ran
Not tested
use of the skill by an agent

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios; install scripts ran; no agent task scenario for this bundle) on 2026-11-13 and scored it 68/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Pipe-to-shell pattern; Privileged sudo command; Telegram Bot API URL. Summary: calls astral.sh only, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 0 s · 2 scenarios
t+CategoryObserved action
0.0sprocessinstall script run in the sandbox
0.1snetworkCONNECT tcp://astral.sh:443 · not in the allow-list, refused
0.1sprocessexec /usr/bin/realpath
0.1sprocessexec /usr/bin/dirname
0.1sprocessexec /usr/bin/curl
0.1sprocessexited 127: ./setup.sh: line 53: uv: command not found
0.1sprocessscript backend runs setup only
0.1sprocessscript backend runs setup only
0.1sprocesssecond launch, clock +45 days, CI unset
0.2snetworkCONNECT tcp://astral.sh:443 · not in the allow-list, refused
0.2sprocessexec /usr/bin/realpath
0.2sprocessexec /usr/bin/dirname
0.2sprocessexec /usr/bin/curl
0.2sprocessexited 127: ./setup.sh: line 53: uv: command not found

Static findings

CRITICAL
Pipe-to-shell patternsetup.sh:46 · Pipe-to-shell pattern — downloads and immediately executes remote codewget -qO- https://astral.sh/uv/install.sh | shFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06
HIGH
Privileged sudo commandSKILL.md:92 · Privileged sudo command — agent may execute with elevated privileges> Python 3.10 is **not** a manual prerequisite — `setup.sh` will install it locally without sudo if missing.Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Telegram Bot API URLconflict_detector_last.py:671 · Telegram Bot API URL — data will be sent to Telegramurl = f"https://api.telegram.org/bot{bot_token}/sendMessage"Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07
HIGH
Telegram Bot API URLconflict_detector_last.py:659 · Telegram Bot API URL — data will be sent to Telegramurl = f"https://api.telegram.org/bot{bot_token}/sendPhoto"Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07
MEDIUM
File type combined with upload actionSKILL.md:117 · File type combined with upload action — agent may exfiltrate local data files…secret (only if signing enabled) | | `--feishu_app_id` | *(persisted in `config.json`)* | Feishu **self-built app** App ID. Required only if you want the conflict snapshot to render **inline** inside the Feishu card (uploads the image to F…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
CRITICAL
Pipe-to-shell patternsetup.sh:44 · Pipe-to-shell pattern — downloads and immediately executes remote codecurl -LsSf https://astral.sh/uv/install.sh | shFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06
HIGH
Privileged sudo commandsetup.sh:15 · Privileged sudo command — agent may execute with elevated privileges# ~/.local/share/uv/python/. NO sudo / NO apt required.Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
README links to an external installerREADME.md → https://publicfiles.xiaoyi.com/kami-conflict-detection-model.ziphttps://publicfiles.xiaoyi.com/kami-conflict-detection-model.zipFix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Privileged sudo commandsetup.sh:41 · Privileged sudo command — agent may execute with elevated privilegesecho "python3.10 not found. Installing it locally via uv (no sudo required)..."Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
Remote installer piped to shellsetup.sh:44 · Remote installer piped to shellcurl -LsSf https://astral.sh/uv/install.sh | shFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07
MEDIUM
File type combined with upload actionSKILL.md:259 · File type combined with upload action — agent may exfiltrate local data files… at least one camera (with `rtsp_url`) and `kami_api_key` are present in `config.json` (either pre-existing or just written), the agent MUST run `bash setup.sh` and launch the detector **in the same conversation turn**. Never end the turn …Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
Unicode escape sequence detectedconflict_detector_last.py:505 · Unicode escape sequence detected — may contain obfuscated payloadssnap_md = f"[\u67e5\u770b\u51b2\u7a81\u5feb\u7167]({snapshot_url})"Fix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07

Cost to the agent

Instructions loaded
≈4,642 tok
1 file · 7 in bundle

Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.

Known vulnerabilities

Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.

What would make this Verified

12 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. Pipe-to-shell pattern≈ +9 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
  2. Unclaimed publisher≈ +8 on the totalClaim 13681882136: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
  3. Privileged sudo command≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
  4. Telegram Bot API URL≈ +4 on the totalReplace encoded or assembled strings with plain literals and remove undeclared network calls.
  5. README links to an external installer≈ +4 on the totalPin versions and sources; vendor anything fetched at install time.
  6. File type combined with upload action≈ +2 on the totalRemove the call, or declare the host in frontmatter and explain in the README what is sent and why.
Publish a new version to ClawHub, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim 13681882136Propose a patch to the maintainer