Xint Rs

ReviewAudited by ClawScan on May 10, 2026.

Overview

This is mostly a coherent X/Twitter research CLI, but it also exposes OAuth-backed account-changing actions that need clearer user approval boundaries.

Install only if you intend to grant X/xAI credentials. Keep the skill in read-only mode for research, require explicit confirmation before follow/unfollow/block/mute/list actions, and pin/verify the installer before running it.

Findings (5)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

An agent using this skill could change who the user follows, blocks, mutes, or manages in lists if not constrained by user approval.

Why it was flagged

These documented commands can change the user's X account relationships and moderation state. The artifacts do not clearly state that an agent must obtain explicit approval before running these write/moderation actions.

Skill content
## Blocks & Mutes (OAuth)

xint blocks add @username
xint blocks remove @username
...
## Follow Actions (OAuth)

xint follow @username
xint unfollow @username
Recommendation

Require explicit user confirmation for every account-changing action, and default MCP/agent use to read-only unless the user intentionally enables engagement or moderation mode.

What this means

The skill needs API credentials that can access X/xAI services and, with OAuth, user-context account operations.

Why it was flagged

The skill clearly declares service credentials needed for X, xAI, and OAuth operations. These credentials are expected for the integration, but they grant access to user/account data and are under-declared in the registry metadata.

Skill content
credentials:
  - name: X_BEARER_TOKEN
    description: X API v2 bearer token for search, profile, thread, tweet, trends
    required: true
  - name: XAI_API_KEY
...
  - name: X_CLIENT_ID
    description: X OAuth 2.0 client ID for user-context operations
Recommendation

Use least-privilege X/OAuth scopes, keep tokens out of logs, and review the exact scopes requested during OAuth setup.

What this means

Installing this way runs remote code on the user's machine.

Why it was flagged

The primary documented install path executes a remote script from GitHub. This is user-directed and common for CLI tools, but it creates normal supply-chain risk if the script or release asset changes.

Skill content
curl -fsSL https://raw.githubusercontent.com/0xNyk/xint-rs/main/install.sh | bash
Recommendation

Prefer a pinned release, inspect install.sh first, and require checksum verification when possible.

What this means

Local files may reveal searched topics, exported results, follower snapshots, or OAuth tokens if the machine or workspace is shared.

Why it was flagged

The skill persists retrieved X data, exports, snapshots, and OAuth tokens locally. This is disclosed and purpose-aligned, but those files may contain sensitive queries, account relationships, or credentials.

Skill content
This skill writes to its own `data/` directory: cache, exports, snapshots, OAuth tokens
- OAuth tokens stored with restrictive permissions (chmod 600)
- Review exported data before sharing
Recommendation

Store the skill in a private workspace, periodically clean exports/cache, and avoid sharing the data directory.

What this means

Search results or account-derived data could be sent to a webhook or exposed through an MCP integration if the user enables those modes.

Why it was flagged

The skill can send watched results to webhooks and can expose commands through MCP. The artifacts disclose this and require approval for network-facing modes, but users should still treat these as data-boundary crossings.

Skill content
The `watch` command supports `--webhook` to send data to external URLs
...
`xint mcp` starts a local MCP server exposing xint commands as tools
- Default mode is stdio/local integration; no inbound web server unless `--sse` is explicitly enabled
Recommendation

Only use trusted webhook URLs, keep MCP local/read-only by default, and enable SSE or external integrations only when needed.