Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问clear审计未展示

defense-in-depth纵深防御

Agent Skill

defense-in-depth 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

13,225

周安装

562

GitHub Stars

公开资料未说明

下载量

7,270
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:defense-in-depth(纵深防御)
来源仓库:https://github.com/chunkytortoise/enterprisehub
仓库路径:skills/defense-in-depth
安装命令:
npx skills add chunkytortoise/enterprisehub --skill "defense-in-depth"
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

AgentSkills.tonpx skills
npx skills add chunkytortoise/enterprisehub --skill "defense-in-depth"

简介

用于多维度信息检索与安全策略验证。defense-in-depth 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

  • 适合根据关键词快速定位候选结果并交叉核验。
  • 使用时需结合具体任务场景设定筛选条件。
  • 建议人工复核关键结论,避免仅依赖单一来源。
  • 安装前请确认是否触发网络请求或敏感数据访问。

SKILL.md

name
Defense in Depth
description
This skill should be used when implementing "multi-layer validation", "comprehensive error handling", "input sanitization", "security testing", "data validation layers", "fault tolerance", or when building robust systems with multiple validation checkpoints.
version
2.0.0

Defense in Depth: Multi-Layer Validation and Security

Overview

This skill implements comprehensive defense-in-depth strategies for robust applications. It provides multiple layers of validation, security checks, and error handling to ensure system resilience against various failure modes and attack vectors.

Progressive Disclosure: This file contains core concepts and quick reference patterns. For complete implementations, see reference/ directory.

When to Use This Skill

Use this skill when implementing:

  • Multi-layer input validation
  • Comprehensive error handling strategies
  • Security hardening with multiple checkpoints
  • Data integrity validation across system layers
  • Fault-tolerant system architectures
  • API security with multiple validation stages
  • Database security and data protection

Core Architecture: 5 Layers of Defense

┌─────────────────────────────────────────────────────┐
│  Layer 5: Application Security                      │
│  - Monitoring, anomaly detection, logging           │
├─────────────────────────────────────────────────────┤
│  Layer 4: API Security                              │
│  - JWT validation, rate limiting, permissions       │
├─────────────────────────────────────────────────────┤
│  Layer 3: Database Security                         │
│  - SQL injection prevention, safe queries           │
├─────────────────────────────────────────────────────┤
│  Layer 2: Business Logic Validation                 │
│  - Workflow validation, business rules              │
├─────────────────────────────────────────────────────┤
│  Layer 1: Input Validation                          │
│  - Type checking, sanitization, format validation   │
└─────────────────────────────────────────────────────┘

Quick Reference: Validation Patterns

Layer 1: Input Validation

Core Classes (see reference/input-validation-layer.md for complete implementation):

from dataclasses import dataclass
from enum import Enum
from typing import Any, List, Optional


class ValidationSeverity(Enum):
    INFO = "info"
    WARNING = "warning"
    ERROR = "error"
    CRITICAL = "critical"


@dataclass
class ValidationResult:
    """Standard validation result structure."""
    is_valid: bool
    errors: List[str]
    warnings: List[str]
    sanitized_data: Optional[Any] = None
    severity: ValidationSeverity = ValidationSeverity.INFO

Common Patterns:

# Email validation pattern
validator = InputValidator(strict_mode=True)
result = validator.validate_email(user_input)
if not result.is_valid:
    return handle_validation_error(result.errors)

# Numeric validation with bounds
result = validator.validate_numeric_input(
    value=user_input,
    min_value=0,
    max_value=1000000,
    allow_decimal=True
)

# HTML sanitization
result = validator.sanitize_html_input(user_content)
sanitized_html = result.sanitized_data

📖 Complete Implementation: reference/input-validation-layer.md

Layer 2: Business Logic Validation

Core Patterns (see reference/business-logic-validation.md):

# Registration workflow validation
business_validator = BusinessLogicValidator(config={
    'max_registration_attempts': 5,
    'registration_window_minutes': 60
})

result = business_validator.validate_registration_workflow(
    email=email,
    user_data=user_data,
    existing_attempts=attempts
)

# Transaction validation
result = business_validator.validate_transaction(
    transaction_type='withdrawal',
    amount=500.00,
    user_context=user_context,
    account_balance=1000.00
)

Key Features:

  • Rate limiting
  • Workflow state validation
  • Domain-specific business rules
  • Fraud detection patterns

📖 Complete Implementation: reference/business-logic-validation.md

Layer 3: Database Security

Core Patterns (see reference/database-security-layer.md):

from sqlalchemy.orm import Session

# Safe parameterized queries
db_security = DatabaseSecurityLayer(session)

result = db_security.safe_query(
    model=Lead,
    filters={'email': user_email, 'status': 'active'},
    order_by='created_at',
    limit=100
)

# Safe insert with validation
result = db_security.safe_insert(
    model=Lead,
    data={'email': email, 'name': name}
)

# Safe update with filters
result = db_security.safe_update(
    model=Lead,
    filters={'id': lead_id},
    updates={'status': 'qualified'}
)

Key Features:

  • SQL injection prevention
  • Parameterized queries only
  • Filter validation
  • Query logging for audit

📖 Complete Implementation: reference/database-security-layer.md

Layer 4: API Security

Core Patterns (see reference/api-security-layer.md):

# JWT token validation
api_security = APISecurityLayer(secret_key=settings.JWT_SECRET)

result = api_security.validate_jwt_token(token)
if result.is_valid:
    user_data = result.sanitized_data

# Rate limiting
result = api_security.check_rate_limit(
    identifier=f"{user_id}:{ip_address}",
    max_requests=100,
    window_seconds=60
)

# Complete request validation
result = api_security.validate_api_request(
    request=request,
    required_permissions=['leads:read', 'properties:read']
)

FastAPI Integration:

from fastapi import Depends

@app.get("/api/leads")
async def get_leads(
    user = Depends(api_security.require_auth),
    _rate_limit = Depends(api_security.rate_limit(100, 60))
):
    # Protected endpoint with auth and rate limiting
    pass

📖 Complete Implementation: reference/api-security-layer.md

Layer 5: Application Security

Core Patterns (see reference/application-security-layer.md):

# Security event logging
app_security = ApplicationSecurityLayer()

app_security.log_security_event(SecurityEvent(
    event_type=SecurityEventType.AUTH_FAILURE,
    severity=ValidationSeverity.WARNING,
    user_id=user_id,
    ip_address=ip_address,
    details={'reason': 'invalid_credentials'}
))

# Permission checking
result = app_security.check_user_permissions(
    user_id=user_id,
    resource='leads',
    action='delete',
    user_permissions=user.permissions
)

# Anomaly detection
result = app_security.detect_anomalous_behavior(
    user_id=user_id,
    current_behavior={
        'requests_per_minute': 150,
        'resources': ['leads', 'contacts', 'admin'],
        'location': 'RU'
    }
)

📖 Complete Implementation: reference/application-security-layer.md

GHL Real Estate Platform Integration

Project-Specific Implementation (see reference/ghl-real-estate-implementation.md):

Lead Registration with Full Defense-in-Depth

class LeadRegistrationSecurity:
    """Complete 5-layer validation for lead registration."""

    async def validate_and_register_lead(
        self,
        lead_data: Dict[str, Any],
        ghl_location_id: str,
        ip_address: str
    ) -> ValidationResult:
        # Layer 1: Input validation (email, phone, data)
        email_result = self.input_validator.validate_email(lead_data['email'])
        if not email_result.is_valid:
            return email_result

        # Layer 2: Business logic (rate limiting, domain checks)
        business_result = self.business_validator.validate_registration_workflow(
            email_result.sanitized_data,
            lead_data,
            existing_attempts
        )

        # Layer 3: Database security (safe insert)
        lead_id = await self._safe_insert_lead(lead_data, ghl_location_id)

        # Layer 4: API security (GHL webhook signature)
        await self._sync_to_ghl(lead_id, lead_data, ghl_location_id)

        # Layer 5: Application security (logging, monitoring)
        self.security_layer.log_security_event(...)

        return ValidationResult(True, [], [], {'lead_id': lead_id})

📖 Complete Implementation: reference/ghl-real-estate-implementation.md

Implementation Checklist

Use this checklist when implementing defense-in-depth:

Layer 1: Input Validation

  • [ ] Validate all string inputs (email, phone, text)
  • [ ] Sanitize HTML inputs with whitelist
  • [ ] Validate numeric inputs with bounds
  • [ ] Check input lengths to prevent buffer issues
  • [ ] Detect and reject dangerous patterns

Layer 2: Business Logic

  • [ ] Implement rate limiting for sensitive operations
  • [ ] Validate workflow states and transitions
  • [ ] Check domain-specific business rules
  • [ ] Validate time-based constraints
  • [ ] Implement fraud detection patterns

Layer 3: Database Security

  • [ ] Use parameterized queries exclusively
  • [ ] Validate filter inputs for SQL injection
  • [ ] Implement query logging for audit
  • [ ] Use transactions for consistency
  • [ ] Limit query result sizes

Layer 4: API Security

  • [ ] Validate JWT tokens on all protected endpoints
  • [ ] Implement rate limiting per user/IP
  • [ ] Check permissions for every operation
  • [ ] Validate request sizes and content types
  • [ ] Log authentication failures

Layer 5: Application Security

  • [ ] Log all security events with severity
  • [ ] Monitor for attack patterns
  • [ ] Implement anomaly detection
  • [ ] Validate sessions on every request
  • [ ] Maintain audit trail for compliance

Best Practices

1. Fail Secure

# ❌ BAD: Default to allowing access
def check_permission(user, resource):
    if user.is_admin():
        return True
    # Forgot to handle other cases - defaults to allowing!

# ✅ GOOD: Default to denying access
def check_permission(user, resource):
    if user.is_admin():
        return True
    if f"{resource}:read" in user.permissions:
        return True
    return False  # Explicit deny

2. Defense in Depth

Never rely on a single layer of validation:

# ✅ GOOD: Multiple validation layers
async def create_lead(lead_data: Dict):
    # Layer 1: Input validation
    if not validate_email(lead_data['email']):
        raise ValueError("Invalid email")

    # Layer 2: Business logic
    if not check_rate_limit(lead_data['email']):
        raise RateLimitError()

    # Layer 3: Database security
    await safe_insert(lead_data)

    # Layer 4: Application logging
    log_security_event('lead_created', lead_data['email'])

3. Structured Error Handling

Always return ValidationResult for consistent error handling:

# ✅ GOOD: Structured validation results
result = validator.validate_email(email)
if not result.is_valid:
    log_errors(result.errors, result.severity)
    return {'status': 'error', 'errors': result.errors}

# Use sanitized data only if valid
if result.is_valid:
    email = result.sanitized_data

4. Logging and Monitoring

# Log all security-relevant events
security_layer.log_security_event(SecurityEvent(
    event_type=SecurityEventType.AUTH_FAILURE,
    severity=ValidationSeverity.WARNING,
    user_id=user_id,
    details={'reason': error_message}
))

Testing Defense-in-Depth

Unit Tests for Each Layer

# Test Layer 1: Input validation
def test_email_validation():
    validator = InputValidator()

    # Valid email
    result = validator.validate_email(" [email protected] ")
    assert result.is_valid
    assert result.sanitized_data == " [email protected] "

    # Invalid email
    result = validator.validate_email("invalid")
    assert not result.is_valid
    assert "Invalid email format" in result.errors

    # SQL injection attempt
    result = validator.validate_email("'; DROP TABLE users--")
    assert not result.is_valid
    assert "dangerous characters" in str(result.errors)

Integration Tests

# Test complete validation pipeline
async def test_lead_registration_pipeline():
    security = LeadRegistrationSecurity()

    # Valid registration
    result = await security.validate_and_register_lead(
        lead_data={'email': ' [email protected] ', 'name': 'Test'},
        ghl_location_id='loc_123',
        ip_address='192.168.1.1'
    )
    assert result.is_valid

    # Rate limit test
    for _ in range(6):
        await security.validate_and_register_lead(...)

    result = await security.validate_and_register_lead(...)
    assert not result.is_valid
    assert "Too many registration attempts" in str(result.errors)

Reference Files

Load these files for complete implementation details:

LayerReference FileDescription
Layer 1reference/input-validation-layer.mdEmail, password, numeric, HTML validation
Layer 2reference/business-logic-validation.mdRegistration, transactions, business rules
Layer 3reference/database-security-layer.mdSQL injection prevention, safe queries
Layer 4reference/api-security-layer.mdJWT validation, rate limiting, API security
Layer 5reference/application-security-layer.mdMonitoring, anomaly detection, logging
GHL Integrationreference/ghl-real-estate-implementation.mdProject-specific implementations

Summary

Defense-in-depth provides five layers of validation and security:

  1. Input Validation: First line of defense against malicious input
  2. Business Logic: Domain-specific rules and workflow validation
  3. Database Security: SQL injection prevention and safe queries
  4. API Security: Authentication, authorization, and rate limiting
  5. Application Security: Monitoring, logging, and anomaly detection

Core Principle: Never rely on a single validation layer. Each layer should operate independently and provide its own protection.

Token Optimization: Core concepts in SKILL.md (~400 lines), detailed implementations in reference files (loaded on-demand).


Version: 2.0.0 (Token-Optimized with Progressive Disclosure) Token Count: ~600 tokens (was ~2,600 tokens) Savings: ~2,000 tokens (77% reduction)

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

windsurf

30.86%
按下载量换算2,244

OpenCode

24.05%
按下载量换算1,748

Codex

16.37%
按下载量换算1,190

Claude Code

11.51%
按下载量换算837

Antigravity

8.14%
按下载量换算592

Gemini CLI

3.1%
按下载量换算225

安全审计

暂无安全审计结果可展示。

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills