ai-ml-attacks
This skill should be used when the user asks about "AI security", "ML pipeline attacks", "prompt injection", "model…
This skill should be used when the user asks about "business logic", "workflow vulnerability", "trust boundary", "state machine", "authorization bypass", "multi-step process", "workflow bypass", "application logic flaw", or needs to identify business logic vulnerabilities during
Claude Code
$ npx -y skills add allsmog/vuln-scout --skill business-logic --agent claude-code
Codex
$ npx skills add allsmog/vuln-scout --skill business-logic -a codex -y
Cursor
$ npx skills add allsmog/vuln-scout --skill business-logic -a cursor -y
Gemini CLI
$ npx skills add allsmog/vuln-scout --skill business-logic -a gemini-cli -y
GitHub Copilot
$ npx skills add allsmog/vuln-scout --skill business-logic -a github-copilot -y
OpenCode
$ npx skills add allsmog/vuln-scout --skill business-logic -a opencode -y
Windsurf
$ npx skills add allsmog/vuln-scout --skill business-logic -a windsurf -y
name: Business Logic Analysis description: This skill should be used when the user asks about "business logic", "workflow vulnerability", "trust boundary", "state machine", "authorization bypass", "multi-step process", "workflow bypass", "application logic flaw", or needs to identify business logic vulnerabilities during whitebox security review. version: 1.0.0
Provide comprehensive knowledge of business logic vulnerabilities - flaws that arise from incorrect assumptions about how users will interact with an application, rather than from traditional injection or parsing errors.
**Key Insight**: Unlike technical vulnerabilities (SQLi, XSS), business logic flaws require deep understanding of what the application is supposed to do. You cannot find them without first understanding the application.
---
Activate this skill when:
---
Before hunting for business logic bugs: 1. Understand the application's purpose 2. Map all user roles and permissions 3. Identify critical workflows (money, data, access) 4. Document trust assumptions between components 5. Model state machines for multi-step processes
Trust boundaries exist where:
**Common flaw**: Backend trusts frontend validation, allowing bypass.
Multi-step processes have states. Vulnerabilities arise from:
---
| Flaw | Pattern | Impact | |------|---------|--------| | IDOR | Direct object reference without ownership check | Access other users' data | | Horizontal Privilege Escalation | Role check missing on specific action | Act as peer user | | Vertical Privilege Escalation | Admin function callable by regular user | Gain admin access | | Function-Level Access Control | Endpoint has no auth check | Bypass authentication |
| Flaw | Pattern | Impact | |------|---------|--------| | Step Skipping | No enforcement of workflow sequence | Bypass verification steps | | State Manipulation | Direct modification of state parameters | Change order/payment status | | Race Conditions | Non-atomic check-then-use | Double-spend, over-redeem | | Replay Attacks | Action can be repeated without limit | Free resources, repeated discounts |
| Flaw | Pattern | Impact | |------|---------|--------| | Client-Side Validation Only | Backend trusts frontend checks | Bypass all input validation | | Price Manipulation | Price sent from client | Purchase at arbitrary price | | Quantity Manipulation | Quantity not validated server-side | Order more than allowed | | Hidden Field Tampering | User role/ID in hidden field | Impersonate other users |
---
1. **Identify User Roles**
2. **Find Critical Workflows**
3. **Document Trust Boundaries**
For each critical workflow:
[State A] --action--> [State B] --action--> [State C]
^
|
What prevents:
- Skipping B?
- Reversing to A?
- Racing through B?Look for:
Develop test cases:
---
# VULNERABLE - No ownership check
def get_order(order_id):
return Order.query.get(order_id) # Any user can access any order
# SECURE
def get_order(order_id, user):
return Order.query.filter_by(id=order_id, user_id=user.id).first()# VULNERABLE - Trusting client-provided role
def update_user(request):
user.role = request.data['role'] # User can set their own role!
# SECURE
def update_user(request, current_user):
if current_user.is_admin: # Server-side check
user.role = request.data['role']# VULNERABLE - State as client parameter
def update_order_status(request, order_id):
order = Order.query.get(order_id)
order.status = request.data['status'] # User can set order to "shipped"!
# SECURE - Server controls state transitions
def ship_order(order_id, admin_user):
if admin_user.has_permission('ship'):
order = Order.query.get(order_id)
if order.status == 'paid': # Valid transition check
order.status = 'shipped'---
AI-powered whitebox penetration testing plugin for Claude Code. 9 languages, 22 skills, 7 autonomous agents. STRIDE threat modeling, OWASP 2025 coverage, polyglot monorepo support.
This skill should be used when the user asks about "AI security", "ML pipeline attacks", "prompt injection", "model…
This skill should be used when the user asks about "cache poisoning", "web cache deception", "CDN cache", "proxy cache", "nginx…
This skill should be used when the user asks about "cloud security", "AWS security", "GCP security", "Azure security",…
This skill should be used when the user asks about "compliance mapping", "PCI-DSS", "HIPAA", "SOC 2", "NIST CSF", "regulatory…
This skill should be used when the user asks about "Code Property Graph", "CPG analysis", "Joern queries", "CPGQL", "data flow…
This skill should be used when analyzing multi-service architectures, frontend-backend interactions, microservices, or when…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…