Skip to main content

ios-security

Provides best practices for secure iOS application development, covering authentication, data encryption, and network security.

Install this skill

or
0/100

Security score

The ios-security skill was audited on Feb 24, 2026 and we found 29 security issues across 2 threat categories, including 8 high-severity. Review the findings below before installing.

Categories Tested

Security Issues

high line 3

Access to system keychain/keyring

SourceSKILL.md
3description: iOSセキュリティ実装ガイド。認証・認可、データ暗号化、Keychain、証明書ピンニング、App Transport Security、脱獄検知、難読化など、セキュアなiOSアプリケーション開発のベストプラクティス。
high line 13

Access to system keychain/keyring

SourceSKILL.md
134. [Keychain活用](#keychain活用)
high line 38

Access to system keychain/keyring

SourceSKILL.md
38**このガイドで学べること**: iOS認証実装、データ暗号化、Keychain活用、ネットワークセキュリティ、脱獄検知
high line 45

Access to system keychain/keyring

SourceSKILL.md
45- [Keychain Services](https://developer.apple.com/documentation/security/keychain_services)
medium line 139

Access to system keychain/keyring

SourceSKILL.md
139// トークンをKeychainに安全に保存
medium line 140

Access to system keychain/keyring

SourceSKILL.md
140try KeychainManager.shared.saveToken(response.accessToken)
medium line 141

Access to system keychain/keyring

SourceSKILL.md
141try KeychainManager.shared.save(
medium line 155

Access to system keychain/keyring

SourceSKILL.md
155try? KeychainManager.shared.deleteToken()
medium line 156

Access to system keychain/keyring

SourceSKILL.md
156try? KeychainManager.shared.delete(forKey: "refreshToken")
medium line 198

Access to system keychain/keyring

SourceSKILL.md
198if let token = try? KeychainManager.shared.loadToken(),
medium line 214

Access to system keychain/keyring

SourceSKILL.md
214let refreshTokenData = try KeychainManager.shared.load(forKey: "refreshToken")
medium line 234

Access to system keychain/keyring

SourceSKILL.md
234try KeychainManager.shared.saveToken(response.accessToken)
high line 394

Access to system keychain/keyring

SourceSKILL.md
394## Keychain活用
high line 396

Access to system keychain/keyring

SourceSKILL.md
396### 高度なKeychain操作
medium line 399

Access to system keychain/keyring

SourceSKILL.md
399class SecureKeychainManager {
medium line 400

Access to system keychain/keyring

SourceSKILL.md
400static let shared = SecureKeychainManager()
medium line 424

Access to system keychain/keyring

SourceSKILL.md
424throw KeychainError.unableToSave(status)
medium line 448

Access to system keychain/keyring

SourceSKILL.md
448throw KeychainError.itemNotFound(status)
medium line 474

Access to system keychain/keyring

SourceSKILL.md
474throw KeychainError.unableToUpdate(status)
medium line 479

Access to system keychain/keyring

SourceSKILL.md
479enum KeychainError: Error {
high line 763

Access to system keychain/keyring

SourceSKILL.md
763- [ ] トークンをKeychainに安全に保存
high line 772

Access to system keychain/keyring

SourceSKILL.md
772- [ ] Keychainのアクセシビリティ属性を適切に設定
low line 52

External URL reference

SourceSKILL.md
52- **[OAuth 2.0 RFC](https://oauth.net/2/)** - OAuth 2.0認証標準
low line 56

External URL reference

SourceSKILL.md
56- **[OWASP Mobile Security](https://owasp.org/www-project-mobile-security/)** - モバイルセキュリティベストプラクティス
low line 57

External URL reference

SourceSKILL.md
57- **[OWASP Mobile Top 10](https://owasp.org/www-project-mobile-top-10/)** - モバイルアプリの脆弱性トップ10
low line 58

External URL reference

SourceSKILL.md
58- **[NSHipster Security](https://nshipster.com/)** - iOSセキュリティ実践ガイド
low line 75

External URL reference

SourceSKILL.md
75private let authURL = URL(string: "https://auth.example.com/oauth/authorize")!
low line 122

External URL reference

SourceSKILL.md
122let tokenURL = URL(string: "https://auth.example.com/oauth/token")!
low line 219

External URL reference

SourceSKILL.md
219let url = URL(string: "https://auth.example.com/oauth/token")!
Scanned on Feb 24, 2026
View Security Dashboard