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 GitHubtakemi-ohama/ai-agent-marketplace
ndf
January 18, 2026
Select agents to install to:
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-scanInstallation paths:
.claude/skills/qa-security-scan/# 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