Skill flagged — suspicious patterns detected

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

Agent Ui

v0.1.5

Batteries-included agent component for React/Next.js from ui.inference.sh. One component with runtime, tools, streaming, approvals, and widgets built in. Cap...

2· 1.9k·11 current·13 all-time
byÖmer Karışman@okaris
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description match the instructions: this is a UI component for React/Next.js that uses an API proxy and an SDK. Declared runtime steps (npx shadcn template, install @inferencesh/sdk, add a Next.js proxy route) are coherent with building an agent UI.
Instruction Scope
SKILL.md instructs running npx to fetch a remote agent.json and npm install of @inferencesh/sdk and shows adding an .env.local INFERENCE_API_KEY and a Next.js proxy route. The instructions do not request unrelated system files or broad data exfiltration, but they do instruct pulling third-party code at install time and storing an API key in .env.local.
Install Mechanism
This is an instruction-only skill (no install spec). The install steps use npx shadcn@latest add https://ui.inference.sh/r/agent.json and npm install @inferencesh/sdk — pulling code from inference.sh and npm is expected for this purpose, but those are network operations that will fetch code into your project (review the fetched JSON/package before running).
!
Credentials
Registry metadata lists no required env vars, but SKILL.md explicitly instructs adding INFERENCE_API_KEY in .env.local. This mismatch reduces transparency. Also the example agent_config references an external model (openrouter/claude-haiku-45), which could require a different service key; the SKILL.md does not clearly state which credential(s) are required or their scope.
Persistence & Privilege
Skill does not request always:true, does not declare special config paths, and is user-invocable. It does not ask to modify other skills or system-wide settings.
Assessment
This appears to be a legitimate UI component for building agent interfaces, but check a few things before installing: (1) Verify the source URLs and npm package (@inferencesh/sdk) on the public registries (npm, the inference.sh domain) to ensure they are the expected projects. (2) Inspect the agent.json that npx will fetch (and any code it adds) before running it in your app. (3) The SKILL.md requires INFERENCE_API_KEY but the registry metadata doesn't declare it — confirm which API key is needed (inference.sh vs OpenRouter) and limit its scope. (4) Store API keys safely (use env or secrets manager) and rotate them if you later suspect misuse. (5) If you have security concerns, run the add/install steps in an isolated environment or review the fetched files in a code review before merging into a production codebase.

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

latestvk97b6w51jx9gpmftvr11m7c41581dxmr
1.9kdownloads
2stars
4versions
Updated 6h ago
v0.1.5
MIT-0

Agent Component

Batteries-included agent component from ui.inference.sh.

Agent Component

Quick Start

# Install the agent component
npx shadcn@latest add https://ui.inference.sh/r/agent.json

# Add the SDK for the proxy route
npm install @inferencesh/sdk

Setup

1. API Proxy Route (Next.js)

// app/api/inference/proxy/route.ts
import { route } from '@inferencesh/sdk/proxy/nextjs';
export const { GET, POST, PUT } = route;

2. Environment Variable

# .env.local
INFERENCE_API_KEY=inf_...

3. Use the Component

import { Agent } from "@/registry/blocks/agent/agent"

export default function Page() {
  return (
    <Agent
      proxyUrl="/api/inference/proxy"
      agentConfig={{
        core_app: { ref: 'openrouter/claude-haiku-45@0fkg6xwb' },
        description: 'a helpful ai assistant',
        system_prompt: 'you are helpful.',
      }}
    />
  )
}

Features

FeatureDescription
Runtime includedNo backend logic needed
Tool lifecyclePending, progress, approval, results
Human-in-the-loopBuilt-in approval flows
WidgetsDeclarative JSON UI from agent responses
StreamingReal-time token streaming
Client-side toolsTools that run in the browser

Client-Side Tools Example

import { Agent } from "@/registry/blocks/agent/agent"
import { createScopedTools } from "./blocks/agent/lib/client-tools"

const formRef = useRef<HTMLFormElement>(null)
const scopedTools = createScopedTools(formRef)

<Agent
  proxyUrl="/api/inference/proxy"
  config={{
    core_app: { ref: 'openrouter/claude-haiku-45@0fkg6xwb' },
    tools: scopedTools,
    system_prompt: 'You can fill forms using scan_ui and fill_field tools.',
  }}
/>

Props

PropTypeDescription
proxyUrlstringAPI proxy endpoint
namestringAgent name (optional)
configAgentConfigAgent configuration
allowFilesbooleanEnable file uploads
allowImagesbooleanEnable image uploads

Related Skills

# Chat UI building blocks
npx skills add inference-sh/skills@chat-ui

# Declarative widgets from JSON
npx skills add inference-sh/skills@widgets-ui

# Tool lifecycle UI
npx skills add inference-sh/skills@tools-ui

Documentation

Component docs: ui.inference.sh/blocks/agent

Comments

Loading comments...