stripe-best-practices
Verdict safe, but 4 findings (1 medium, 3 low), mainly policy violation, prompt injection, unauthorized tool use. Most recent scan 2026-02-08.
This Stripe best practices skill presents MEDIUM security risk primarily due to transitive trust abuse through external documentation dependencies. The skill instructs the agent to follow and prioritize content from external Stripe documentation URLs without validation, creating a potential indirect prompt injection vector if those sources were compromised. Additionally, the skill references a missing file ('another.py') which indicates incomplete packaging and could be exploited in social engineering scenarios. The skill contains no executable scripts, which limits the attack surface, but the reliance on external content and missing metadata reduce overall security posture. The skill would benefit from bundling critical documentation internally, removing broken file references, and completing manifest metadata.
Scanner's overall assessment (LLM analyzer)
Second scanner: NVIDIA SkillSpector
Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Best practices for building a Stripe integrations
- Package
- 1 file, 5.2 KB
- SKILL.md
- 595 words
- Code
- None. Instructions only.
Findings
MEDIUM Transitive Trust Abuse - External Documentation Dependencies Prompt Injectionllm
The skill instructs the agent to follow and prioritize external Stripe documentation URLs (docs.stripe.com) without any validation or security controls. This creates a transitive trust relationship where the agent will follow instructions from external sources that could be compromised or manipulated. If Stripe's documentation were compromised or if an attacker could perform DNS/routing attacks, malicious instructions could be injected into the agent's workflow.
SKILL.md
When designing an integration, always prefer the documentation in [Stripe's Integration Options doc](https://docs.stripe.com/payments/payment-methods/integration-options.md)
The [API Tour](https://docs.stripe.com/payments-api/tour.md)
Use the [Go Live Checklist](https://docs.stripe.com/get-started/checklist/go-live.md)LOW Skill does not specify a license Policy Violationstatic
Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.
SKILL.md
LOW Missing Referenced File - Broken Tool Chain Unauthorized Tool Usellm
The skill references 'another.py' in its instructions but this file is not found in the skill package. This creates a broken tool chain where the agent may attempt to access or execute a non-existent file, potentially leading to unexpected behavior or errors. While not directly exploitable, this indicates incomplete skill packaging and could be leveraged in social engineering attacks where an attacker provides a malicious 'another.py' file.
Files referenced in instructions: another.py
**Referenced File: another.py** (not found)LOW Incomplete Manifest Metadata Social Engineeringllm
The skill manifest is missing several optional but recommended fields: 'license', 'compatibility', and 'allowed-tools'. While these fields are optional per the agent skills specification, their absence reduces transparency about the skill's intended usage constraints and compatibility requirements. This makes it harder for users to assess the skill's trustworthiness and appropriate usage context.
SKILL.md
- license: Not specified
- compatibility: Not specified
- allowed-tools: Not specifiedWhat is in the package
| File | Kind | Size |
|---|---|---|
SKILL.md | doc | 5.2 KB |
External hosts referenced
docs.stripe.com
Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.
Package contents recorded 2026-10-22 at commit 57ef25cdb9a1. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://github.com/stripe/ai
- Raw scan result: skills-stripe-best-practices-scan.json
- Badge for your README:
 - Request a re-scan