Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Slack Print

v1.0.0

Print files uploaded to a Slack channel. Supports smart matching: multiple files, filename prefix/keyword filter, file type (pdf/image), and time range ("jus...

0· 312·1 current·1 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for caigang78/slack-print.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Slack Print" (caigang78/slack-print) from ClawHub.
Skill page: https://clawhub.ai/caigang78/slack-print
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Canonical install target

openclaw skills install caigang78/slack-print

ClawHub CLI

Package manager switcher

npx clawhub@latest install slack-print
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The skill claims to download files from Slack and print them, but the repository does not include the referenced downloader (../shared/slack_downloader.py) or argument helper (../shared/slack_args.sh). The SKILL metadata lists no required credentials, yet accessing Slack programmatically normally requires an API token or other auth. The absence of declared credentials and missing helper files is incoherent with the stated functionality.
!
Instruction Scope
SKILL.md restricts the agent to running the included shell script and lp commands, which is appropriately narrow. However the shipped shell script sources ../shared/slack_args.sh and invokes a Python downloader that is not present in the package — those components will determine what environment variables or local config are read and what network calls are made. Because those files are missing, we cannot verify whether the runtime instructions will access other files, read secrets, or transmit data to unexpected endpoints.
Install Mechanism
No install spec is provided and the skill is instruction-plus-shell-script only, so nothing is automatically downloaded or written by an installer. This minimizes installer-related risk.
!
Credentials
The skill declares no required environment variables, but the downloader it calls almost certainly needs Slack credentials or tokens. The script also writes downloaded files into $HOME/.openclaw/media/inbound by default. The lack of declared credentials is disproportionate to the networked behavior implied by the description.
Persistence & Privilege
always is false and the skill does not request elevated or persistent platform-wide privileges. It writes to a subdirectory under the user's home by default but does not appear to change other skills or system configuration.
What to consider before installing
Do not install or run this skill until the missing components are provided and reviewed. Specifically: - Ask the publisher to include slack_downloader.py and slack_args.sh (the script sources/executes them). Review their contents to see what auth they use and what network endpoints they contact. - Confirm how Slack authentication is supplied (environment variable name, config file, or OAuth). The skill currently declares no required credentials but downloading Slack files will typically require a token; treat any token as sensitive. - Inspect the downloader for any hard-coded endpoints, URL shorteners, or attempts to exfiltrate data to unexpected hosts. - Test in a sandboxed environment first. Verify the downloader only accesses Slack and only saves files to the intended inbound directory ($HOME/.openclaw/media/inbound) before allowing it access to real printers or credentials. - If you proceed, prefer providing a least-privileged token limited to the specific Slack workspace/channel and revoke it after testing. If the author provides the missing shared files and a clear explanation of how auth is handled, this assessment can be revised.

Like a lobster shell, security has layers — review code before you run it.

latestvk97ezf8mhawbpe3mvkf68aztgs82h4kfprintvk97ezf8mhawbpe3mvkf68aztgs82h4kfslackvk97ezf8mhawbpe3mvkf68aztgs82h4kf
312downloads
0stars
1versions
Updated 22h ago
v1.0.0
MIT-0

Slack Print Skill

Strict rules:

  • Do not use write/edit tools to create or modify any files
  • Do not create Python scripts, test scripts, or any auxiliary files
  • Only run existing shell scripts or lp commands via exec

Print Files from Slack

Smart Matching: Interpret Intent → Set Variables → Call Script

User saysEnvironment variables
"Print the latest file" / "Print this file"(default, no variables needed)
"Print the last two files" / "Print these two files"LIMIT=2
"Print files starting with report"NAME_PREFIX=report
"Print files with contract in the name"NAME_CONTAINS=contract
"Print the PDF I just uploaded" / "Print the PDF from just now"MINUTES=5 FILE_TYPE=pdf
"Print the last three files"LIMIT=3 MINUTES=10

FILE_TYPE values: pdf / image / video / doc / file (default — matches all)

Invocation

# Default: print latest file
PRINTER=MyPrinter <SKILL_DIR>/slack_fetch_and_print.sh

# Print the latest 2 files
PRINTER=MyPrinter LIMIT=2 <SKILL_DIR>/slack_fetch_and_print.sh

# Print files whose name starts with "report"
PRINTER=MyPrinter NAME_PREFIX=report <SKILL_DIR>/slack_fetch_and_print.sh

# Print PDFs uploaded in the last 5 minutes
PRINTER=MyPrinter MINUTES=5 FILE_TYPE=pdf <SKILL_DIR>/slack_fetch_and_print.sh

Script prints Sent to printer: <filename> for each file on success.


Print Text Content Directly

echo "content to print" | lp -d <PrinterName>

Multi-line content:

cat > /tmp/openclaw_print.txt << 'EOF'
content
EOF
lp -d <PrinterName> /tmp/openclaw_print.txt

List Available Printers

lpstat -a

Check Print Queue

lpq -P <PrinterName>

Cancel Print Jobs

cancel -a <PrinterName>

Check Printer Status

lpstat -p <PrinterName>

Comments

Loading comments...