network-exposure-baseline

Enforce network bind allowlists with Tier 3 justification and TTL requirements.

11|1|Updated Apr 10, 2026
One-click install
npx skills add https://github.com/Arcanada-one/datarim --skill network-exposure-baseline
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: network-exposure-baseline
Source: https://github.com/Arcanada-one/datarim/tree/main/skills/network-exposure-baseline
Command: npx skills add https://github.com/Arcanada-one/datarim --skill network-exposure-baseline

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill prevents breaches-by-default by enforcing an explicit, time-bounded allowlist/blocklist for network bind targets before any port or listener change.

Core Features & Use Cases

  • Tiered exposure policy (Tier 0–3): Automatically classifies bind targets such as loopback, Tailscale ranges, and public/public-internet listeners, making “safe-by-default” the default path.
  • Justification + TTL gate for public exposure (Tier 3): Requires an exposure justification plus an x-exposure-expires date that must be unexpired and ≤ 90 days from the file’s last modification time.
  • Verifier integration across common surfaces: Enforces policy across docker-compose.yml ports, redis.conf bind/protected-mode, postgresql.conf listen addresses, systemd .socket ListenStream, firewall/UFW rules, and runtime bind arguments.
  • Pipeline consumption for consistent enforcement: Used by PRD/plan/do/archive pipeline stages to warn, hard-block, and validate that Tier 3 justifications remain current.

Quick Start

Load the network-exposure-baseline skill before editing docker-compose.yml, redis.conf, postgresql.conf, systemd .socket units, or firewall rules that change any bind or published port.

Frequently Asked Questions about network-exposure-baseline

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prevent accidental public network exposure in docker-compose ports mappings?

To prevent accidental public network exposure in docker-compose ports mappings, classify bind targets using an allowlist and blocklist that enforces safe defaults like loopback or Tailscale ranges. It blocks public listeners without a valid justification and validates ports and expose mappings against a tiered policy.

What is a Tier 3 justification and TTL requirement for public network exposure?

A Tier 3 justification for public network exposure requires an explanation plus an unexpired x-exposure-expires date that is 90 days or less from the file's last modification time. It enforces time-bounded public listener rules across Redis, Postgres, and Docker configurations.

How do I secure Redis and Postgres listener settings against public bind targets?

Secure Redis and Postgres listener settings by parsing redis.conf bind and protected-mode alongside postgresql.conf listen addresses to classify targets into tiered exposure levels. It enforces a fail-closed blocklist for malformed or missing network bind justifications.

Does the network exposure baseline support systemd socket activation and UFW firewall rules?

Yes, the network exposure baseline supports systemd socket activation and UFW firewall rules by parsing systemd .socket ListenStream units and firewall configurations to classify bind targets. It enforces allowlist and blocklist policies across these infrastructure surfaces.

What happens if a public port exposure justification is missing or malformed?

If a public port exposure justification is missing or malformed, the verifier scripts enforce fail-closed behavior by hard-blocking the configuration change. This prevents breaches-by-default by rejecting invalid or unclassified network bind targets.