
Application Attack Surface Modeling
Build a working model of the application as a system - roles, resources, workflows...
Install
npx skills add xalgorix/xalgorix --skill application-attack-surface-modeling -g -a claude-code -y- Repository
- xalgorix/xalgorix1.3k
- Category
- Engineering
- Updated
- 5d ago
- License
- Apache-2.0
- Context cost
- Mediumabout 1,880 tokens
- Runs scripts
- No, instructions only
What it does
Build a working model of the application as a system - roles, resources, workflows, state transitions, trust and tenant boundaries - from black-box behavior, and turn that model into prioritized hypotheses. The foundation skill that converts a recon endpoint list into application-level reasoning.
Application Attack-Surface Modeling
Purpose
Reconnaissance produces a list of routes and endpoints. That list is not yet an application. This skill turns observed runtime behavior into a structured model - who exists, what exists, what flows exist, what states exist, and where the boundaries are - and converts the model into testable hypotheses for the ledger. Load this skill when the endpoint inventory feels like "many URLs, little meaning", or before starting systematic application-level testing.
Entry Conditions
- Reconnaissance has produced a concrete endpoint/page inventory (including client-side routes from discover_client_routes)
- Login flows, forms, and API surfaces are mapped at a surface level
- You need to decide WHICH application-level attacks to run and in what order
Application Model: What to Capture
Work through these dimensions in order; each one generates hypothesis material:
1. Roles and privilege states
Enumerate the distinct identities the application recognizes, not just the accounts you hold:
Anonymous
-> signup -> User
-> email verification -> Verified User
-> subscription -> Pro User
-> invite member -> Organization Admin
-> platform grant -> Moderator / Support / Owner
Signals for role discovery: signup/register forms, pricing tiers, invite flows, admin links, role names in API responses, menu differences between your test accounts, X-Tenant-ID / X-Org-ID headers, role claims in decoded cookies/tokens.
2. Resources and object types
Every ID-bearing endpoint names a resource type: users, orders, documents, invoices, tickets, messages, api_keys, webhooks, exports, workspaces, tenants. For each: how are IDs generated (sequential, UUID, slug)? Who can create/read/update/delete? Are they tenant-scoped or global? Sequential IDs across tenants are an enumeration lead; UUIDs are not.
3. Workflows and state transitions
Every multi-step flow is a state machine. For each transition capture:
