Skill flagged — suspicious patterns detected

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

Elective

v1.1.0

PKU Course Selection (选课网) CLI tool built in Rust. Use this skill when working on the elective crate, debugging elective commands, adding features, or when t...

0· 152·0 current·0 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 wjsoj/pku-elective.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Elective" (wjsoj/pku-elective) from ClawHub.
Skill page: https://clawhub.ai/wjsoj/pku-elective
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

Bare skill slug

openclaw skills install pku-elective

ClawHub CLI

Package manager switcher

npx clawhub@latest install pku-elective
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The SKILL.md documents a CLI tool (elective) with SSO, CAPTCHA backends, and session persistence. The manifest lists no required binaries, env vars, or config paths; that is inconsistent — a CLI that logs in, polls, and calls external CAPTCHA APIs plausibly needs the elective binary and API credentials.
!
Instruction Scope
Instructions tell the agent to run commands (elective, info-auth), read credentials via OS keyring/env/interactive, persist sessions to ~/.config/info/elective/, and send base64 CAPTCHA images to external backends (utool/ttshitu/yunma). Those runtime actions go beyond what's declared and could access sensitive secrets and third‑party endpoints.
Install Mechanism
There is no install spec (instruction-only), which is low risk from a code-install perspective. However, the runtime assumes the presence of local binaries (elective, info-auth) that the manifest does not enumerate—this is an operational inconsistency rather than an install risk.
!
Credentials
SKILL.md expects credentials resolved from keyring → env → interactive and mentions CAPTCHA recognition APIs (which typically require API keys), but the skill declares no required env vars or primary credential. Sensitive access (keyring, API keys) is implied but not declared or scoped.
!
Persistence & Privilege
The tool persists session data to ~/.config/info/elective/ and reads OS keyring entries. The manifest does not declare these config-path or credential accesses. Autonomous invocation is allowed by default (not disabled), which combined with undisclosed credential access increases potential risk.
What to consider before installing
This skill's documentation shows it will run a local elective CLI, read credentials from your OS keyring or environment, write session files to ~/.config/info/elective/, and send CAPTCHA images to third‑party recognition services — but the skill metadata does not declare the required binaries, config paths, or API credentials. Before installing or enabling it (especially for autonomous use): - Ask the publisher to update the manifest to list required binaries (elective, info-auth), required config paths, and any environment variables/API keys for CAPTCHA backends. - If you plan to use third‑party CAPTCHA services (utool/ttshitu/yunma), verify which endpoints and keys are used and whether you consent to sending images (and potentially personal data) to those services. - Consider running the skill only when explicitly invoked (disable autonomous invocation) or in a restricted environment until the metadata is corrected. - Inspect or provide the elective binary from a trusted source; do not let the agent fetch arbitrary executables. - If you are uncomfortable with keyring access or session persistence, decline or sandbox the skill and request the author to make credential handling explicit and opt‑in. These mismatches may be benign omissions, but they materially affect what the skill can access; treat it as suspicious until clarified.

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

latestvk973m8665c1y33fhzh5hhae9p184xd1v
152downloads
0stars
2versions
Updated 1w ago
v1.1.0
MIT-0

Elective - 北大选课网 CLI

A CLI client for PKU's course selection system with auto-enrollment automation.

Architecture

  • Crate location: crates/elective/
  • Auth flow: IAAA SSO (app_id="elective") → elective SSO endpoint callback
  • API: HTML scraping + CAPTCHA handling (base64 image recognition)
  • Automation: Polling loop for auto-enrollment with configurable interval

Key Source Files

  • src/main.rs — Clap CLI with subcommands
  • src/commands.rs — Command implementations including auto-enroll loop
  • src/api.rs — HTML scraping, CAPTCHA image extraction
  • src/display.rs — Terminal output formatting
  • src/client.rs — reqwest client builders

CLI Commands

CommandAliasFunction
loginIAAA login (supports --dual for dual-degree students)
logout / statusSession management
showView current course selections
listlsBrowse available courses for add/drop
setAdd a course to auto-enroll target list
unsetRemove from auto-enroll targets
config-captchaConfigure CAPTCHA solver backend
launchStart auto-enrollment polling loop
otpTOTP 2FA management

CAPTCHA Backends

The config-captcha command supports multiple recognition backends:

  • manual — Display CAPTCHA image, user inputs answer
  • utool — UTool OCR service
  • ttshitu — TTShiTu recognition API
  • yunma — Yunma recognition API

Auto-Login for AI Agents

# Check session status
info-auth check

# Auto-login (reads credentials from OS keyring, no password needed)
elective login -p                  # single degree
elective login -p --dual major     # dual degree - major
elective login -p --dual minor     # dual degree - minor

Note: Dual-degree students MUST specify --dual major or --dual minor, otherwise login will fail with an error.

Development Notes

  • Auto-enrollment loop: configurable check interval (default 15s), polls for open slots
  • Dual-degree students use --dual flag at login for separate session
  • CAPTCHA images are base64-encoded, decoded and sent to recognition backend
  • All user-facing strings in Chinese
  • Error handling: anyhow::Result with .context("中文描述")
  • Session persisted to ~/.config/info/elective/
  • Credentials resolved via info_common::credential (keyring → env → interactive)

Comments

Loading comments...