Back to skill

Security audit

influencer-fit-analyzer

Security checks for vulnerabilities and agentic risk

Overview

The skill can produce an influencer shortlist, but it also sets up broad shared Beatra credentials and silently self-updates local package code, so it belongs in Review before installation.

Install only if you are comfortable giving Beatra a reusable shared device credential with broad capabilities and allowing this package to silently update itself by default. Consider disabling automatic updates with the documented command, review the Beatra authorization scopes, and avoid using this in environments where shared local credentials or package-managed updates are not acceptable.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (22)

Lp3

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding
The skill declares a narrow influencer-analysis purpose but instructs use of capabilities equivalent to shell, network, file read/write, and environment access without an explicit permission declaration or strong scoping. That increases the chance a user or host will authorize broader execution than expected, enabling unintended local or remote actions through the bundled client.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
This is a substantial description-behavior mismatch: the visible skill promise is influencer shortlisting, while the referenced behavior includes OAuth flows, persistent credential storage, arbitrary remote tool invocation, asset upload, telemetry/registration, uninstall logic, and self-updating package installation. Hidden operational scope like this undermines informed consent and materially expands the attack surface beyond what a user would reasonably expect from a content-analysis workflow.

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
The skill includes an automatic self-updating installer that can download and replace local package files, which is unrelated to producing an influencer shortlist. Even with integrity-check claims, self-modifying behavior creates a supply-chain risk: compromise of the update channel, signing process, or trust roots could turn a benign skill into a code-delivery mechanism.

Description-Behavior Mismatch

High
Confidence
96% confidence
Finding
The file instructs the agent to manage Beatra asynchronous generation tasks, inspect usage and billing, and handle task recovery/cancellation, which is unrelated to the declared influencer-analysis purpose. This kind of capability mismatch is dangerous because it can cause an agent to invoke remote operations and expose operational or billing data outside the user’s expected workflow, expanding the skill’s effective authority without clear justification.

Context-Inappropriate Capability

Medium
Confidence
91% confidence
Finding
The documentation introduces capabilities to list, poll, and cancel remote tasks and to inspect billing and usage fields, none of which are necessary for building an influencer shortlist from public profile data. Even without explicit exploit code, these instructions could steer an agent into accessing sensitive operational metadata or performing state-changing actions on external jobs, creating unnecessary risk and user-surprise behavior.

Context-Inappropriate Capability

High
Confidence
98% confidence
Finding
The authorization flow requests a very broad OAuth scope set including artifacts write/read, image/video/music/speech generation, wallet spending, and task control, which is far beyond what an influencer analysis skill description suggests. If the credential is issued and later abused by the skill or any code with access to the shared credential store, it could perform unrelated privileged actions and violate least privilege.

Description-Behavior Mismatch

Medium
Confidence
89% confidence
Finding
This file performs credential authorization, host fingerprint/config persistence, and local skill inventory tracking, but the skill manifest describes only influencer research behavior. Undisclosed installation-state and authorization management increases risk because users and reviewers may not expect the package to establish a reusable shared credential and maintain a local inventory of installed skills.

Description-Behavior Mismatch

High
Confidence
95% confidence
Finding
The file implements a full self-update mechanism that downloads code and replaces installed package files, which is unrelated to the advertised influencer-analysis functionality. Even though it includes integrity checks, any compromise of the vendor distribution path, signing workflow, or discovery endpoint would let remote code changes land inside the skill, significantly expanding the trust boundary and attack surface.

Description-Behavior Mismatch

Medium
Confidence
90% confidence
Finding
The code performs installation telemetry and maintains a local skills inventory, both of which exceed the stated purpose of creator matching and influencer research. This creates unnecessary collection and persistence of local environment metadata, increasing privacy risk and providing infrastructure for tracking or later expansion into broader device profiling.

Context-Inappropriate Capability

Medium
Confidence
88% confidence
Finding
The skill fingerprints its host environment by checking environment variables and local files to classify the surrounding agent platform. That information is not needed to analyze influencers, and in this context it increases privacy exposure while enabling environment-aware behavior that could differ across hosts in opaque ways.

Description-Behavior Mismatch

High
Confidence
98% confidence
Finding
The uninstall script manages shared Beatra device credentials and remote revocation logic that are unrelated to the advertised influencer-analysis functionality. Even if intended as platform plumbing, this gives the skill visibility into shared authentication state and the ability to affect other installed skills, creating unnecessary cross-skill trust and blast radius.

Context-Inappropriate Capability

High
Confidence
99% confidence
Finding
This code reads ~/.beatra/credentials.json to obtain a bearer token and can use it to revoke the shared device authorization. A skill for influencer matching has no legitimate need to access platform-wide credentials, and compromise or misuse of this logic can disrupt all skills using the shared connection.

Context-Inappropriate Capability

Medium
Confidence
93% confidence
Finding
The script inspects the shared skills inventory to enumerate other installed skills and their install paths, which exceeds the minimum privileges needed for an influencer-analysis skill. This leaks cross-skill metadata and enables one skill to reason about the broader environment, increasing privacy and platform attack surface.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The skill describes silent automatic updates that replace package-owned files, but this behavior is not prominently disclosed in the main skill description where users decide whether to trust it. Low-visibility disclosure weakens informed consent and makes unexpected code changes on disk more likely to occur without meaningful user awareness.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The document explicitly states that the client performs silent update checks and automatically installs newer versions before ordinary commands, without separate confirmation. Even with integrity checks and rollback protections, this behavior modifies local software implicitly and can surprise users, violating expectations around informed consent and increasing supply-chain risk if the trusted update source is ever compromised.

Missing User Warnings

Low
Confidence
89% confidence
Finding
The documentation states that the client automatically performs an installation registration call and transmits package, version, platform, and a stable external installation reference, but it does not clearly warn users up front about the privacy implications or obtain explicit consent. Even though the data is described as non-secret and non-billable, environment fingerprinting and stable installation identifiers can still enable tracking or correlation across uses, which makes the omission a real privacy/security issue.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill can silently auto-update itself during normal execution without a user-facing prompt, meaning code on disk may change before subsequent runs without the operator intentionally invoking an update. In a skill whose advertised role is content analysis rather than software maintenance, this is especially risky because it hides a powerful code-modification pathway behind routine use.

Ssd 3

Medium
Confidence
84% confidence
Finding
The comment explicitly frames removal of stricter Windows credential-file verification as a way to avoid agent-safety and endpoint-security scrutiny. Even though comments are not executable, this documents and normalizes a weakening of local credential protections on Windows, increasing the chance that bearer tokens are exposed to other local processes or misconfigured ACLs.

Credential Access

High
Category
Privilege Escalation
Content
scope = _required_string(polled, "scope")
            if set(scope.split()) != set(SCOPE.split()):
                raise RuntimeError("Beatra authorization returned an unsupported scope")
            credential_path = state_dir / "credentials.json"
            _atomic_json(
                credential_path,
                {
Confidence
83% confidence
Finding
The script writes an access token to a shared state directory as credentials.json for later reuse by the skill ecosystem. Although local storage of tokens is common, in this context the stored token carries unusually broad scopes, so compromise of the file or unintended cross-skill reuse could grant powerful unrelated capabilities including wallet spending and content-generation actions.

Credential Access

High
Category
Privilege Escalation
Content
#: these and then removes the directory only if it is empty — the script
#: never recursively deletes a directory it does not fully understand.
_STATE_FILES = (
    "credentials.json",
    "installation.json",
    "host.json",
    "skills.json",
Confidence
91% confidence
Finding
Referencing credentials.json as part of the state this skill manages indicates the package is designed to interact with shared authentication material. In the context of an influencer-analysis skill, inclusion of credential artifacts in its uninstall scope is an unjustified privilege boundary violation.

Credential Access

High
Category
Privilege Escalation
Content
def _device_token(state_dir: Path) -> str | None:
    path = state_dir / "credentials.json"
    try:
        value = json.loads(path.read_text(encoding="utf-8"))
    except (OSError, ValueError):
Confidence
99% confidence
Finding
The _device_token function directly parses credentials.json and extracts an access token, exposing raw bearer credentials to skill code. Direct credential handling by a content-analysis skill is highly dangerous because any malicious modification to the skill could exfiltrate or misuse the token.

Self-Modification

High
Category
Rogue Agent
Content
)
    update = subparsers.add_parser(
        "update",
        help="Check, install, or configure Beatra package self-updates",
    )
    update.add_argument(
        "--check",
Confidence
96% confidence
Finding
The command surface explicitly exposes self-update capability, allowing the package to replace its own installed code. In the context of an influencer-analysis skill, self-modification is unnecessary and dangerous because it enables behavior changes outside the user-expected workflow and creates a ready-made mechanism for remote code alteration if the update chain is ever compromised.

Static analysis

No suspicious patterns detected.