ios-security
Provides best practices for secure iOS application development, covering authentication, data encryption, and network security.
Install this skill
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
Access to system keychain/keyring
| 3 | description: iOSセキュリティ実装ガイド。認証・認可、データ暗号化、Keychain、証明書ピンニング、App Transport Security、脱獄検知、難読化など、セキュアなiOSアプリケーション開発のベストプラクティス。 |
Access to system keychain/keyring
| 13 | 4. [Keychain活用](#keychain活用) |
Access to system keychain/keyring
| 38 | **このガイドで学べること**: iOS認証実装、データ暗号化、Keychain活用、ネットワークセキュリティ、脱獄検知 |
Access to system keychain/keyring
| 45 | - [Keychain Services](https://developer.apple.com/documentation/security/keychain_services) |
Access to system keychain/keyring
| 139 | // トークンをKeychainに安全に保存 |
Access to system keychain/keyring
| 140 | try KeychainManager.shared.saveToken(response.accessToken) |
Access to system keychain/keyring
| 141 | try KeychainManager.shared.save( |
Access to system keychain/keyring
| 155 | try? KeychainManager.shared.deleteToken() |
Access to system keychain/keyring
| 156 | try? KeychainManager.shared.delete(forKey: "refreshToken") |
Access to system keychain/keyring
| 198 | if let token = try? KeychainManager.shared.loadToken(), |
Access to system keychain/keyring
| 214 | let refreshTokenData = try KeychainManager.shared.load(forKey: "refreshToken") |
Access to system keychain/keyring
| 234 | try KeychainManager.shared.saveToken(response.accessToken) |
Access to system keychain/keyring
| 394 | ## Keychain活用 |
Access to system keychain/keyring
| 396 | ### 高度なKeychain操作 |
Access to system keychain/keyring
| 399 | class SecureKeychainManager { |
Access to system keychain/keyring
| 400 | static let shared = SecureKeychainManager() |
Access to system keychain/keyring
| 424 | throw KeychainError.unableToSave(status) |
Access to system keychain/keyring
| 448 | throw KeychainError.itemNotFound(status) |
Access to system keychain/keyring
| 474 | throw KeychainError.unableToUpdate(status) |
Access to system keychain/keyring
| 479 | enum KeychainError: Error { |
Access to system keychain/keyring
| 763 | - [ ] トークンをKeychainに安全に保存 |
Access to system keychain/keyring
| 772 | - [ ] Keychainのアクセシビリティ属性を適切に設定 |
External URL reference
| 52 | - **[OAuth 2.0 RFC](https://oauth.net/2/)** - OAuth 2.0認証標準 |
External URL reference
| 56 | - **[OWASP Mobile Security](https://owasp.org/www-project-mobile-security/)** - モバイルセキュリティベストプラクティス |
External URL reference
| 57 | - **[OWASP Mobile Top 10](https://owasp.org/www-project-mobile-top-10/)** - モバイルアプリの脆弱性トップ10 |
External URL reference
| 58 | - **[NSHipster Security](https://nshipster.com/)** - iOSセキュリティ実践ガイド |
External URL reference
| 75 | private let authURL = URL(string: "https://auth.example.com/oauth/authorize")! |
External URL reference
| 122 | let tokenURL = URL(string: "https://auth.example.com/oauth/token")! |
External URL reference
| 219 | let url = URL(string: "https://auth.example.com/oauth/token")! |
Install this skill with one command
/learn @gaku52/ios-security