ai-ml-attacks
This skill should be used when the user asks about "AI security", "ML pipeline attacks", "prompt injection", "model deserialization", "unsafe model loading",…
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
$ npx -y skills add allsmog/vuln-scout --skill business-logic --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/business-logicContext preview
The summary Claude sees to decide when to auto-load this skill.
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
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.
Repo: allsmog/vuln-scout
This skill should be used when the user asks about "AI security", "ML pipeline attacks", "prompt injection", "model deserialization", "unsafe model loading",…
This skill should be used when the user asks about "cache poisoning", "web cache deception", "CDN cache", "proxy cache", "nginx cache", "varnish", "cache key…
This skill should be used when the user asks about "cloud security", "AWS security", "GCP security", "Azure security", "Kubernetes security", "IMDS", "instance…
This skill should be used when the user asks about "compliance mapping", "PCI-DSS", "HIPAA", "SOC 2", "NIST CSF", "regulatory requirements", "compliance…
This skill should be used when the user asks about "Code Property Graph", "CPG analysis", "Joern queries", "CPGQL", "data flow verification", "taint tracking…
This skill should be used when analyzing multi-service architectures, frontend-backend interactions, microservices, or when looking for vulnerabilities that…