Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

iso-27001-controlsISO 27001 控制

Agent Skill

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

总安装

371

周安装

15

GitHub Stars

219

下载量

116
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/hack23/cia --skill iso-27001-controls

简介

iso-27001-controls 提供 ISO 27001 标准中信息安全控制措施的详细信息。

  • 适用于在 Codex、Claude、Cursor、Gemini CLI 中查找具体控制项、实施方法或评估依据。
  • 从 GitHub 仓库安装,使用 npx skills add 命令,需验证数据完整性与版本一致性。
  • 输出内容仅作参考,不能替代专业审计或合规顾问的意见。
  • 建议根据组织实际风险和业务需求选择适用的控制措施并加以调整。

SKILL.md

ISO 27001:2022 Controls Implementation Skill

Purpose

This skill provides guidance for implementing and verifying ISO 27001:2022 Annex A controls within the CIA platform, ensuring systematic information security management aligned with Hack23 ISMS framework.

When to Use This Skill

Apply this skill when:

  • ✅ Implementing new security controls
  • ✅ Conducting ISMS audits or reviews
  • ✅ Responding to security incidents
  • ✅ Preparing for ISO 27001 certification audits
  • ✅ Reviewing security architecture changes
  • ✅ Updating security documentation

Key ISO 27001:2022 Controls for Software Development

A.5 - Organizational Controls

A.5.10 - Acceptable Use of Information

  • ✅ Document acceptable use policy for CIA platform
  • ✅ Define data classification (Public, Internal, Confidential, Restricted)
  • ✅ Specify usage restrictions for political data

A.5.15 - Access Control

  • ✅ Implement RBAC (Role-Based Access Control)
  • ✅ Enforce least privilege principle
  • ✅ Regular access reviews (quarterly)

A.5.17 - Authentication Information

  • ✅ Strong password policy (12+ chars, complexity)
  • ✅ MFA for privileged accounts
  • ✅ Secure password storage (bcrypt, Argon2)

A.5.23 - Information Security for Cloud Services

  • ✅ AWS security configuration review
  • ✅ Cloud provider security assessment
  • ✅ Data sovereignty compliance (EU GDPR)

A.8 - Technical Controls

A.8.1 - User Endpoint Devices

  • ✅ Developer workstation security standards
  • ✅ Encrypted disks (BitLocker, FileVault)
  • ✅ Antivirus/EDR software required

A.8.2 - Privileged Access Rights

@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class MethodSecurityConfig {

    @Bean
    public RoleHierarchy roleHierarchy() {
        RoleHierarchyImpl hierarchy = new RoleHierarchyImpl();
        hierarchy.setHierarchy("ROLE_ADMIN > ROLE_USER\n" +
                              "ROLE_USER > ROLE_GUEST");
        return hierarchy;
    }
}

@Service
public class PrivilegedOperationService {

    @PreAuthorize("hasRole('ADMIN')")
    @Audited
    public void modifySystemConfiguration(ConfigurationChange change) {
        // Log privileged action
        auditLogger.log("PRIVILEGED_ACTION", "System config modified", change);

        // Perform operation
        configurationRepository.save(change);
    }
}

A.8.3 - Information Access Restriction

@Entity
@Table(name = "document")
public class Document {
    @Id
    private String id;

    @Enumerated(EnumType.STRING)
    private DataClassification classification; // PUBLIC, INTERNAL, CONFIDENTIAL, RESTRICTED

    private String ownerId;

    @ElementCollection
    private Set<String> authorizedUserIds;
}

@Service
public class DocumentAccessService {

    public Document getDocument(String documentId, String userId) {
        Document doc = documentRepository.findById(documentId)
            .orElseThrow(() -> new ResourceNotFoundException("Document not found"));

        // Enforce access control based on classification
        if (!canAccess(doc, userId)) {
            auditLogger.logAccessDenied(userId, documentId);
            throw new AccessDeniedException("Insufficient permissions");
        }

        return doc;
    }

    private boolean canAccess(Document doc, String userId) {
        switch (doc.getClassification()) {
            case PUBLIC:
                return true;
            case INTERNAL:
                return userService.isInternalUser(userId);
            case CONFIDENTIAL:
                return doc.getAuthorizedUserIds().contains(userId);
            case RESTRICTED:
                return doc.getOwnerId().equals(userId) ||
                       userService.isAdmin(userId);
            default:
                return false;
        }
    }
}

A.8.8 - Management of Technical Vulnerabilities

  • ✅ Weekly vulnerability scans (OWASP Dependency Check)
  • ✅ CodeQL analysis on every PR
  • ✅ SonarCloud quality gates enforced
  • ✅ Security patches applied within 30 days

A.8.9 - Configuration Management

# Document all configuration in Infrastructure as Code
# Store in version control (git)
# Example: AWS CloudFormation for infrastructure

AWSTemplateFormatVersion: '2010-09-09'
Description: 'CIA Platform Infrastructure - ISO 27001 Compliant'

Resources:
  # Database with encryption enabled (A.8.24)
  CIADatabase:
    Type: AWS::RDS::DBInstance
    Properties:
      Engine: postgres
      StorageEncrypted: true
      KmsKeyId: !Ref DatabaseEncryptionKey
      BackupRetentionPeriod: 30
      EnableCloudwatchLogsExports:
        - postgresql
      DeletionProtection: true

  # Application servers with security group restrictions
  AppSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: CIA Application Security Group
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 443
          ToPort: 443
          CidrIp: 0.0.0.0/0  # HTTPS only
      SecurityGroupEgress:
        - IpProtocol: tcp
          FromPort: 443
          ToPort: 443
          DestinationSecurityGroupId: !Ref DatabaseSecurityGroup

A.8.11 - Data Masking

@Component
public class DataMaskingService {

    public String maskPersonalId(String personalId) {
        if (personalId == null || personalId.length() < 12) return "***";
        return personalId.substring(0, 4) + "****" + personalId.substring(8);
    }

    public String maskEmail(String email) {
        if (email == null || !email.contains("@")) return "***@***";
        int atIndex = email.indexOf('@');
        String prefix = email.substring(0, Math.min(2, atIndex));
        String suffix = email.substring(atIndex);
        return prefix + "***" + suffix;
    }

    public String maskPhoneNumber(String phone) {
        if (phone == null || phone.length() < 8) return "***";
        return phone.substring(0, 3) + "****" + phone.substring(phone.length() - 2);
    }
}

// Use in logging
log.info("User accessed document: userId={}, documentId={}",
    dataMaskingService.maskPersonalId(userId), documentId);

A.8.23 - Web Filtering

  • ✅ Implement Content Security Policy (CSP)
  • ✅ Configure CORS restrictions
  • ✅ Enable XSS protection headers
@Configuration
public class SecurityHeadersConfig {

    @Bean
    public SecurityFilterChain securityHeaders(HttpSecurity http) throws Exception {
        http.headers(headers -> headers
            .contentSecurityPolicy("default-src 'self'; " +
                                 "script-src 'self'; " +
                                 "style-src 'self'; " +
                                 "img-src 'self' data: https:; " +
                                 "font-src 'self'; " +
                                 "connect-src 'self'; " +
                                 "frame-ancestors 'none';")
            .xssProtection()
            .frameOptions().deny()
            .httpStrictTransportSecurity()
                .maxAgeInSeconds(31536000)
                .includeSubDomains(true)
                .preload(true)
        );
        return http.build();
    }
}

A.8.24 - Use of Cryptography

  • ✅ TLS 1.2+ for all communications
  • ✅ AES-256-GCM for data encryption
  • ✅ bcrypt/Argon2 for password hashing
  • ✅ RSA-4096 or Ed25519 for digital signatures

A.8.28 - Secure Coding

  • ✅ Follow OWASP Top 10 guidelines
  • ✅ Conduct security code reviews
  • ✅ Use static analysis tools (SonarCloud, CodeQL)
  • ✅ Input validation on all user inputs

A.14 - System Acquisition, Development, and Maintenance

A.14.2.1 - Secure Development Policy

Required elements:

  1. Security requirements gathering
  2. Threat modeling (STRIDE)
  3. Secure coding standards
  4. Security testing (SAST, DAST)
  5. Security code reviews
  6. Vulnerability management

A.14.2.5 - Secure System Engineering Principles

  • ✅ Defense in depth
  • ✅ Least privilege
  • ✅ Fail securely
  • ✅ Separation of duties
  • ✅ Economy of mechanism
  • ✅ Complete mediation

A.14.2.8 - System Security Testing

# Automated security testing pipeline
# .github/workflows/security-testing.yml

name: Security Testing

on:
  pull_request:
  push:
    branches: [main]

jobs:
  sast:
    name: Static Application Security Testing
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      # CodeQL SAST
      - name: Initialize CodeQL
        uses: github/codeql-action/init@v3
        with:
          languages: java
          queries: security-and-quality

      - name: Build
        run: mvn clean compile -DskipTests

      - name: Perform CodeQL Analysis
        uses: github/codeql-action/analyze@v3

      # SonarCloud
      - name: SonarCloud Scan
        env:
          SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
        run: mvn sonar:sonar -Dsonar.qualitygate.wait=true

      # OWASP Dependency Check
      - name: OWASP Dependency Check
        run: mvn org.owasp:dependency-check-maven:check

      - name: Upload Dependency Check Report
        uses: actions/upload-artifact@v4
        with:
          name: dependency-check-report
          path: target/dependency-check-report.html

  dast:
    name: Dynamic Application Security Testing
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      # Start application
      - name: Start Application
        run: |
          docker-compose up -d
          sleep 30

      # OWASP ZAP scan
      - name: ZAP Scan
        uses: zaproxy/action-baseline@v0.7.0
        with:
          target: 'http://localhost:8080'
          rules_file_name: '.zap/rules.tsv'
          cmd_options: '-a'

A.14.2.9 - System Acceptance Testing

Security acceptance criteria:

  • ✅ All critical/high vulnerabilities resolved
  • ✅ Security test cases passed
  • ✅ Penetration testing completed
  • ✅ Security documentation updated
  • ✅ ISMS compliance verified

A.16 - Information Security Incident Management

A.16.1.4 - Assessment and Decision of Information Security Events

@Service
public class SecurityIncidentService {

    public void reportIncident(SecurityIncident incident) {
        // Assess severity
        IncidentSeverity severity = assessSeverity(incident);

        // Log to SIEM
        siemLogger.log(severity, incident);

        // Notify security team for high/critical incidents
        if (severity.isHighOrCritical()) {
            notificationService.notifySecurityTeam(incident);
        }

        // Create incident record
        incidentRepository.save(incident);

        // Initiate incident response if needed
        if (severity == IncidentSeverity.CRITICAL) {
            incidentResponseService.initiate(incident);
        }
    }

    private IncidentSeverity assessSeverity(SecurityIncident incident) {
        // Classify based on impact and likelihood
        if (incident.involvesDataBreach()) {
            return IncidentSeverity.CRITICAL;
        }
        if (incident.affectsAvailability()) {
            return IncidentSeverity.HIGH;
        }
        if (incident.involvesUnauthorizedAccess()) {
            return IncidentSeverity.MEDIUM;
        }
        return IncidentSeverity.LOW;
    }
}

Control Implementation Checklist

Use this checklist for each ISO 27001 control:

  1. Control Identification

- ✅ Control reference (e.g., A.8.24) - ✅ Control objective documented - ✅ Applicability determined

  1. Implementation

- ✅ Technical controls implemented - ✅ Procedural controls documented - ✅ Responsibilities assigned

  1. Evidence Collection

- ✅ Configuration screenshots - ✅ Code samples - ✅ Policy documents - ✅ Audit logs

  1. Testing & Verification

- ✅ Control effectiveness tested - ✅ Gaps identified and remediated - ✅ Penetration testing results

  1. Documentation

- ✅ Statement of Applicability (SOA) updated - ✅ Risk treatment plan updated - ✅ ISMS documentation current

Compliance Verification Scripts

#!/bin/bash
# iso27001-compliance-check.sh

echo "=== ISO 27001 Compliance Verification ==="

# A.8.8 - Check for known vulnerabilities
echo "Checking for vulnerabilities (A.8.8)..."
mvn org.owasp:dependency-check-maven:check
if [ $? -ne 0 ]; then
    echo "❌ FAIL: Vulnerabilities detected"
else
    echo "✅ PASS: No vulnerabilities"
fi

# A.8.24 - Verify TLS configuration
echo "Checking TLS configuration (A.8.24)..."
if grep -q "TLSv1.3,TLSv1.2" server.xml; then
    echo "✅ PASS: TLS 1.2+ configured"
else
    echo "❌ FAIL: Weak TLS configuration"
fi

# A.8.28 - Run security scans
echo "Running SAST scans (A.8.28)..."
mvn sonar:sonar -Dsonar.qualitygate.wait=true
if [ $? -eq 0 ]; then
    echo "✅ PASS: Code quality gate passed"
else
    echo "❌ FAIL: Code quality issues"
fi

# A.14.2.8 - Security test coverage
echo "Checking security test coverage..."
mvn test
coverage=$(grep -oP 'Coverage: \K[0-9]+' target/site/jacoco/index.html)
if [ "$coverage" -ge 80 ]; then
    echo "✅ PASS: Test coverage ${coverage}%"
else
    echo "❌ FAIL: Test coverage below 80%"
fi

echo "=== Compliance Check Complete ==="

ISMS Documentation Requirements

Maintain these documents for ISO 27001 compliance:

  1. ISMS Policy (✅ Required)

- Information Security Policy - Purpose and scope - Management commitment

  1. Risk Assessment (✅ Required)

- Asset inventory - Threat analysis - Risk treatment plan

  1. Statement of Applicability (SOA) (✅ Required)

- List all Annex A controls - Justification for inclusion/exclusion - Implementation status

  1. Procedures (✅ Required)

- Access control procedure - Incident response procedure - Change management procedure - Backup and recovery procedure

  1. Records (✅ Required)

- Audit logs - Training records - Incident reports - Risk assessments - Management reviews

Hack23 ISMS Policy References

Comprehensive ISO 27001 Implementation Documentation:

All Hack23 ISMS Policies: https://github.com/Hack23/ISMS-PUBLIC

CIA Platform Architecture References

References

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

展示第三方安全扫描或审计结果

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

平台分布

Codex

37.91%
按下载量换算44

Claude

31.44%
按下载量换算36

Cursor

18.32%
按下载量换算21

Gemini CLI

9.85%
按下载量换算11

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

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

来源信息

继续浏览同类 Skills