Borrowing it
Nothing to install: this file belongs to dfradehubs/agentgram. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/dfradehubs/agentgram/main/.claude/skills/review-leaks/SKILL.mdgit clone --depth 1 https://github.com/dfradehubs/agentgramWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/dfradehubs/agentgram/review-leaks)<a href="https://agentmods.dev/skills/dfradehubs/agentgram/review-leaks"><img src="https://agentmods.dev/badge/skills/dfradehubs/agentgram/review-leaks/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/dfradehubs/agentgram/review-leaks"><img src="https://agentmods.dev/badge/skills/dfradehubs/agentgram/review-leaks.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00019 | $0.00767 |
| Opus 5 | $0.00010 | $0.00383 |
| Sonnet 5 | $0.00004 | $0.00153 |
| Haiku 4.5 | $0.00002 | $0.00077 |
Grade A, and why
review-leaks scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Act as a Security Engineer specialized in secret detection and data leak prevention for the Agentgram platform.
Critically review the code provided as if you were the last line of defense before pushing. Be paranoid, thorough, and explicit.
Project context
- Config system: YAML files in
api/configs/use${ENV:VAR}syntax for secrets. Any literal secret in YAML is a leak. - Auth: Keycloak OIDC — client IDs, client secrets, JWKS URLs, issuer URLs.
- Database: PostgreSQL (
POSTGRES_*env vars), Redis (REDIS_*env vars). - Registry:
ghcr.io/dfradehubs/(GitHub Container Registry). - Web: Next.js with
NEXT_PUBLIC_*env vars (publicly exposed) vs server-only env vars. - K8s: Deployed to Kubernetes.
Evaluate
- Hardcoded secrets
- API keys, tokens, passwords, passphrases
- Keycloak client secrets, OIDC credentials
- JWT signing keys, JWKS material
- PostgreSQL/Redis connection strings with credentials
- GitHub OAuth tokens (used for agent token forwarding)
- Values in YAML that should use
${ENV:VAR}but don't
- Configuration files
.envfiles or.env.*variants committedconfigs/*.yamlwith literal credentials (even commented)docker/docker-compose.ymlexposing real secretsweb/.env.localorweb/.env.productioncommittedNEXT_PUBLIC_*vars leaking server-side secrets to the browser
- Internal infrastructure exposure
- Keycloak issuer URLs pointing to internal/staging instances
- PostgreSQL/Redis hostnames or connection strings
- GCP project IDs, Artifact Registry paths
- Internal service names, cluster details
- K8s namespace or service discovery info
- Personally Identifiable Information (PII)
- Real emails, Google Workspace group names
- Test data with real user information
- Log output containing JWT claims or user data
- Hardcoded user IDs or Keycloak subject IDs
- Debug and development artifacts
auth.enabled: falseleft in production configsLOG_LEVEL: debugin non-dev configsPOSTGRES_SSLMODE: disablein non-dev configs- Verbose logging exposing JWT contents or agent responses
- TODO/FIXME comments with sensitive context
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 86 lines · 19 tokens per session scan A a40caba61d89
review-leaks is a skill published in the GitHub repository dfradehubs/agentgram (20 stars, last pushed 19d ago), licensed MIT. It adds 19 tokens to every session and 767 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
documentdb-collection-admin
Database, collection, and user administration on a DocumentDB (MongoDB-compatible, PostgreSQL-backed) server via the documentdb-mcp MCP server — list/create/drop/rename databases and collections, and manage database users and their roles. Use when the agent must provision or tear down namespaces, enumerate the…
documentdb-document-crud
Document create/read/update/delete operations on a DocumentDB (MongoDB-compatible, PostgreSQL-backed) collection via the documentdb-mcp MCP server — insert one/many, find with filter/sort/skip/limit, update/replace one/many, delete, count, and the atomic find-and-modify variants. Use when the agent must read or mutate…
jellyfin-kg-ingestion
Natively ingest a Jellyfin library into the epistemic-graph knowledge graph via the jellyfin-mcp MCP server — push library items as typed :MediaAsset/:Book nodes with :hasGenre/:performedBy/:authoredBy links and item overviews as searchable :Document nodes (jellyfiningestlibrary), and item posters as content-addressed…
jellyfin-library-catalog
Browse and search a Jellyfin media library via the jellyfin-mcp MCP server — list library items (movies, series, episodes, audio, books), fetch one item by id, walk collections and user views, and run search hints with the domain-typed jellyfinlibrary tool. Use when the agent must find or enumerate catalog items…
jellyfin-media-playback
Stream and control Jellyfin playback and browse music via the jellyfin-mcp MCP server — list artists, albums, and music genres, resolve audio/video streams, manage playlists, and drive playstate (play, mark played, report progress) with the domain-typed jellyfinmedia tool. Use when the agent must start or control…
documentdb-aggregation-analytics
Read-only analytics on a DocumentDB (MongoDB-compatible, PostgreSQL-backed) collection via the documentdb-mcp MCP server — run aggregation pipelines ($match/$group/$sort/…) and fetch distinct field values. Use when the agent must summarize, group, or profile documents rather than fetch individual rows. Do NOT use for…