Pipelock Security Assessment

D
Scored 64/100. Overall security posture: D.
Run ID: 3fb02d78-a73c-40b4-8227-d6fb0cc5c335 | 2026-10-03 02:12:11 UTC | v3.6.0

Scope: Config Posture audits the supplied configuration, including MCP feature settings. It does not establish protection for discovered MCP servers. MCP discovery was skipped, so MCP Protection is excluded from the overall score. The config_valid deployment check confirms that the configuration loads; its PASS does not mean HTTPS content inspection is enabled. This sample leaves TLS interception disabled, with the resulting inspection limits listed under deployment verification.

Assessment Details

PLATFORM
linux/amd64
PIPELOCK VERSION
v3.6.0
CONFIG FILE
balanced.yaml
CONFIG HASH
907c7f31920d...
SCORING VERSION
2
LICENSE
assess
GIT COMMIT
3e868ac5d5b6...
ASSESSED
2026-10-03 02:12:11 UTC

Methodology

Detection Coverage (25%)Simulated attacks against the scanner pipeline Config Posture (25%)Security feature enablement and configuration strength Deployment Verification (30%)Live probe of scanning pipeline and network containment MCP Protection (20%)MCP server discovery and protection coverage

Grades: A (90-100), B (80-89), C (70-79), D (60-69), F (0-59). Critical exposures cap the grade regardless of numeric score.

Assessment Sections

Section Score Grade Detail
Config Posture
51/100
F 87/170 points
Deployment Verification
50/100
F 6/12 applicable checks passed
Detection Coverage
95/100
A 22/23 scenarios detected
MCP Protection
N/A
N/A MCP discovery was skipped; this category is excluded from scoring.

Attack Simulation (22/26 detected, 3 known limitations)

22
DETECTED
1
MISSED
3
KNOWN LIMITS
Scenario Category Result Detail
AWS access key in URL path DLP Exfiltration DETECTED core_dlp
Base64-encoded GitHub token DLP Exfiltration DETECTED core_dlp
Hex-encoded Slack token DLP Exfiltration DETECTED core_dlp
Anthropic API key in text body DLP Exfiltration DETECTED 2 matches
OpenAI API key in URL DLP Exfiltration DETECTED dlp
Private key (WIF format) in URL DLP Exfiltration DETECTED dlp
Classic instruction override Prompt Injection DETECTED Prompt Injection, System Prompt Disclosure
Leetspeak evasion Prompt Injection DETECTED Prompt Injection, System Prompt Disclosure
Base64-wrapped injection Prompt Injection DETECTED Prompt Injection
Credential solicitation Prompt Injection MISSED
Memory persistence directive Prompt Injection DETECTED Memory Persistence Directive, Memory Persistence Clause
Role override (DAN jailbreak) Prompt Injection DETECTED Role Override
IMPORTANT tag in description Tool Poisoning DETECTED 1 matches
Exfiltration in schema default Tool Poisoning DETECTED 1 matches
Cross-tool manipulation Tool Poisoning DETECTED 1 matches
Vendor extension with instructions Tool Poisoning DETECTED 1 matches
URL-encoded secret in path URL Evasion DETECTED core_dlp
CRLF injection in URL URL Evasion DETECTED crlf_injection
Overlong URL URL Evasion DETECTED length
Path traversal URL Evasion DETECTED path_traversal
ETH address in text body Address Poisoning DETECTED 2 matches
Lookalike ETH address (homoglyph) Address Poisoning KNOWN LIMITATION 2 matches
12-word BIP-39 mnemonic Seed Phrase DETECTED 1 matches
Hidden privilege escalation in skill body Skill Poisoning KNOWN LIMITATION missed by DLP; response-scanning required
Secret split across two text scans Split Payload KNOWN LIMITATION partial1=0 partial2=0
Mixed-encoding chain (URL-encoded base64 of secret) URL Evasion DETECTED core_dlp

Configuration Audit (87/170 points)

DLP 15/15
66 patterns
Response Scanning 7/10
36 patterns, action=warn
MCP Tool Scanning 7/10
action=warn
MCP Tool Policy 15/15
30 rules
MCP Input Scanning 5/5
enabled
MCP Session Binding 0/5
not configured
Kill Switch 0/10
0 sources
Enforcement 8/10
mode=balanced, enforce=true
Domain Blocklist 5/5
6 entries
Adaptive Enforcement 5/5
enabled
Tool Chain Detection 3/5
partially configured
Sandbox 0/5
not configured
Live-Lock Contracts 0/10
not configured
Redaction 0/10
not configured
Browser Shield 0/5
not configured
Mediation Envelope 0/5
not configured
Flight Recorder 5/5
enabled
Request Body Scanning 7/10
partially configured
Cross-Request Detection 0/5
not configured
Address Protection 0/5
not configured
Seed-Phrase Detection 5/5
enabled
Git Protection 0/5
not configured
File Sentry 0/5
not configured

Deployment Verification (6 passed, 6 failed, 3 N/A)

PASS
config_valid
Config validated with warnings: tls_interception: TLS interception is disabled while the forward proxy accepts CONNECT tunnels. HTTPS traffic is not decrypted, so content scanning (request_body_scanning, response_scanning, path/query entropy, and body DLP) does not inspect HTTPS request paths, bodies, or responses. Pipelock still enforces controls that evaluate from CONNECT metadata or tunnel accounting (destination allowlist/blocklist, SSRF on the CONNECT host, rate limits, data budget, CONNECT handshake-header DLP, kill switch, and receipt gates); request_policy and contract rules that match inner HTTPS method, path, query, headers, or body require tls_interception. Enable tls_interception (and distribute its CA) to scan HTTPS content, or accept tunnel-level-only visibility for HTTPS content as a deliberate posture.
PASS
proxy_health
/health responded 200
PASS
fetch_dlp
DLP blocked secret exfiltration
PASS
forward_blocked
Blocklisted CONNECT rejected
FAIL
scanning_websocket
websocket_proxy is disabled in config
PASS
scanning_dlp
DLP caught secret in MCP input
FAIL
scanning_injection
injection detection did not trigger
PASS
scanning_policy
Tool policy denied rm -rf
FAIL
browser_shield
browser_shield is disabled in config
FAIL
file_sentry
file_sentry is disabled in config
FAIL
mcp_binary_integrity_smoke
mcp_binary_integrity is disabled in config
FAIL
mcp_tool_provenance_smoke
mcp_tool_provenance is disabled in config
N/A
no_direct_http
running on host; egress probes require container/pod boundary
N/A
no_direct_dns
running on host; egress probes require container/pod boundary
N/A
no_direct_https
running on host; egress probes require container/pod boundary

Findings (28)

HIGH 7
MEDIUM 12
INFO 9
Severity Category Source Title / Detail Remediation
HIGH Prompt Injection simulate
Attack scenario "Credential solicitation" not detected
{ "category": "Prompt Injection", "detected": false, "scenario": "Credential solicitation" }
Enable or strengthen the Prompt Injection scanner configuration. See pipelock documentation for recommended settings.
HIGH scanning verify_install
Verification check "browser_shield" failed: browser_shield is disabled in config
{ "check": "browser_shield", "detail": "browser_shield is disabled in config", "status": "fail" }
Investigate why the browser_shield check failed. Run `pipelock diagnose` for detailed diagnostics.
HIGH scanning verify_install
Verification check "file_sentry" failed: file_sentry is disabled in config
{ "check": "file_sentry", "detail": "file_sentry is disabled in config", "status": "fail" }
Investigate why the file_sentry check failed. Run `pipelock diagnose` for detailed diagnostics.
HIGH scanning verify_install
Verification check "mcp_binary_integrity_smoke" failed: mcp_binary_integrity is disabled in config
{ "check": "mcp_binary_integrity_smoke", "detail": "mcp_binary_integrity is disabled in config", "status": "fail" }
Investigate why the mcp_binary_integrity_smoke check failed. Run `pipelock diagnose` for detailed diagnostics.
HIGH scanning verify_install
Verification check "mcp_tool_provenance_smoke" failed: mcp_tool_provenance is disabled in config
{ "check": "mcp_tool_provenance_smoke", "detail": "mcp_tool_provenance is disabled in config", "status": "fail" }
Investigate why the mcp_tool_provenance_smoke check failed. Run `pipelock diagnose` for detailed diagnostics.
HIGH scanning verify_install
Verification check "scanning_injection" failed: injection detection did not trigger
{ "check": "scanning_injection", "detail": "injection detection did not trigger", "status": "fail" }
Investigate why the scanning_injection check failed. Run `pipelock diagnose` for detailed diagnostics.
HIGH scanning verify_install
Verification check "scanning_websocket" failed: websocket_proxy is disabled in config
{ "check": "scanning_websocket", "detail": "websocket_proxy is disabled in config", "status": "fail" }
Investigate why the scanning_websocket check failed. Run `pipelock diagnose` for detailed diagnostics.
MEDIUM Kill Switch audit_score
No kill switch sources configured — no emergency stop capability
Configure kill switch with multiple sources (config, API, sentinel file).
MEDIUM MCP Tool Policy audit_score
Rule "Recursive Permission Change" matches high-risk tools but effective action is "warn" — consider 'block'
Add tool policy rules to restrict dangerous tool calls. See docs/configuration.md.
MEDIUM MCP Tool Policy audit_score
Rule "Network Exfiltration" matches high-risk tools but effective action is "warn" — consider 'block'
Add tool policy rules to restrict dangerous tool calls. See docs/configuration.md.
MEDIUM MCP Tool Policy audit_score
Rule "Package Install" matches high-risk tools but effective action is "warn" — consider 'block'
Add tool policy rules to restrict dangerous tool calls. See docs/configuration.md.
MEDIUM MCP Tool Policy audit_score
Rule "Detached Process Spawning" matches high-risk tools but effective action is "warn" — consider 'block'
Add tool policy rules to restrict dangerous tool calls. See docs/configuration.md.
MEDIUM MCP Tool Policy audit_score
Rule "Audit Log Delete" matches high-risk tools but effective action is "warn" — consider 'block'
Add tool policy rules to restrict dangerous tool calls. See docs/configuration.md.
MEDIUM MCP Tool Policy audit_score
Rule "Audit Log Write" matches high-risk tools but effective action is "warn" — consider 'block'
Add tool policy rules to restrict dangerous tool calls. See docs/configuration.md.
MEDIUM MCP Tool Policy audit_score
Rule "Audit Log Tampering" matches high-risk tools but effective action is "warn" — consider 'block'
Add tool policy rules to restrict dangerous tool calls. See docs/configuration.md.
MEDIUM MCP Tool Scanning audit_score
Tool scanning action is "warn" — poisoned tool descriptions won't be blocked
Enable MCP tool scanning with `mcp_tool_scanning: {enabled: true, action: block}`.
MEDIUM Redaction audit_score
Redaction is disabled — provider request/response bodies are not class-preserved
Enable class-preserving redaction with `redaction: {enabled: true, default_profile: <profile>}`. Configure a default profile and dictionaries, then set `strict_reload: true` for fail-closed dictionary failures.
MEDIUM Request Body Scanning audit_score
Request body scanning action is "warn" — consider 'block' for enforcement
Enable request body scanning with `request_body_scanning: {enabled: true, action: block, scan_headers: true}` to catch secrets in POST/PUT bodies and authorization headers.
MEDIUM Response Scanning audit_score
Response scanning action is "warn" — consider 'block' or 'ask' for enforcement
Enable response scanning with `response_scanning: {enabled: true, action: block}`.
INFO Address Protection audit_score
Address protection is disabled — blockchain address poisoning is not detected
Enable blockchain address protection with `address_protection: {enabled: true, action: block, unknown_action: block, allowed_addresses: [<your-addresses>]}`.
INFO Browser Shield audit_score
Browser shield is disabled — fetch responses are not stripped of DOM traps or tracking pixels
Enable browser shield with `browser_shield: {enabled: true, strictness: standard}`. Use `aggressive` for sensitive fetch destinations.
INFO Cross-Request Detection audit_score
Cross-request detection is disabled — secrets split across multiple requests will not be reassembled
Enable cross-request detection with `cross_request_detection: {enabled: true, entropy_budget: {enabled: true}, fragment_reassembly: {enabled: true}}` to catch secrets split across requests.
INFO File Sentry audit_score
File sentry is disabled — filesystem-watch DLP is inactive
Enable filesystem-watch DLP with `file_sentry: {enabled: true, watch_paths: [<sensitive-paths>]}`.
INFO Git Protection audit_score
Git protection is disabled — pre-push secret scans and command gating are inactive
Enable git-aware protection with `git_protection: {enabled: true, pre_push_scan: true, blocked_commands: ["force-push"]}`.
INFO Live-Lock Contracts audit_score
Live-lock contracts are disabled — agent behavior drift is not gated
Enable the live-lock contract gate with `learn_lock: {enabled: true, mode: live}`. Use `mode: shadow` first to observe drift before flipping to enforcement.
INFO MCP Session Binding audit_score
MCP session binding is disabled — tool inventory changes mid-session won't be detected
Enable session binding with `mcp_session_binding: {enabled: true}`.
INFO Mediation Envelope audit_score
Mediation envelope is disabled — no federation verification of inbound or signed receipts on outbound
Enable mediation envelope with `mediation_envelope: {enabled: true, sign: true, signing_key_path: <ed25519-key>}` to produce signed receipts that downstream verifiers can attest.
INFO Sandbox audit_score
Sandbox is not enabled — agent processes run without containment
Enable sandbox mode with `sandbox: {enabled: true}` in your pipelock config.

Priority Actions

1 Enable or strengthen the Prompt Injection scanner configuration. See pipelock documentation for recommended settings.
2 Investigate why the browser_shield check failed. Run `pipelock diagnose` for detailed diagnostics.
3 Configure kill switch with multiple sources (config, API, sentinel file).
4 Add tool policy rules to restrict dangerous tool calls. See docs/configuration.md.
5 Enable MCP tool scanning with `mcp_tool_scanning: {enabled: true, action: block}`.

Verification

SIGNED Ed25519 Digital Signature
Run ID
3fb02d78-a73c-40b4-8227-d6fb0cc5c335
Config Hash
907c7f31920d...
pipelock assess verify <run-dir> --agent <agent-name>