media-gpac
Fail
Audited by Snyk on Jun 27, 2026
Risk Level: HIGH
Full Analysis
HIGH W007: Insecure credential handling detected in skill instructions.
- Insecure credential handling detected (high risk: 1.00). The prompt shows and requires embedding encryption keys/KIDs directly in CLI arguments and the CENC XML (and examples for decryption), which forces an agent to output secret values verbatim when performing encrypt/decrypt operations.
HIGH W008: Secret detected in skill content (API keys, tokens, passwords).
- Secret detected (high risk: 1.00). I scanned the skill for literal, high-entropy values that could be used to access or decrypt content. I flagged values that are 16-byte (32-hex-char) keys/KIDs used as ClearKey content keys — these are high-entropy, valid-format crypto keys and would be usable to decrypt CENC content if actually used.
Flagged items (present as literal values in the docs / examples / scripts):
- Quick start / helper invocation:
- --key-id 0123456789abcdef0123456789abcdef
- --key fedcba9876543210fedcba9876543210
- Example drm.xml (Example 3):
- KID="0xABCDEF01234567890ABCDEF012345678"
- value="0x112233445566778899AABBCCDDEEFF00"
- references/gpac.md and other examples repeat similar 0x... KID/value examples (e.g., 0x112233445566778899AABBCCDDEEFF00 and first_IV="0x0123456789abcdef").
- scripts/gpac.py: the DRM-XML writer uses a default IV "0x0123456789abcdef" and writes KID/key values verbatim into generated XML (so supplying literal key/KID args would embed them).
Why these are flagged:
- They are high-entropy hex strings of the correct lengths for CENC keys/KIDs (16 bytes / 32 hex chars) and would be functional decryption keys, not mere low-entropy placeholders.
- They are literal values in the repository text and script examples (not redacted or truncated), so they constitute exposed credentials.
Notes on items I did NOT flag:
- The example IV "0x0123456789abcdef" is an IV/nonce (not a secret that grants access) — I mention it but it is lower sensitivity compared to keys.
- Environment variable names, command names, and obvious placeholders (none present here) were ignored per the rules.
Conclusion: the doc contains literal, usable ClearKey content keys / KIDs embedded in examples and scripts, which meet the definition of secrets.
Issues (2)
W007
HIGHInsecure credential handling detected in skill instructions.
W008
HIGHSecret detected in skill content (API keys, tokens, passwords).
Audit Metadata