SECURITY / Sentry
Secret Serialization Review
Finds a credential field that survives generated serialization, and the sink that stringifies the whole object.
“Finds secrets, tokens, passwords, and API keys that can leak through generated serialization …”
01 / THE REASONING
Why this made the selection.
- The exclusion table says dataclasses.field(repr=False) does not block asdict, Pydantic Field(exclude=True) does not block repr, and neither flag blocks vars, __dict__ or pickle.
- A finding needs a traced path. A missing test is fix guidance, not a finding. Direct token interpolation is sent to a different skill.
02 / THE REVIEW RECORD
What we actually inspected.
Source review has boundaries.
A clear record is more useful than a “safe” badge.
Material inspected
- skills/secret-serialization/SKILL.md
- README.md skills package section
- LICENSE
- vercel-labs/skills@7407f3893ad4dceab546ac002c3ef806e4000c73:README.md
Our findings
- Allowed tools are Read, Grep and Glob. The table separates generated serialization from raw attribute access.
- The README install command adds the whole repository, not this directory alone.
- The definition separates generated holder behavior from raw access such as vars/pickle, and requires sink-side fixes for raw attribute exposure.
- Severity is high only when a sink in the repository can already receive the credential, even if that sink predates the diff.
- Investigation searches the entire repository for sinks and callers, treats a missing regression test as fix guidance rather than a finding, and excludes fixtures, examples, generated code, and test-only helpers.
Not established by this review
- No serialization was executed. The JavaScript reference file was not read line by line.
- Not executed: it was not installed or run.
The review applies to the material and revision named here. A newer upstream release can change its behavior.
03 / PUT IT TO WORK
Add a skill to your workflow.
DOCUMENTED COMMAND
npx skills add getsentry/skills/skills/secret-serialization --skill secret-serialization Run in your terminal to choose your AI tools, project or global scope, and installation method. This short command follows the current upstream version; the review covers the revision shown above.
Optional: install the reviewed revision
Keeps the original source and installer version where recorded, while leaving your AI tools and installation scope for you to choose.
npx skills add https://github.com/getsentry/skills/tree/d18b7aa8ba878354e5c348310230e652f7690f9c/skills/secret-serialization --skill secret-serialization - Install the complete skill directory; the Python and JavaScript/TypeScript references must travel with the SKILL.md.
- Point the agent at a diff that adds credential fields or object-serializing telemetry; it reviews read-only and reports holder or sink findings.
Before you start
- Node.js/npm for the installer
- An agent that supports the Agent Skills format
- A Python or JavaScript/TypeScript codebase under review
04 / FOLLOW THE EVIDENCE
The source trail.
Our notes are separate from the original resource.
Check upstream before adopting a new version.
https://github.com/getsentry/skills/blob/d18b7aa8ba878354e5c348310230e652f7690f9c/skills/secret-serialization/SKILL.md
Supports: summary, upstreamDescription, whySelected, limitations
- Publisher README ↗Checked
https://github.com/getsentry/skills/blob/d18b7aa8ba878354e5c348310230e652f7690f9c/README.md
Supports: install, compatibility
- Apache-2.0 licence ↗Checked
https://github.com/getsentry/skills/blob/d18b7aa8ba878354e5c348310230e652f7690f9c/LICENSE
Supports: license
https://github.com/vercel-labs/skills/blob/7407f3893ad4dceab546ac002c3ef806e4000c73/src/source-parser.ts
Supports: install
https://raw.githubusercontent.com/getsentry/skills/d18b7aa8ba878354e5c348310230e652f7690f9c/skills/secret-serialization/SKILL.md
Supports: review.findings, bestFor