From appsec
This skill should be used when the user asks to "check for linkability", "analyze cross-service tracking", "find privacy issues related to user correlation", "check for cross-domain tracking", or mentions "linkability" in a privacy context. Maps to LINDDUN category L.
npx claudepluginhub florianbuetow/claude-code --plugin appsecThis skill uses the workspace's default tool permissions.
Analyze source code for linkability threats where separate data points, actions,
Acquire memory dumps from live systems/VMs and analyze with Volatility 3 for processes, networks, DLLs, injections in incident response or malware hunts.
Provides x86-64/ARM disassembly patterns, calling conventions, control flow recognition for static analysis of executables and compiled binaries.
Identifies anti-debugging checks like IsDebuggerPresent, NtQueryInformationProcess in Windows binaries; suggests bypasses via patches/hooks/scripts for malware analysis, CTFs, authorized RE.
Analyze source code for linkability threats where separate data points, actions, or records can be correlated to the same individual across contexts, services, or time periods -- even when the system is fully encrypted and authenticated.
Read ../../shared/schemas/flags.md for full flag
documentation. This skill supports all cross-cutting flags.
| Flag | Linkability-Specific Behavior |
|---|---|
--scope | Default changed. Focuses on files containing user identifiers, tracking logic, analytics events, and cross-service communication. |
--depth quick | Grep patterns only: scan for shared IDs, tracking cookies, and fingerprinting code. |
--depth standard | Full code read of scoped files, analyze identifier propagation within each file. |
--depth deep | Trace identifier propagation across services, databases, and API boundaries. Map full correlation graph. |
--depth expert | Deep + adversarial linkage simulation: model what an attacker can correlate given available data. |
--severity | Filter output. Linkability findings range from medium to critical depending on data sensitivity. |
--fix | Generate pseudonymization and identifier isolation replacements. |
LINDDUN L -- Linkability
Linkability occurs when an adversary can determine that two or more items of
interest (data records, messages, actions, users) are related, even without
knowing the identity of the data subject. Read
../../shared/frameworks/linddun.md for the
full LINDDUN framework reference including cross-framework mappings and
regulatory context.
Privacy Property Violated: Unlinkability
STRIDE Mapping: Information Disclosure (linkability extends beyond data access to correlation analysis across contexts)
--scope flag (default: changed).Read each scoped file and check for patterns that enable cross-context correlation of user activity:
At --depth deep or --depth expert, map the full identifier propagation graph
across the codebase and model what correlations an adversary can derive.
Output findings per ../../shared/schemas/findings.md.
Each finding needs: LINK-NNN id, title, severity (based on correlation potential
and data sensitivity), location with snippet, description of what can be linked,
impact (profile an adversary can build), fix (pseudonymization or isolation), and
CWE/LINDDUN references.
userId, user_id, accountId passed
between microservices without per-service pseudonyms.
userId|user_id|accountId|account_id in API call payloads and headersdocument\.cookie|Set-Cookie|domain=\.|SameSite=Nonenavigator\.userAgent|screen\.width|screen\.height|navigator\.plugins|canvas\.toDataURL|fingerprintanalytics\.track|analytics\.identify|gtag\(|mixpanel\.track|segment\.trackJOIN.*user|JOIN.*account|INNER JOIN.*activity|LEFT JOIN.*sessionreq\.params\.userId|req\.query\.email|/users/\$\{|/api/.*userId=logger\.\w+\(.*userId|log\.\w+\(.*user_id|console\.log\(.*email| Regulation | Provision | Relevance |
|---|---|---|
| GDPR Art. 5(1)(c) | Data minimization | Shared identifiers collect more linkable data than necessary |
| GDPR Art. 25 | Data protection by design | Pseudonymization required where feasible |
| GDPR Recital 26 | Identifiability test | Linkable data may constitute personal data |
| CCPA 1798.140(o) | Personal information definition | Includes data capable of being linked to a consumer |
| HIPAA Safe Harbor | De-identification standard | Linked health data is not de-identified |
Use finding ID prefix LINK (e.g., LINK-001, LINK-002).
All findings follow the schema in
../../shared/schemas/findings.md with:
references.cwe: CWE-359 or CWE-212 as appropriatereferences.owasp: A01:2021 (Broken Access Control -- cross-context leakage)metadata.tool: "linking"metadata.framework: "linddun"metadata.category: "L"Summary table after all findings:
| Linkability Pattern | Critical | High | Medium | Low |
|------------------------|----------|------|--------|-----|
| Cross-service IDs | | | | |
| Tracking cookies | | | | |
| Device fingerprinting | | | | |
| Analytics correlation | | | | |
| Database joins | | | | |
| Log correlation | | | | |
Followed by: top 3 priorities, data flow correlation map, and overall assessment.