Install
openclaw skills install containerlintDocker & container security anti-pattern analyzer -- detects Dockerfile issues, missing health checks, resource limit gaps, privileged containers, insecure networking, and orchestration anti-patterns
openclaw skills install containerlintContainerLint scans codebases for Docker and container security anti-patterns, Dockerfile issues, missing health checks, resource limit gaps, privileged containers, insecure networking, and orchestration misconfigurations. It uses regex-based pattern matching against 90 container-specific patterns across 6 categories, lefthook for git hook integration, and produces markdown reports with actionable remediation guidance. 100% local. Zero telemetry.
containerlint scan [file|directory]One-shot container security scan of files or directories.
How to execute:
bash "<SKILL_DIR>/scripts/dispatcher.sh" --path [target]
What it does:
Example usage scenarios:
containerlint scan .containerlint scan docker-compose.ymlcontainerlint scan .containerlint scan .containerlint scan .containerlint scan --tier pro [file|directory]Extended scan with 60 patterns covering Dockerfile, security context, health checks, and resource management.
How to execute:
bash "<SKILL_DIR>/scripts/dispatcher.sh" --path [target] --tier pro
What it does:
containerlint scan --format json [directory]Generate JSON output for CI/CD integration.
bash "<SKILL_DIR>/scripts/dispatcher.sh" --path [directory] --format json
containerlint scan --format html [directory]Generate HTML report for browser viewing.
bash "<SKILL_DIR>/scripts/dispatcher.sh" --path [directory] --format html
containerlint scan --category HC [directory]Filter scan to a specific check category (DF, SC, HC, RS, NW, OR).
bash "<SKILL_DIR>/scripts/dispatcher.sh" --path [directory] --category HC
containerlint scan --tier team [directory]Full scan with all 90 patterns across all 6 categories including networking and orchestration.
How to execute:
bash "<SKILL_DIR>/scripts/dispatcher.sh" --path [directory] --tier team
What it does:
containerlint scan --verbose [directory]Verbose output showing every matched line and pattern details.
bash "<SKILL_DIR>/scripts/dispatcher.sh" --path [directory] --verbose
containerlint statusShow license and configuration information.
bash "<SKILL_DIR>/scripts/dispatcher.sh" status
ContainerLint detects 90 container security anti-patterns across 6 categories:
| Category | Code | Patterns | Description | Severity Range |
|---|---|---|---|---|
| Dockerfile Best Practices | DF | 15 | Missing USER directive, ADD instead of COPY, latest tag, missing .dockerignore patterns, multiple FROM without alias | medium -- high |
| Security Context | SC | 15 | Privileged mode, running as root, exposed secrets, capability escalation, no seccomp profile | high -- critical |
| Health & Readiness | HC | 15 | No HEALTHCHECK, missing readiness probes, no liveness checks, no startup probes | medium -- high |
| Resource Management | RS | 15 | No resource limits, no memory limits, no CPU limits, unbounded storage, no ephemeral storage limits | medium -- high |
| Networking & Exposure | NW | 15 | Exposing all ports, host networking, no network policy, publishing on 0.0.0.0, insecure registries | medium -- critical |
| Orchestration & Compose | OR | 15 | No restart policy, no replicas, hardcoded IPs in compose, no volume mounts for secrets, latest tag in compose | low -- high |
| Tier | Patterns | Categories |
|---|---|---|
| Free | 30 | DF, SC |
| Pro | 60 | DF, SC, HC, RS |
| Team | 90 | DF, SC, HC, RS, NW, OR |
| Enterprise | 90 | DF, SC, HC, RS, NW, OR + priority support |
ContainerLint uses a deductive scoring system starting at 100 (perfect):
| Severity | Point Deduction | Description |
|---|---|---|
| Critical | -25 per finding | Severe security vulnerability (privileged mode, exposed secrets) |
| High | -15 per finding | Significant security problem (running as root, no resource limits) |
| Medium | -8 per finding | Moderate concern (latest tag, missing health check) |
| Low | -3 per finding | Informational / best practice suggestion |
| Grade | Score Range | Meaning |
|---|---|---|
| A | 90-100 | Excellent container security |
| B | 80-89 | Good security with minor issues |
| C | 70-79 | Acceptable but needs improvement |
| D | 60-69 | Poor container security |
| F | Below 60 | Critical security problems |
Users can configure ContainerLint in ~/.openclaw/openclaw.json:
{
"skills": {
"entries": {
"containerlint": {
"enabled": true,
"apiKey": "YOUR_LICENSE_KEY_HERE",
"config": {
"severityThreshold": "medium",
"ignorePatterns": ["**/test/**", "**/fixtures/**", "**/*.test.*"],
"ignoreChecks": [],
"reportFormat": "text"
}
}
}
}
}
The user might say things like: