MCP HubMCP Hub
SKILL·37267D

security-baseline

rampstackco
업데이트됨 24 days ago
3 조회
953
132
953
GitHub에서 보기
메타design

정보

보안-기본 설정 스킬은 개발자가 프로덕션 사이트를 위한 기본 웹 보안 조치를 수립하고 검증하는 데 도움을 줍니다. HTTPS 구성, 보안 헤더, CSP, 비밀 관리 및 기본 감사 작업을 지원하여 출시 전 검토나 규정 준수 점검에 이상적입니다. 이 스택 독립적 도구는 보안 감사, HSTS, OWASP, 강화와 같은 용어로 트리거됩니다.

빠른 설치

Claude Code

추천
기본
npx skills add rampstackco/claude-skills -a claude-code
플러그인 명령대체
/plugin add https://github.com/rampstackco/claude-skills
Git 클론대체
git clone https://github.com/rampstackco/claude-skills.git ~/.claude/skills/security-baseline

Claude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요

문서

Security Baseline

Establish the security floor for any production website or web app. Stack-agnostic. Covers the things that should be in place before public launch and verified periodically after.


When to use

  • Pre-launch security review
  • Setting up a new site or environment
  • Periodic security audit (quarterly recommended)
  • Onboarding a new vendor or third-party integration
  • Responding to a security finding or report
  • Hardening after an incident

When NOT to use

  • Active incident response (use incident-response)
  • Code-level security review (use code-review-web)
  • Email-specific authentication (SPF/DKIM/DMARC) (use email-deliverability)
  • DNS-level security (CAA, DNSSEC) (use domain-strategy)
  • Performance-related security (DDoS protection sizing) (use performance-optimization)

Required inputs

  • The site or app in scope (URLs, environments)
  • The hosting platform and CDN
  • Authentication method (if any)
  • Third-party scripts and integrations
  • Compliance context (PCI, SOC2, GDPR, etc., if applicable)
  • Existing security tooling

The framework: 6 layers

Security is layered. Each layer addresses a different attack surface.

Layer 1: Transport security

How data moves from server to client.

  • HTTPS everywhere. No HTTP variants serving content.
  • TLS 1.2 minimum, TLS 1.3 preferred. Disable TLS 1.0 and 1.1.
  • HSTS (Strict-Transport-Security) header set, with includeSubDomains and preload for high-confidence sites.
  • Strong cipher suites only. Modern browsers handle this if you pick a modern config from your provider.
  • Certificates from a trusted CA, monitored for expiration.

Layer 2: Response headers

What the browser is told about your site.

HeaderPurposeDefault value
Strict-Transport-SecurityForce HTTPSmax-age=31536000; includeSubDomains
Content-Security-PolicyRestrict resource loadingSite-specific
X-Content-Type-OptionsPrevent MIME sniffingnosniff
X-Frame-OptionsClickjacking protectionDENY or SAMEORIGIN
Referrer-PolicyControl referrer infostrict-origin-when-cross-origin
Permissions-PolicyControl browser featuresSite-specific (camera, mic, etc.)
Cross-Origin-Opener-PolicyProcess isolationsame-origin (where compatible)
Cross-Origin-Embedder-PolicyCross-origin restrictionsrequire-corp (where applicable)

CSP deserves its own attention. See the framework section below.

Layer 3: Authentication and authorization

How users prove who they are and what they can do.

  • Strong password requirements (length over complexity rules; allow long passphrases)
  • Account lockout or rate limiting on login
  • 2FA available, required for admin accounts
  • Session tokens: short-lived, secure, HttpOnly cookies
  • Logout invalidates tokens server-side, not just client-side
  • Password reset flows that don't reveal account existence
  • Authorization checked on every request (don't rely on UI hiding)

Layer 4: Input handling

How untrusted input is processed.

  • Validate on the server (client validation is UX, not security)
  • Parameterized queries for any database access (no string concatenation into SQL)
  • Output encoding by context (HTML, JS, URL, CSS)
  • File upload restrictions (type, size, location, scanning)
  • Rate limiting on endpoints that could be abused
  • CSRF tokens on state-changing requests

Layer 5: Secrets management

Where credentials and keys live.

  • No secrets in code, config files in repos, or environment variables baked into images
  • Secrets in a dedicated secrets manager
  • Different secrets per environment (no shared dev/prod secrets)
  • Rotation schedule documented and followed
  • Audit log of secret access
  • Limited blast radius (each service has its own credentials, scoped narrowly)

Layer 6: Operational security

How the team operates.

  • Access controls reviewed quarterly (offboard immediately on departure)
  • 2FA enforced on every admin account (hosting, DNS, registrar, code host, deploy tools)
  • Audit logs enabled and reviewed
  • Vulnerability scanning (dependencies, containers, infrastructure)
  • Patch cadence defined
  • Incident response runbook exists (see incident-response)
  • Backups exist and are tested (see backup-and-disaster-recovery)
  • Security contact published (security.txt at /.well-known/security.txt)

Content Security Policy

CSP is the most powerful response header and the most often misconfigured. Worth its own treatment.

What CSP does

CSP tells the browser which sources are allowed for various resource types: scripts, styles, images, frames, connections, etc. A strict CSP prevents most XSS attacks even when input handling has bugs.

Two flavors

Strict CSP (recommended): uses nonce- or hash- based source allowlists. Inline scripts must be explicitly allowed via nonce.

Content-Security-Policy: script-src 'self' 'nonce-{random}' 'strict-dynamic'; object-src 'none'; base-uri 'self';

Allowlist CSP (legacy): lists allowed domains. Easier to set up, much weaker.

Content-Security-Policy: script-src 'self' https://trusted.com; ...

Strict CSP requires application changes (every inline script needs a nonce). The investment pays off.

Roll out CSP gradually

  1. Start with Content-Security-Policy-Report-Only to log violations without blocking.
  2. Set up a violation report endpoint.
  3. Watch for legitimate violations (third-party scripts, inline handlers).
  4. Tune the policy.
  5. Switch to enforcing mode once violations are mostly false positives.
  6. Continue monitoring violation reports for new issues.

Common CSP mistakes

  • unsafe-inline in script-src. Defeats most of CSP's value.
  • unsafe-eval in script-src. Often required by older libraries; refactor or replace.
  • Wildcard sources (*). Defeats the policy.
  • Allowing CDNs that host arbitrary user content. Attackers can upload scripts to the CDN.
  • Not restricting frame-ancestors. Use this for clickjacking defense (more flexible than X-Frame-Options).

Workflow

Step 1: Run a baseline scan

Use a free scanner: securityheaders.com, or the MDN HTTP Observatory at developer.mozilla.org/en-US/observatory. Get a current grade. This is the floor. If no scan result can be obtained, state the gap per the data-availability rule.

Step 2: Inventory the surface

  • Domains and subdomains in scope
  • Public endpoints (forms, APIs)
  • Authentication entry points
  • Admin interfaces
  • Third-party integrations and their permissions

Step 3: Audit each layer

Walk the 6 layers. For each, document:

  • What's in place
  • What's missing
  • Risk level (high, medium, low)

Step 4: Prioritize

High risk, easy fixes go first:

  • HSTS not set
  • Default headers missing
  • Admin without 2FA
  • Old TLS versions enabled

Medium risk, medium fixes next:

  • CSP rollout
  • Input validation gaps
  • Secret management improvements

Low risk, nice-to-haves last:

  • Permissions-Policy refinements
  • Optional headers (Cross-Origin-* family)

Step 5: Implement and verify

For each fix:

  • Make the change
  • Test in a non-production environment
  • Verify with a scanner
  • Roll out
  • Re-verify in production

Step 6: Set up monitoring

  • Certificate expiration alerts
  • CSP violation reporting
  • Failed login monitoring
  • Unusual admin activity alerts
  • Dependency vulnerability alerts (Dependabot, Snyk, or equivalent)

Step 7: Document the baseline

Write a security baseline document. It says what's expected on every site:

  • Required headers
  • Required configurations
  • Required practices

New sites get audited against this. Existing sites get re-audited periodically.

Step 8: Schedule review

Quarterly is the floor. Add reviews after major changes or incidents.


Common compliance touchpoints

Not legal advice. Surfaces where security baseline meets compliance requirements:

  • PCI DSS (if handling payment cards): much more involved than baseline. The baseline is a starting point, not sufficient.
  • SOC 2: baseline aligns with most CC controls (CC6 series). Documented baseline plus evidence of execution is the audit ask.
  • GDPR / privacy regs: baseline supports security obligations (Article 32). Privacy is broader than security.
  • HIPAA, HITRUST, FedRAMP: baseline is necessary, far from sufficient. Get specialized help.

When compliance applies, the baseline is necessary but not the full answer.


Failure patterns

HSTS without includeSubDomains. Attacker tricks browser into HTTP on a subdomain you haven't HTTPS'd yet.

HSTS preload without commitment. Once preloaded, removing it takes months to reach users through a Chrome update, with no guarantee for other browsers. Don't preload until HTTPS is solid across all subdomains forever.

CSP with unsafe-inline. Defeats most of CSP. Either go strict (nonce-based) or accept that CSP is providing limited protection.

Default headers missing. X-Content-Type-Options, X-Frame-Options, Referrer-Policy are easy and free. Set them.

Admin without 2FA. The single most common high-impact vulnerability across small teams. Fix today.

Secrets in environment variables baked into images. Anyone with image access has the secrets. Use a runtime secret manager.

No security.txt. Researchers find issues; they need somewhere to report. Publish a security.txt at /.well-known/security.txt.

Old TLS versions enabled. Disable TLS 1.0 and 1.1. Most providers offer this as a checkbox.

CDN allowing arbitrary inline scripts via misconfigured CSP. The CDN proxies user content; attackers leverage that. Audit the CSP against actual loaded resources.

No incident response plan. When (not if) something happens, no runbook = chaos. See incident-response.

Vulnerability scanning without remediation. Reports pile up. The scan is theater unless someone fixes findings.

Penetration test ignored. Pen test report sits on a shelf. Test results without remediation are worse than no test.


Output format

A security baseline document includes:

  • Inventory: what's in scope
  • Layer-by-layer status: what's in place, what's missing
  • Required headers: with values, applied per environment
  • Required configurations: TLS, secrets, auth
  • Required operational practices: access reviews, patch cadence, audit logging
  • Findings: prioritized list of gaps
  • Remediation plan: owners, dates
  • Re-audit cadence: when this is reviewed next

If required data is unavailable

This skill's output depends on data, measurements, or tool results it cannot generate on its own. When a required input, tool, or data source is unavailable or unverifiable, the sanctioned output is the deliverable with the gap stated: what was needed, what was actually obtained or verified, and which parts of the output are affected. Fabricating, estimating, or interpolating a required number to complete the deliverable is never sanctioned. A stated gap is a complete answer.


Reference files

GitHub 저장소

rampstackco/claude-skills
경로: dist/codex/.agents/skills/security-baseline
0
agent-skillsai-agentsanthropicclaudeclaude-aiclaude-code
FAQ

자주 묻는 질문

security-baseline Skill이란 무엇인가요?

security-baseline은(는) rampstackco이(가) 만든 Claude Skill입니다. Skill은 Claude가 필요할 때 불러오는 지침과 리소스를 묶어 추가 프롬프트 없이 security-baseline 관련 작업을 수행할 수 있게 합니다.

security-baseline은(는) 어떻게 설치하나요?

이 페이지의 설치 명령을 사용하세요. security-baseline을(를) Claude Code 플러그인으로 추가하거나 저장소를 skills 디렉터리에 복제한 다음 Claude를 다시 시작해 Skill을 불러옵니다.

security-baseline은(는) 어떤 카테고리에 속하나요?

security-baseline은(는) 메타 카테고리에 속합니다.

security-baseline은(는) 무료로 사용할 수 있나요?

네. security-baseline은(는) AIMCP에 등록되어 있으며 무료로 설치할 수 있습니다.

연관 스킬

content-collections
메타

이 스킬은 콘텐츠 콜렉션(Content Collections)을 위한 프로덕션 검증된 설정을 제공합니다. 콘텐츠 콜렉션은 Markdown/MDX 파일을 Zod 검증이 포함된 타입 안전한 데이터 콜렉션으로 변환해주는 TypeScript 최우선 도구입니다. 블로그, 문서 사이트 또는 콘텐츠 중심의 Vite + React 애플리케이션을 구축할 때 타입 안전성과 자동 콘텐츠 검증을 보장하기 위해 사용하세요. Vite 플러그인 구성과 MDX 컴파일부터 배포 최적화 및 스키마 검증에 이르기까지 모든 것을 다룹니다.

스킬 보기
polymarket
메타

이 스킬은 개발자들이 Polymarket 예측 시장 플랫폼을 활용한 애플리케이션을 구축할 수 있도록 지원하며, 거래 및 시장 데이터를 위한 API 통합 기능을 포함합니다. 또한 WebSocket을 통한 실시간 데이터 스트리밍을 제공하여 실시간 거래와 시장 활동을 모니터링할 수 있습니다. 이를 통해 거래 전략을 구현하거나 실시간 시장 업데이트를 처리하는 도구를 생성하는 데 활용할 수 있습니다.

스킬 보기
creating-opencode-plugins
메타

이 스킬은 개발자들이 명령어, 파일, LSP 작업 등 25개 이상의 이벤트 유형에 연결되는 OpenCode 플러그인을 만들 수 있도록 돕습니다. JavaScript/TypeScript 모듈을 위한 플러그인 구조, 이벤트 API 명세, 구현 패턴을 제공합니다. OpenCode AI 어시스턴트의 라이프사이클을 사용자 정의 이벤트 기반 로직으로 가로채거나, 모니터링하거나, 확장해야 할 때 사용하세요.

스킬 보기
sglang
메타

SGLang은 RadixAttention 프리픽스 캐싱을 활용하여 JSON, 정규식, 에이전트 워크플로우를 위한 고속 구조화 생성에 특화된 고성능 LLM 서빙 프레임워크입니다. 특히 반복되는 프리픽스가 있는 작업에서 상당히 빠른 추론 속도를 제공하여 복잡한 구조화 출력 및 다중 턴 대화에 이상적입니다. 제약 디코딩이 필요하거나 광범위한 프리픽스 공유가 있는 애플리케이션을 구축할 때는 vLLM과 같은 대안보다 SGLang을 선택하십시오.

스킬 보기