star-search@20.42.1
CAUTION· static onlyPublisher claims: "Use when asked to search the web, find online information, research topics, get news, look up Chinese content, or check finance / tech news. **v20.42 - LangChain + Dify + 5 分钟安装体验**: 新增 LangChain Tool 适配器 (`integrations/langchain/star_search_tool.py`) + Dify plugin (`integrations/dify/manifest.yaml`), 一键安装脚本 `install.sh`, `.env.example` 模板, 5 分钟快速开始. **v20.41 基础**: English coverage + open scholarly sources (pure-English queries auto-route to Bing HTTP backend; OpenAlex + CrossRef merge). 16 plus engines, intent understanding, observable per-call metrics. The public service exposes standard MCP (4 tools) plus JSON-RPC and SSE. v20 series highlights: sub-second SSE streaming, multi-turn dialog, 4 output formats, Prometheus monitoring, semantic search, AI orchestration layer (intent classification, entity card, cross-source verification), bot-protection workarounds, and a 4-stage end-to-end pipeline that defaults to LLM answer + auto-fetched snippets. 16 plus engines, intent understanding, and observable per-call metrics." Observed in sandbox: static analysis only — behavior not yet observed.
Coverage
Static only; nothing was run yet.The label rests on the code, the instruction files and the publisher. The honeypot run replaces this verdict when it completes.
Is [email protected] safe to install?
KillerSkills analysed it statically (a sandbox run is pending) on 2026-11-07 and scored it 51/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: Access to sensitive file paths; Access to sensitive file paths; Privileged sudo command. Summary: static analysis only — behavior not yet observed.
Behavior trace
Queued for honeypot run · static analysis onlyThis version has not been detonated yet. The score above counts behavior as unknown (50/100), so it cannot read Verified until the honeypot run completes and replaces this verdict.
Static findings
tab_resp = subprocess.run([Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.description: "Use when asked to search the web, find online information, research topics, get news, look up Chinese content, or check finance / tech news. **v20.42 - LangChain + Dify + 5 分钟安装体验**: 新增 Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.# 2) server .envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.sudo cp deploy/star-search.service /etc/systemd/system/Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.sudo systemctl enable star-searchFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.`super_brain.py` 读 `<install-dir>/.env` (server 路径), mac 上不存在 → LLM_API_KEY 空 → `_call_llm` 静默失败 → 全 fallback info。**永远在 server 上跑 test_intent_108.py**, mac 上跑等于浪费 LLM quota。Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.echo " 查看状态: sudo systemctl status star-search"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.if [ ! -f .env ]; thenFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.echo "✓ 已创建 .env 文件 (请编辑填入你的 LLM API key)"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.`~/.ssh/config` 加 vm-ubuntu alias (用 <ssh-key>) 可避免每次输密钥。Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.cp .env.example .envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.# 3. 配置 .envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.sudo systemctl daemon-reloadFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.# 这样 scp 直接覆盖即可, 不需要 sudo 步骤Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.# 推荐: 把 server 文件属主改成 ubuntu 用户 (sudo chown -R ubuntu:ubuntu <install-dir>),Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.sudo systemctl start star-searchFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.snap_resp = subprocess.run([Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.r = subprocess.run(cmd, capture_output=True, timeout=timeout+1)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out._env_path = Path('/home/ubuntu/star-search/.env')Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.proc = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.result_tsv = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out._env_path = Path('/home/ubuntu/star-search/.env')Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.# 推荐: 把 server 文件属主改成 ubuntu 用户 (sudo chown -R ubuntu:ubuntu <install-dir>),Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.`lsof <install-dir>/scripts/.search_cache.sqlite` → 找到僵尸 PID → `kill -9`Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell._env_path = Path('/home/ubuntu/star-search/.env')Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.result = subprocess.run(['curl', '-s', '--max-time', '15', url],Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.result = subprocess.run(['curl', '-s', '--max-time', '15', url],Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.result = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.# 兼容从 /home/ubuntu/star-search/.env 读Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.proc = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out._env_path = Path('/home/ubuntu/star-search/.env')Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.r = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.env_path = '/home/ubuntu/star-search/.env'Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.env_path = '/home/ubuntu/star-search/.env'Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.# 2) /home/ubuntu/star-search/.env (server-specific)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose._env_path = os.path.expanduser("~/star-search/.env")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.Cost to the agent
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
29 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Unclaimed publisher≈ +8 on the totalClaim muchenhengxin: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Privileged sudo command≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
- Python subprocess execution detected≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
- File permission modification command≈ +2 on the totalRequest the narrowest permission that works; replace wildcards with the exact paths or hosts.
- Process kill command≈ +2 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.