Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Miosa-osa/OSA --skill offensive-business-logicgit clone --depth 1 https://github.com/Miosa-osa/OSAWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/miosa-osa/osa/offensive-business-logic)<a href="https://agentmods.dev/skills/miosa-osa/osa/offensive-business-logic"><img src="https://agentmods.dev/badge/skills/miosa-osa/osa/offensive-business-logic/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/miosa-osa/osa/offensive-business-logic"><img src="https://agentmods.dev/badge/skills/miosa-osa/osa/offensive-business-logic.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00135 | $0.03723 |
| Opus 5.5 | $0.00054 | $0.01489 |
| Sonnet 5.5 | $0.00027 | $0.00745 |
| Haiku 4.5 | $0.00014 | $0.00372 |
Grade A, and why
offensive-business-logic scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
diff <(curl https://app/main.js) <(curl -H "Cookie: ..." https://app/main.js) This is a copy
89% identical to offensive-business-logic — 40 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 439 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Business Logic — Offensive Testing Methodology
Business logic flaws are the highest-paying class of vulnerability for bug bounty and the hardest for scanners to detect. They live in the gap between what the developer specified and what an attacker can convince the system to accept.
Quick Workflow
- Map every multi-step flow as a state machine (states + allowed transitions + side effects)
- For each transition, ask: who can call it, in what state, with what inputs, how many times
- Probe each axis (state, identity, input, frequency) for assumptions
- Combine flaws — single-axis flaws are usually low severity; chains are critical
- Quantify financial impact per finding (loss-per-attack × scale)
Reconnaissance — Mapping the Logic
Build the State Machine
For each user flow, draw:
- States: cart, pending payment, paid, shipped, refunded, cancelled
- Transitions: which API/UI action, which role, which preconditions
- Side effects: balance change, inventory change, email, webhook
Look for transitions that:
- Skip intermediate states (
cart→shippedwithoutpaid) - Are reversible when they shouldn't be (
shipped→cart) - Trigger side effects more than once
- Allow cross-role invocation
Hidden / Internal Endpoints
# Compare authenticated and unauthenticated JS bundles for buried admin routes
diff <(curl https://app/main.js) <(curl -H "Cookie: ..." https://app/main.js)
# Look for flag/feature toggles that change UI but not server-side enforcement
grep -E '(isAdmin|isInternal|featureFlag|debug)' bundle.js
# API spec (OpenAPI/Swagger) often lists endpoints the UI never calls
curl https://app/api/openapi.json | jq '.paths | keys'
Workflow / State-Machine Bypass
Skip a Required Step
# Normal flow: /verify-email → /set-password → /enable-2fa → /dashboard
# Try jumping directly:
GET /dashboard
GET /api/account/details
POST /api/payout-settings
# Checkout flow: /cart → /address → /shipping → /payment → /confirm
# Skip /payment by replaying /confirm with a previous order's payment-token reference:
POST /api/order/confirm
{ "cartId": "current", "paymentRef": "<old-paid-order-payment-ref>" }
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 439 lines · 135 tokens per session scan A 52bcf0a64dac
offensive-business-logic is a skill published in the GitHub repository Miosa-osa/OSA (78 stars, last pushed 11d ago), licensed Apache-2.0. It adds 135 tokens to every session and 3,723 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). It is 89% identical to offensive-business-logic, differing in 40 lines, and is treated as a copy.
Other skills, from other repositories
shopify
Query Shopify Admin/Storefront GraphQL APIs via curl.
stripe-link-cli
Agent payments via Stripe Link — cards, SPT, approvals.
stripe-best-practices
Guides Stripe integration decisions across development and test environment planning (separate sandboxes vs the shared test mode sandbox), API selection (Checkout Sessions vs PaymentIntents), Connect platform setup (Accounts v2, controller properties), billing/subscriptions, tax and registrations (Stripe Tax…
waiting-list
Design and build waiting-list portals for anticipated goods or services: classify whether the experience needs interest capture, verified early access, referral growth, a virtual waiting room, appointment backfill, or scarce-item allocation; choose a reversible architecture; and define the state machine, abuse…
stripe
Read Stripe account state from a terminal or agent: balance, payment intents, and subscriptions — and perform guarded mutations like canceling a subscription — backed by a bundled stripe-cli script that is read-only first and gates every state-changing command behind a --dry-run/--yes confirmation. Use when an agent…
dunning-escalation
Per-subscription dunning ladder for recovering failed Stripe payments — smart retry, payment reminder, update-your-card notice, final notice — with minimum wait times between rungs, the ledger format that carries state across hourly runs, and the stop-for-human line at cancellation, credits, and refunds.