home / skills / plurigrid / asi / social-engineering-audit
This skill helps assess social engineering risks across auth flows and help desks, strengthening human-factor defenses and reducing pretext-based breaches.
npx playbooks add skill plurigrid/asi --skill social-engineering-auditReview the files below or copy the command above to add this skill to your agents.
---
name: social-engineering-audit
description: Assess social engineering attack surface in applications and organizations. Identifies pretexting vectors, OSINT exposure, phishing susceptibility in authentication flows, and human-factor vulnerabilities in security architecture. Use when auditing auth flows, help desk procedures, password reset mechanisms, or organizational security posture.
---
# Social Engineering Audit
## When to Use
Invoke this skill when assessing:
- Authentication and authorization flows (login, MFA, password reset, account recovery)
- Help desk and customer support procedures
- Identity verification and onboarding processes
- Organizational security posture against targeted attacks
- Account takeover risk via non-technical channels
- Physical access control and personnel security
This is not a penetration test. This is a structured assessment of the human-factor
attack surface -- the seams where process, trust, and technology meet.
## Attack Surface Taxonomy
### 1. Pretexting Vectors
- **Support channels**: phone, email, chat, social media DMs. Each is an identity
verification boundary. Map them all. Determine what each channel can do
(password reset, account unlock, PII disclosure, plan changes).
- **Internal help desk**: IT support desks are high-value targets. Assess what
credentials or verification they require before acting on requests.
- **Vendor/contractor impersonation**: third-party relationships create implicit
trust. Identify which vendors have elevated access or bypass normal auth.
- **Authority exploitation**: executive impersonation, "urgent" escalation paths,
out-of-band requests that skip normal verification.
### 2. Authentication Bypass via Social Channels
- **Password reset**: Does the reset flow rely on email alone? Is there a
fallback path through support? Can support override MFA?
- **Account recovery**: What happens when a user "loses everything"? The recovery
path is the weakest authentication path.
- **SIM swap / number porting**: If SMS is used for 2FA or recovery, the phone
carrier is part of your authentication chain.
- **Session hijacking via support**: Can support generate magic links, session
tokens, or bypass codes? Under what verification?
### 3. OSINT Exposure
- **Breached credentials**: Check paste sites, breach databases. Credential
reuse is the simplest attack.
- **Social media**: Employee roles, org charts, technology stack, office photos
(badges, screens, whiteboards).
- **Public records**: Domain registrations, DNS records, job postings (reveal
internal tooling), SEC filings, patent applications.
- **Code repositories**: Leaked secrets, internal URLs, employee emails in
commit history, CI/CD configurations.
- **Metadata**: Document metadata (author names, software versions, internal
paths) in public PDFs, images, office documents.
### 4. Phishing Surface
- **Email authentication**: Check SPF, DKIM, DMARC records. A missing or
permissive DMARC policy (p=none) means anyone can spoof the domain.
- **Lookalike domains**: Check for registered typosquats and homoglyph domains.
Use dnstwist or similar.
- **Link handling**: How does the application handle links in emails, chat,
notifications? Are URLs previewed, sandboxed, or blindly followed?
- **OAuth consent phishing**: Can an attacker register an OAuth app with a
deceptive name and request broad scopes?
### 5. Physical Social Engineering
- **Tailgating**: Badge-controlled entrances without mantraps or visual
verification.
- **Badge cloning**: Proximity card technology (125kHz HID is trivially cloned).
- **Impersonation**: Delivery, maintenance, IT support pretexts for physical
access.
- **Dumpster diving**: Document disposal procedures, shredding policy.
## Audit Methodology
Execute in order. Each step informs the next.
**Step 1: Map human-mediated authentication paths.**
Enumerate every path where a human (support agent, IT admin, manager) can
override, bypass, or supplement automated authentication. Document what each
path can do and what verification it requires.
**Step 2: Identify identity verification procedures.**
For each human-mediated path: what questions are asked? What constitutes
"sufficient" proof of identity? Is it documented or ad hoc? Can the answers
be obtained via OSINT?
**Step 3: Assess OSINT exposure.**
Gather publicly available information that could be used to answer verification
questions or craft targeted pretexts. Focus on: employee names and roles,
email formats, technology stack, org structure, breached credentials.
**Step 4: Evaluate phishing controls.**
Check email authentication records (SPF/DKIM/DMARC). Enumerate registered
lookalike domains. Review whether the organization has phishing-resistant
MFA (WebAuthn/FIDO2) or phishable MFA (TOTP/SMS).
**Step 5: Review account recovery flows.**
Walk through every account recovery path as an attacker who controls only
public information. Identify which paths leak user existence, accept
guessable answers, or defer to a human who can be pretexted.
**Step 6: Test help desk resistance.**
Design pretext scenarios based on Steps 2-3. Assess (or recommend testing)
whether support staff follow verification procedures under pressure,
urgency, or authority cues.
## Code Review Patterns
When reviewing application source, flag these patterns:
### User Enumeration
```
# BAD: Different responses for valid vs invalid users
if not user_exists(email):
return "No account found" # Leaks existence
return "Reset link sent"
```
Fix: Return the same response regardless. Send email only if account exists.
### Security Questions for Recovery
Any use of security questions (mother's maiden name, first pet, etc.) is a
finding. These are OSINT-retrievable and not secrets.
### Support Tooling Without Verification Audit Trail
```
# BAD: Support action with no identity verification logged
@admin_required
def reset_user_password(user_id):
user.set_random_password() # No record of what verification was performed
```
Fix: Require and log the verification method used before any support action.
### OAuth/SSO Misconfigurations
- Open redirect in OAuth callback URLs (enables token theft)
- Wildcard or overly broad redirect URI matching
- Missing `state` parameter validation (CSRF in OAuth flow)
- Auto-approval of OAuth consent for internal apps (can be abused if app
registration is open)
### Rate Limiting Gaps
```
# BAD: No rate limit on verification code endpoint
@app.route("/verify-code", methods=["POST"])
def verify_code():
if request.form["code"] == stored_code:
grant_access()
```
Fix: Rate limit by IP and account. Lock after N failures. Use longer codes.
### MFA Bypass in Recovery
Look for code paths where MFA is enforced at login but skipped during
account recovery, password reset, or support-initiated access.
## Output Format
Structure findings as:
```
### [SE-001] Finding Title
Severity: Critical / High / Medium / Low / Informational
Category: Pretexting | Auth Bypass | OSINT Exposure | Phishing | Physical
Attack Scenario: Concrete, step-by-step description of how an attacker
exploits this. Name the pretext. Name the channel. Name what they obtain.
Evidence: What was observed (code path, policy gap, DNS record, etc.)
Remediation: Specific, actionable fix. Not "improve training."
References: Relevant standards (NIST 800-63B, OWASP, etc.)
```
Severity calibration:
- **Critical**: Direct account takeover via social channel, no technical skill required.
- **High**: Account takeover possible with moderate OSINT gathering.
- **Medium**: Information disclosure that enables targeted attacks.
- **Low**: Weak controls that increase attack surface but require chaining.
- **Informational**: Observations that inform security posture but lack direct exploit path.
## Related Skills
- `entry-point-analyzer` -- map technical entry points before assessing human ones
- `webapp-testing` -- complement social engineering audit with technical testing
- `audit-context-building` -- establish organizational context and threat model
This skill assesses the social engineering attack surface in applications and organizations. It identifies pretexting vectors, OSINT exposure, phishing susceptibility in authentication flows, and human-factor weaknesses in security processes. Use it to audit help desk procedures, password recovery, onboarding, and overall organizational resilience to targeted social attacks.
I map every human-mediated authentication and support path, then enumerate the verification steps and what each path can accomplish. I gather public information usable for pretexts, test phishing and domain spoofing risks, and walk recovery and support flows as an attacker with only public data. The output is a prioritized set of findings with concrete attack scenarios and actionable remediations.
Is this a penetration test?
No. This is a structured human-factor assessment that identifies social-engineering risks and recommends mitigations. It can inform or feed a pen test but is not an exploit engagement by itself.
What outputs will I receive?
A prioritized list of findings using a standard template: severity, category, concrete attack scenario, evidence, remediation, and references to standards like NIST 800-63B and OWASP.