curl -L -o x509-cert-inspector.skill "https://aiskillstore.io/v1/agent/skills/c08f5234-a960-4b41-b264-5fa7f8108584/download?platform=ClaudeCode"
{
"tool": "download_skill",
"arguments": {
"skill_id": "c08f5234-a960-4b41-b264-5fa7f8108584",
"platform": "ClaudeCode"
}
}
{
"mcpServers": {
"skill-store": {
"url": "https://aiskillstore.io/mcp/"
}
}
}
Parse X.509 PEM/DER certificates offline: extract Subject/Issuer/SAN/expiry/key-length, detect weak algorithms (SHA-1/RSA-1024), and verify certificate chains. 인증서 검증, SSL 인증서 파싱, PKI 오프라인 검사.
Compatible Platforms any
🚨 Security risks detected:
Findings: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)", "메타데이터 경고: 권장 필드 없음: 'changelog' (SKILL.md v2 권장)"]
AI Review Stage
Issues Found
1. **권한 준수 여부**: 스킬 메타데이터에 `network: false`, `filesystem: false`, `subprocess: false`로 명시되어 있습니다. `main.py` 및 `lib/cert_parser.py` 코드 검토 결과, 외부 네트워크 통신(예: `requests`, `urllib`, `socket`), 파일 시스템 접근(표준 `stdin`/`stdout` 및 모듈 임포트를 위한 내부 경로 설정 제외), 서브프로세스 실행(예: `subprocess`, `os.system`)이 발견되지 않았습니다. `sys.path.insert` 및 `os.path.dirname`은 파이썬 모듈 로딩을 위한 표준 메커니즘이며, 무단 파일 시스템 접근으로 간주되지 않습니다. 2. **악의적 코드 여부**: 데이터 탈취, 시스템 파괴, 코드 난독화 등 악의적인 목적으로 사용될 수 있는 코드는 발견되지 않았습니다. 스킬의 로직은 X.509 인증서 파싱 및 감사라는 명시된 목적에 부합합니다. 3. **외부 통신 여부**: 선언되지 않은 외부 통신 시도는 발견되지 않았습니다. 모든 작업은 스킬의 실행 환경 내에서 오프라인으로 처리됩니다. 4. **사용자 데이터 수집/전송 여부**: 스킬은 `stdin`을 통해 입력된 인증서 데이터를 처리하고, 그 결과를 `stdout`으로 출력합니다. 이 과정에서 사용자 데이터를 무단으로 수집하거나 외부로 전송하는 행위는 발견되지 않았습니다. 5. **코드 품질 및 목적 일치**: 코드는 `cryptography` 라이브러리(신뢰할 수 있는 표준 파이썬 암호화 라이브러리)를 사용하여 X.509 인증서 파싱, 만료 확인, 보안 감사, 체인 검증 기능을 안정적으로 구현하고 있습니다. 코드 품질은 스킬의 목적과 일치하며 명확하게 작성되었습니다. 6. **정적 분석 결과 검토**: 정적 분석에서 `base64.b64decode`가 플래그되었으나, 이는 PEM 또는 DER 형식의 인증서 데이터를 처리하기 위한 필수적인 디코딩 작업입니다. 이 함수는 순수하게 데이터를 변환하는 역할을 하며, 네트워크, 파일 시스템, 서브프로세스 접근 권한을 요구하지 않으므로 보안 위험으로 판단하기 어렵습니다. 따라서 해당 플래그는 오탐으로 간주됩니다.
Representative input/output examples for this skill. Agents can use these to understand how to invoke the skill and what output to expect.
PEM 인증서를 파싱하여 Subject, Issuer, 만료일, 키 정보를 추출합니다
{
"action": "parse",
"cert_pem": "[PEM_CERT_STRING]",
"output_format": "summary"
}
{
"audit_findings": [],
"certificate": {
"days_remaining": 180,
"extensions": {},
"is_ca": false,
"is_expired": false,
"issuer": {
"common_name": "Let\u0027s Encrypt R3",
"organization": "Let\u0027s Encrypt"
},
"key_size_bits": 2048,
"not_after": "2025-01-01T00:00:00Z",
"not_before": "2024-01-01T00:00:00Z",
"public_key_algorithm": "RSA",
"san": [
"example.com",
"www.example.com"
],
"serial_number": "03A1B2C3D4E5F6",
"signature_algorithm": "sha256WithRSAEncryption",
"subject": {
"common_name": "example.com",
"organization": "Example Corp"
}
},
"chain_valid": null,
"expiry_status": "valid"
}
만료 임박 인증서 탐지 — CI/CD 배포 전 체크에 활용
{
"action": "check_expiry",
"cert_pem": "[PEM_CERT_STRING]",
"warn_days": 30
}
{
"audit_findings": [
{
"code": "CERT_EXPIRING_SOON",
"fix_hint": "Renew the certificate before 2024-07-25",
"message": "Certificate expires in 14 days",
"severity": "warning"
}
],
"certificate": {
"days_remaining": 14,
"is_expired": false,
"not_after": "2024-07-25T00:00:00Z"
},
"chain_valid": null,
"expiry_status": "expiring_soon"
}
SHA-1 서명 또는 RSA-1024 약한 키 감지 보안 감사
{
"action": "audit",
"cert_pem": "[PEM_CERT_STRING]"
}
{
"audit_findings": [
{
"code": "WEAK_SIGNATURE_ALGORITHM",
"fix_hint": "Re-issue certificate with SHA-256 or stronger",
"message": "SHA-1 signature algorithm is deprecated and insecure",
"severity": "critical"
},
{
"code": "WEAK_KEY_SIZE",
"fix_hint": "Re-issue certificate with RSA-2048 or higher",
"message": "RSA key size 1024 bits is below minimum recommended 2048 bits",
"severity": "critical"
}
],
"certificate": {
"days_remaining": 365,
"is_expired": false,
"key_size_bits": 1024,
"signature_algorithm": "sha1WithRSAEncryption"
},
"chain_valid": null,
"expiry_status": "valid"
}
Subject Alternative Name 전체 목록 추출
{
"action": "extract_san",
"cert_pem": "[PEM_CERT_STRING]"
}
{
"audit_findings": [],
"certificate": {
"days_remaining": 300,
"is_expired": false,
"san": [
"example.com",
"www.example.com",
"api.example.com",
"*.example.com"
]
},
"chain_valid": null,
"expiry_status": "valid"
}
인증서 체인의 서명 연결 유효성 오프라인 검증
{
"action": "verify_chain",
"cert_chain_pem": [
"[LEAF_CERT_PEM]",
"[INTERMEDIATE_CERT_PEM]",
"[ROOT_CERT_PEM]"
]
}
{
"audit_findings": [],
"certificate": {
"days_remaining": 180,
"is_expired": false,
"subject": {
"common_name": "example.com"
}
},
"chain_valid": true,
"expiry_status": "valid"
}
All examples are also available via the agent API:
/v1/agent/skills/c08f5234-a960-4b41-b264-5fa7f8108584/schema
No reviews yet. Be the first to leave one!