{"categories":[{"label":"Cryptography","url":"https://skillfed.io/packages/category/security-cryptography/2"}],"enrichment":{"capability":"Implements EIP-4361 Sign-In with Ethereum for parsing, verifying, and serializing authentication messages signed with Ethereum private keys.","skillfed_tags":["ethereum","web3-auth","cryptography"],"use_cases":["Build a web application login flow where users authenticate with their Ethereum wallet instead of a password.","Verify that a message claiming to be from a specific Ethereum address was actually signed by that address's private key.","Implement time-based and domain-based message validation to prevent replay attacks in authentication workflows.","Parse and validate SIWE messages from external sources to confirm their structural integrity and signature validity.","Serialize authentication messages into EIP-4361 format for transmission to users' wallet applications."],"what_it_does":"SIWE is a Python library that implements the EIP-4361 standard for Ethereum-based authentication. It provides a `SiweMessage` class that handles the full lifecycle of Sign-In with Ethereum messages: parsing EIP-4361 formatted strings, verifying signatures using EIP-191, and serializing messages back to their canonical form. The library depends on web3, eth-account, eth-typing, eth-utils, and pydantic to handle cryptographic operations and message validation.\n\nTypical usage involves creating a `SiweMessage` from a user-provided string, calling `verify()` with a signature to confirm the message was signed by the claimed address, and handling specific exceptions like `ExpiredMessage`, `DomainMismatch`, or `InvalidSignature` to reject invalid authentication attempts. The package is actively maintained and supports current Python versions.","worth_installing":"Yes. SIWE is actively maintained, has no known vulnerabilities, low install friction, and is the standard Python implementation of EIP-4361. Install it if you need Ethereum-based authentication in a Python application. The disclaimer notes it has not undergone formal security audit, so review its use in high-security contexts accordingly."},"id":"siwe","links":{"html":"https://skillfed.io/packages/siwe","md":"https://skillfed.io/packages/siwe.md","pypi":"https://pypi.org/project/siwe/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2024-10-11","license_spdx":null,"license_treatment":"permissive","name":"siwe","python_support":"supports_current","summary":"A Python implementation of Sign-In with Ethereum (EIP-4361)."},"popularity":{"monthly_downloads":111944,"position":12389,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"4.4.0"}
