container-hardening — скилл для Claude Code: что делает
Настраивает запуск контейнеров без root-прав, монтирует файловую систему только для чтения и формирует манифесты Kubernetes securityContext.
npx skills add BagelHole/DevOps-Security-Agent-Skills --skill container-hardening -a claude-codeЧто делает container-hardening
Скилл добавляет шаблоны для безопасной сборки образов и запуска контейнеров. Внутри собраны готовые фрагменты Dockerfile с созданием непривилегированного пользователя с UID 1001, сбросом пакетов сборки и переключением на директиву USER.
Для среды выполнения скилл задаёт параметры docker run: монтирование корня в режиме --read-only, сброс системных привилегий через --cap-drop=ALL и запрет эскалации прав. Отдельный блок описывает секцию securityContext для подов Kubernetes и проверку образов через сканер уязвимостей Trivy.
Если сервису требуется запись во всю файловую систему, контейнер упадёт. Потребуется явно настроить временные хранилища вроде --tmpfs /tmp под конкретные каталоги.
Какие задачи решает
- перевести Dockerfile на непривилегированного пользователя
- отключить лишние Linux capabilities в docker run
- прописать securityContext для подов Kubernetes
- настроить проверку образов через Trivy
Примеры запросов агенту
- Перепиши мой
Dockerfileпод запуск от непривилегированного пользователя. - Добавь в манифест Kubernetes параметры
securityContextс запретом эскалации привилегий. - Покажи команду
docker runс флагом--read-onlyи сбросом всех capabilities.
Как установить container-hardening
1Через Skills CLI (Vercel)
npx skills add BagelHole/DevOps-Security-Agent-Skills --skill container-hardening -a claude-code2Вручную: положить файлы
~/.claude/skills/container-hardening/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/container-hardening/
1Через Skills CLI (Vercel)
npx skills add BagelHole/DevOps-Security-Agent-Skills --skill container-hardening -a codex2Вручную: положить файлы
.agents/skills/container-hardening/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add BagelHole/DevOps-Security-Agent-Skills --skill container-hardening -a cursor2Вручную: положить файлы
.cursor/skills/container-hardening/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install BagelHole/DevOps-Security-Agent-Skills container-hardening2Вручную: положить файлы
.github/skills/container-hardening/SKILL.md1Через Skills CLI (Vercel)
npx skills add BagelHole/DevOps-Security-Agent-Skills --skill container-hardening -a gemini-cli2Командой платформы
gemini skills install https://github.com/BagelHole/DevOps-Security-Agent-Skills --path security/hardening/container-hardeningВручную: положить файлы
.devin/skills/container-hardening/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add BagelHole/DevOps-Security-Agent-Skills --skill container-hardening -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о container-hardening
Как установить container-hardening в Claude Code?
Выполните команду npx skills add BagelHole/DevOps-Security-Agent-Skills --skill container-hardening -a claude-code.
Что делает скилл container-hardening?
Он предоставляет инструкции по защите образов Docker, настройке параметров изоляции рантайма и конфигурации securityContext в Kubernetes.
Какой сканер уязвимостей используется в примерах скилла?
В скилле показана команда сканирования образов утилитой Trivy с фильтрацией по уровням HIGH и CRITICAL.
Исходный текст
SKILL.md · MIT
---
name: container-hardening
description: Secure Docker images and container runtime configurations. Implement non-root users, read-only filesystems, and security contexts. Use when building secure container images or hardening container deployments.
license: MIT
metadata:
author: devops-skills
version: "1.0"
---
# Container Hardening
Secure container images and runtime configurations.
## When to Use This Skill
Use this skill when:
- Building secure container images
- Hardening container deployments
- Meeting container security requirements
- Implementing defense in depth
## Dockerfile Security
```dockerfile
# Use minimal base image
FROM alpine:3.18
# Don't run as root
RUN addgroup -g 1001 -S appgroup && \
adduser -u 1001 -S appuser -G appgroup
# Copy with specific ownership
COPY --chown=appuser:appgroup . /app
# Remove unnecessary packages
RUN apk del --purge build-dependencies && \
rm -rf /var/cache/apk/*
# Use non-root user
USER appuser
# Read-only filesystem support
WORKDIR /app
```
## Runtime Security
```bash
# Run with security options
docker run -d \
--read-only \
--tmpfs /tmp \
--security-opt=no-new-privileges:true \
--cap-drop=ALL \
--cap-add=NET_BIND_SERVICE \
--user 1001:1001 \
myapp:latest
```
## Kubernetes Security Context
```yaml
apiVersion: v1
kind: Pod
spec:
securityContext:
runAsNonRoot: true
runAsUser: 1001
fsGroup: 1001
containers:
- name: app
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop: ["ALL"]
```
## Image Scanning
```bash
# Scan with Trivy
trivy image --severity HIGH,CRITICAL myapp:latest
# Use distroless images
FROM gcr.io/distroless/static-debian11
```
## Best Practices
- Use minimal base images
- Run as non-root user
- Enable read-only filesystem
- Drop all capabilities
- Scan images regularly
- Sign and verify images
- Use secrets management
## Related Skills
- [container-scanning](../../scanning/container-scanning/) - Vulnerability scanning
- [kubernetes-hardening](../kubernetes-hardening/) - K8s security
© devops-skills · MIT · BagelHole/DevOps-Security-Agent-Skills