Install
openclaw skills install dcl-secret-leak-detectorInstruction-only runtime secret and credential leak detector for AI agents and LLM pipelines. Catches API keys, tokens, private keys, database URLs, and .env...
openclaw skills install dcl-secret-leak-detectorPublisher: @daririnch · Fronesis Labs
Version: 1.0.0
Part of: Leibniz Layer™ Security Suite
DCL Secret Leak Detector scans AI agent outputs, tool results, and pipeline data for exposed secrets and credentials — before they reach users, logs, or downstream systems.
This skill is 100% instruction-only. No text is sent to any external server. No webhook is called. The entire analysis runs inside the agent's context window using the detection checklist below. The scanned text never leaves the agent.
Every detection produces a deterministic dcl_fingerprint — a self-contained audit proof compatible with the Leibniz Layer™ chain.
| Category | Pattern class |
|---|---|
api_key | Provider-prefixed keys: OpenAI, Anthropic, Stripe, GitHub, Slack patterns |
cloud_credential | AWS access key IDs, GCP service account fragments, Azure client secrets |
token | Bearer tokens, JWT strings, OAuth access tokens, high-entropy credential-context strings |
private_key_pem | PEM header/footer blocks for any private key type |
database_url | Connection strings with embedded credentials: proto://user:pass@host |
connection_string | ADO.NET, ODBC, SQLAlchemy strings containing password fields |
env_assignment | .env-style lines where variable name matches known secret patterns |
webhook_secret | Signed secrets for Stripe, GitHub, Twilio webhook endpoints |
internal_endpoint | URLs containing API keys or tokens as query parameters |
The user provides text to scan directly in the conversation — model output, tool result, generated code, retrieved document chunk, or any pipeline data. This skill makes no network requests and does not transmit content anywhere.
Verify the text to scan is present in the conversation. If not provided, ask the user to paste it.
content_hash = SHA-256(raw text submitted for scanning)
Record this as the immutable identifier for this scan event.
Work through every category in the Detection Checklist below. For each match found, record:
type — which category triggeredprovider — which service the credential belongs to (if identifiable)position — approximate character offset in the textredacted_sample — masked version showing only first 2 and last 4 charsseverity — critical, major, or minorIf no patterns match a category, mark it CLEAR.
| Condition | Verdict |
|---|---|
| Any finding at any severity | NO_COMMIT |
| No findings | COMMIT |
Any detected secret, regardless of severity, results in NO_COMMIT. Secrets have no safe threshold.
analysis_content = verdict + all findings serialized + timestamp
analysis_hash = SHA-256(analysis_content)
dcl_fingerprint = "DCL-SLD-" + date + "-" + content_hash[:8] + "-" + analysis_hash[:8]
Work through each item. Mark CLEAR or record finding with redacted evidence.
-----BEGIN + key type descriptor + ----------END + key type descriptor + -----:// + username + : + password + @ + hostUser ID= and Password= or Pwd= fieldsKEY, SECRET, TOKEN, PASS, PWD, CREDENTIAL, AUTHVARNAME=value where value is non-trivial (not placeholder, not empty).internal, .local, .corp, .intra) with auth query parametersapi_key=, apikey=, token=, secret=, or access_token= appears with a non-trivial value (Major){
"verdict": "COMMIT | NO_COMMIT",
"risk_score": 0.0,
"content_hash": "sha256:<64-char hex>",
"analysis_hash": "sha256:<64-char hex>",
"dcl_fingerprint": "DCL-SLD-2026-04-14-<content_hash[:8]>-<analysis_hash[:8]>",
"detections": [
{
"type": "api_key",
"provider": "identified provider name",
"redacted_sample": "[PREFIX]-****...****[SUFFIX]",
"position": 87,
"severity": "critical"
}
],
"detection_count": 0,
"categories_checked": ["S1","S2","S3","S4","S5","S6","S7","S8"],
"categories_clear": ["S1","S2","S3","S4","S5","S6","S7","S8"],
"timestamp": "2026-04-14T09:00:00Z",
"powered_by": "DCL Secret Leak Detector · Leibniz Layer™ · Fronesis Labs"
}
detections is an empty array [] when verdict is COMMIT.
These two skills are complementary, not competing. Run both.
| DCL Sentinel Trace | DCL Secret Leak Detector | |
|---|---|---|
| Focus | Personal identity data | Technical credentials |
| Catches | Emails, phones, SSNs, IBANs, card PANs | API keys, tokens, private keys, DB URLs |
| Regulation | GDPR, HIPAA | SOC 2, ISO 27001, internal SecOps |
| Primary risk | Privacy breach | Security breach / credential compromise |
| External calls | Via webhook | None — instruction-only |
A response can be PII-clean and still contain a live credential. Both checks are necessary for complete output coverage.
Untrusted input
│
▼
DCL Prompt Firewall ← blocks malicious input
│ COMMIT
▼
LLM call
│
▼
DCL Policy Enforcer ← compliance & jailbreak check
│ COMMIT
▼
DCL Sentinel Trace ← PII redaction
│ COMMIT
▼
DCL Secret Leak Detector ← credential & secret scan (instruction-only)
│ COMMIT
▼
DCL Output Sanitizer ← final sweep: toxic, unsafe commands
│ COMMIT
▼
DCL Semantic Drift Guard ← hallucination & grounding check
│ IN_COMMIT
▼
Safe to deliver
Coding agents — generate shell scripts, Dockerfiles, CI configs, Terraform. Common vector for hardcoded credentials appearing in generated output.
DevOps / infrastructure agents — read deployment configs, env files, Kubernetes secrets. May quote them verbatim in responses.
RAG pipelines over internal docs — internal wikis and runbooks routinely contain credentials left by engineers. Retrieved chunks can carry them into LLM context and outputs.
Tool-calling agents — an agent that calls an API internally may reproduce the key in its reasoning trace or final response.
This skill is operated by Fronesis Labs and is 100% instruction-only.
No data leaves the agent. The text submitted for scanning is analyzed entirely within the agent's context window. No content is transmitted to any server — including Fronesis Labs infrastructure.
No retention. Nothing is stored, logged, or transmitted. The only artifact produced is the structured JSON output and dcl_fingerprint, which remain within the agent's session unless the caller saves them.
Detected secrets: Only redacted samples are included in output. Raw credential values are never reproduced in the result.
Full policy: https://fronesislabs.com/#privacy · Browse the full DCL Security Suite: hub.fronesislabs.com · Questions: support@fronesislabs.com
dcl-sentinel-trace — PII redaction and identity exposure detectiondcl-prompt-firewall — Input-layer injection and jailbreak detectiondcl-output-sanitizer — Final output sweep: toxic content, unsafe commandsdcl-secret-leak-detector-crypto — Specialist version for wallet keys, seed phrases, exchange credentialsLeibniz Layer™ · Fronesis Labs · fronesislabs.com