Back to skill

Security audit

Profit Margin Calculator Amazon

Security checks for vulnerabilities and agentic risk

Overview

This is a local Amazon profit-margin calculator with no evidence of hidden data access or malicious behavior, though its install command and input validation deserve caution.

Before installing, prefer a pinned or reviewed source instead of the unpinned global npx command. Treat outputs as estimates, validate inputs carefully, and do not rely on the calculator alone for financial decisions until input validation is improved.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (3)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:14
Finding

Unpinned Third-Party Global Installation Creates a Supply-Chain Risk

Content
View full analysis
Remediation
View remediation
add ... ``` 2. Pin the remote source to an immutable commit hash or cryptographically verified release rather than a mutable repository reference. 3. Publish and verify checksums or signed provenance for the installed skill package. 4. Avoid global installation by default. Prefer a project-local installation with limited scope. 5. Review downloaded files before activation and display the resolved package version and source commit to the user. 6. Use lockfiles and automated dependency scanning for any packaged installation workflow. 7. Document how users can verify the source, version, integrity, and expected file list before running the installer. ]]>

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/calculator.py:205
Finding

Unvalidated Financial Inputs Permit Invalid Calculations and Misleading Recommendations

Content
View full analysis
CostBreakdown: """Calculate cost breakdown""" # Referral Fee referral_rate = get_referral_fee_rate(product.category, product.referral_fee_rate) referral_fee = product.selling_price * referral_rate # Ad cost ad_cost = product.selling_price * product.ad_spend_ratio # Return cost = return rate × (processing fee + product cost loss ratio) return_cost = product.return_rate * (product.return_processing_fee + product.product_cost * 0.5) return CostBreakdown( selling_price=product.selling_price, product_cost=product.product_cost, shipping_cost=product.shipping_cost, fba_fulfillment_fee=product.fba_fulfillment_fee, fba_storage_fee=product.fba_storage_fee, referral_fee=round(referral_fee, 2), ad_cost=round(ad_cost, 2), return_cost=round(return_cost, 2), other_fees=product.other_fees ) def calculate_break_even(product: ProductInput, costs: CostBreakdown) -> BreakEvenAnalysis: """Calculate break-even point""" # Variable cost (per unit) variable_cost = ( product.product_cost + product.shipping_cost + product.fba_fulfillment_fee + product.fba_storage_fee + costs.referral_fee + costs.return_cost + product.other_fees ) # Minimum price (cover variable cost + ad spend) # Ad ratio unchanged: min_price - variable_cost - min_price * ad_ratio = 0 # min_price * (1 - ad_ratio) = variable_cost if product.ad_spend_ratio < 1: min_price = variable_cost / (1 - product.ad_spend_ratio) else: min_price = variable_cost * 2 # Abnormal case ``` User input reaches these calculations through the CL ...[truncated 2601 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Note
Location
scripts/calculator.py:449
Finding

Empty Batch Input Causes Division-by-Zero Denial of Service

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The installation command uses npx skills add ... without pinning a specific package version, which can cause users to execute whatever version of the CLI resolves at install time. If the upstream package is compromised, typosquatted, or a breaking/malicious version is published, users could unknowingly run attacker-controlled code during installation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.