Back to Skills

qa-security-scan

verified

Security scanning templates and checklists for OWASP Top 10, authentication, authorization, data protection. Use when conducting security testing or vulnerability assessment. This skill provides comprehensive security testing: - OWASP Top 10 checklist with remediation - Authentication and authorization testing - Data protection verification - Security report generation - Integration with Codex CLI MCP for automated scanning Triggers: "security scan", "vulnerability check", "OWASP", "security test", "セキュリティスキャン", "脆弱性チェック", "セキュリティテスト"

View on GitHub

Marketplace

ai-agent-marketplace

takemi-ohama/ai-agent-marketplace

Plugin

ndf

Repository

takemi-ohama/ai-agent-marketplace
1stars

plugins/ndf/skills/qa-security-scan/SKILL.md

Last Verified

January 18, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/takemi-ohama/ai-agent-marketplace/blob/main/plugins/ndf/skills/qa-security-scan/SKILL.md -a claude-code --skill qa-security-scan

Installation paths:

Claude
.claude/skills/qa-security-scan/
Powered by add-skill CLI

Instructions

# QA Security Scan Skill

## 概要

このSkillは、qaエージェントがセキュリティスキャンと脆弱性評価を実施する際に使用します。OWASP Top 10に基づいた包括的なチェックリストと、認証・認可・データ保護の検証手順を提供します。

## 主な機能

1. **OWASP Top 10チェックリスト**: 最も重大な脆弱性を体系的に確認
2. **認証・認可テスト**: ログイン、セッション管理、アクセス制御の検証
3. **データ保護確認**: 暗号化、機密情報の扱いを確認
4. **セキュリティレポート生成**: 構造化された脆弱性レポート
5. **Codex CLI MCP統合**: 自動セキュリティスキャン

## 使用方法

### チェックリスト一覧

```
checklists/
├── owasp-top10-checklist.md    # OWASP Top 10
├── auth-checklist.md            # 認証・認可
└── data-protection-checklist.md # データ保護
```

### レポートテンプレート

```
templates/
└── security-report-template.md  # セキュリティレポート
```

## OWASP Top 10 チェックリスト

### 1. インジェクション

**脆弱性の説明**:
信頼できないデータがコマンドやクエリの一部として送信され、攻撃者が意図しないコマンドを実行したり、適切な認可なしにデータにアクセスしたりできる。

**チェック項目**:

- [ ] **SQLインジェクション対策**
  ```javascript
  // ❌ Bad: 文字列連結
  const query = `SELECT * FROM users WHERE id = ${userId}`;

  // ✅ Good: パラメータ化クエリ
  const query = 'SELECT * FROM users WHERE id = ?';
  db.query(query, [userId]);
  ```

- [ ] **コマンドインジェクション対策**
  ```javascript
  // ❌ Bad: ユーザー入力を直接使用
  exec(`ping ${userInput}`);

  // ✅ Good: ホワイトリスト検証 + エスケープ
  if (!/^[a-zA-Z0-9.-]+$/.test(userInput)) {
    throw new Error('Invalid input');
  }
  ```

- [ ] **LDAPインジェクション対策**
  - 特殊文字のエスケープ
  - パラメータ化クエリの使用

- [ ] **NoSQLインジェクション対策**
  ```javascript
  // ❌ Bad: オブジェクトを直接使用
  User.find({ username: req.body.username });

  // ✅ Good: 型検証
  const username = String(req.body.username);
  User.find({ username });
  ```

**修正方法**:
1. パラメータ化クエリ/プリペアドステートメント使用
2. ORMの使用(Sequelize、TypeORM等)
3. 入力値の厳格な検証(ホワイトリスト)
4. エスケープ処理

### 2. 認証の不備

**チェック項目**:

- [ ] **パスワードの安全なハッシュ化**
  ```javascript
  // ❌ Bad: 平文保存、MD5/SHA1
  const hash = md5(password);

  // ✅ Good: bcrypt/Argon2
  const bcrypt = require('bcrypt');
  const hash = await bcrypt.hash(password, 10);
  ```

- [ ] **セッション管理**
  - セッションIDの再生成(ログイン後)
  - セキュアなCookie設定(HttpOnly, Secure, SameSite)
  - セッションタイムアウトの設定

- [ ] **多要素認証(MFA)**
  - 重要な操作でMFA要求
  - TOTPまたはSMS認証

- [ ] **ブルートフォース攻撃対策**
  - レート制限(rate limiting

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
8335 chars