attio-security-basics
Harden an Attio integration with least-privilege credentials, tenant isolation, log redaction, raw-body webhook verification, idempotency, and incident-ready rotation. Use when reviewing Attio security controls or preparing production access. Trigger with "Attio security", "secure Attio integration", or "Attio webhook signature".
Allowed Tools
Provided by Plugin
attio-pack
Attio CRM integration pack with 18 operator skills
Installation
This skill is included in the attio-pack plugin:
/plugin install attio-pack@claude-code-plugins-plus
Click to copy
Instructions
Attio Integration Security Baseline
Overview
This skill audits and hardens Attio authentication, data handling, webhook verification, tenant boundaries, and operational response without exposing secrets or customer records.
Prerequisites
- Data-flow and trust-boundary inventory
- Endpoint-to-scope map and tenant model
- Secret-store, logging, retention, and incident-response owners
- Webhook receiver code when events are enabled
Tool Discipline
Use Read, Glob, and Grep to inspect credential flow, authorization, logs, storage, and webhook handling. Use WebFetch only for current official Attio security contracts. Use Write or Edit after findings, target controls, and rollback conditions are approved.
Current Contract
- Tokens should be least-privilege, stored server-side, tenant-bound, redacted, and rotatable.
- Verify
Attio-Signatureby computing SHA-256 HMAC over the exact raw UTF-8 request body with the webhook secret and comparing equal-length hexadecimal values in constant time. - The signature input is the raw body only; do not invent a timestamp concatenation protocol.
- Delivery is at least once. Use
Idempotency-Keyand durable state to control duplicates; signature verification alone is not deduplication.
Authentication
Prefer OAuth for multi-workspace applications and a workspace key for a controlled single workspace. Enforce server-side workspace authorization before resolving the encrypted token.
Instructions
- Map secrets, tenant context, Attio data, logs, queues, backups, and administrative paths.
- Compare used endpoints with granted scopes and remove unjustified privilege through an approved rotation.
- Enforce tenant authorization before credential resolution and storage access.
- Redact authorization headers, secrets, raw customer payloads, and sensitive attribute values from telemetry.
- Preserve the raw webhook body, verify its HMAC before parsing, compare equal-length buffers safely, and reject failures.
- Deduplicate accepted events by
Idempotency-Key, queue work, and reconcile downstream state. - Exercise token revocation, webhook-secret rotation, audit review, and incident rollback.
Approval Boundaries
Do not rotate production secrets, reduce retention, change access scopes, or replay customer mutations without the responsible security and service owners.
Output
Return the threat boundaries, scope gaps, secret lifecycle, webhook verification evidence, redaction tests, tenant-isolation tests, and remediation owners.
Error Handling
| Condition | Response |
|---|---|
| Raw webhook body is unavailable | Reject the event and fix middleware ordering. |
| Signature lengths differ | Reject before constant-time comparison. |
| Token appears in retained output | Revoke or rotate it and scrub the artifact. |
| Duplicate idempotency key arrives | Acknowledge without repeating committed work. |
Examples
Input:
scope=oauth service plus webhook receiver; environment=production candidate
Expected handoff:
least-privilege=verified; hmac=raw-body; dedupe=durable; rotation=exercised