Back to skill

Security audit

React Native Skills

Security checks for vulnerabilities and agentic risk

Overview

This is a guidance-only React Native/Expo skill with some overbroad or imperfect recommendations, but no hidden execution, credential access, persistence, or data exfiltration.

Install only if you want opinionated React Native/Expo coding guidance. Review generated changes that add libraries, run Expo prebuild, or apply broad performance rules, especially for small lists, locale-sensitive formatting, and navigation choices.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (15)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 121)May include surrounding context.

md
For the complete guide with all rules expanded: `AGENTS.md`

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The rule title and metadata promote virtualization for 'Any List' with a HIGH impact framing, but the guidance omits important constraints and tradeoffs. In a coding-assistant skill, this can systematically push users toward unnecessary or inappropriate use of virtualized lists for very small/static content, causing complexity, layout issues, or degraded UX under the false assumption that it is always best practice.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The statement that benefits apply to 'any screen with scrollable content' is overbroad and likely to be propagated by an agent as default advice, even where virtualization is not appropriate. In the React Native/Expo skill context, this increases the chance of widespread low-quality recommendations across screens that are not true list UIs, creating maintainability and performance regressions instead of improvements.

Content

No source excerpt is available for this finding.

Behavior Manipulation

Medium
Category
Prompt Injection
Confidence
70% confidence
Finding

Subtle instructions detected that may alter agent decision-making or introduce hidden biases.

Content

Scanner excerpt · AGENTS.md (reported line 1173)May include surrounding context.

md
## Use Native Navigators for Navigation

Always use native navigators instead of JS-based ones. Native navigators use
platform APIs (UINavigationController on iOS, Fragment on Android) for better
performance and native behavior.

Behavior Manipulation

Medium
Category
Prompt Injection
Confidence
70% confidence
Finding

Subtle instructions detected that may alter agent decision-making or introduce hidden biases.

Content

Scanner excerpt · rules/navigation-native-navigators.md (reported line 10)May include surrounding context.

md
## Use Native Navigators for Navigation

Always use native navigators instead of JS-based ones. Native navigators use
platform APIs (UINavigationController on iOS, Fragment on Android) for better
performance and native behavior.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The section text says items should receive a root-level callback and invoke it with a unique identifier, but the example defines const onPress = useCallback(() => handlePress(item.id), ...) where item is not in scope. This actively contradicts the stated guidance because it neither demonstrates a valid root-level callback pattern nor a single reusable callback instance.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
97% confidence
Finding

The prose and prop type establish fallbackEnabled as the source value, yet both the incorrect and correct examples use defaultEnabled, which is not the documented prop. This is an intent/documentation contradiction that would mislead an agent following the example.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

This markdown file includes multiple examples that force the locale to en-US in Intl formatters. Because the document is guidance for AI agents generating code, this can propagate a language/locale policy violation by defaulting output behavior to a specific locale without user opt-in or a documented regional justification.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

The trigger description is broad enough to activate on many ordinary React Native, Expo, mobile performance, or native API tasks, which can cause this skill to be invoked outside a narrowly intended scope. Over-broad activation is not code-execution dangerous by itself, but it can unnecessarily inject guidance into unrelated workflows and increase the chance of inappropriate influence or context pollution.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

This markdown guidance repeatedly demonstrates formatter creation with a fixed 'en-US' locale, which can encourage skills to force a specific locale by default. The policy allows locale constraints only when users are given a choice or the restriction is clearly documented and justified, neither of which appears in these examples.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

The 'Correct' example presents hoisting with a hard-coded 'en-US' locale, which reads as normative guidance. Because the file does not mention user opt-in or locale configurability, this may conflict with organizational language/locale policy.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

This section reinforces a fixed locale across several formatter examples, which may normalize forcing a specific locale in downstream implementations. The file does not provide opt-in language, fallback guidance, or a justification for US English specificity.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

SQP-3 applies to all file types and covers natural-language policy violations such as forcing a specific language or locale without user opt-in. While this file does not mention human language, it does use absolute natural-language policy wording that removes choice entirely; however, this is only a weak fit to the stated policy category, so confidence and severity are low.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.