{
"id": "py-open-no-encoding",
"language": "python",
"group": "security",
"listingTitle": "Py open no encoding",
"title": "Review open no encoding",
"mvvm": false,
"defaultSeverity": "info",
"legacyGroup": "security",
"why": "Text-mode open calls without an explicit encoding depend on the host locale and can decode the same file differently across environments.",
"suggestion": "Pass an explicit encoding for text files; use a binary mode when bytes are intended.",
"version": 2,
"semanticMaturity": "text",
"securityKind": "hotspot",
"taxonomy": [
"security"
],
"requirements": [
"sourceText"
],
"packs": [
"python",
"fastapi"
],
"implementation": "src/languages/python/rules.rs",
"languages": [
"python"
],
"frameworks": [],
"languageVersions": [],
"limitations": [
"Only bare builtin-style open calls are recognized; methods named open and qualified APIs are excluded.",
"Dynamic mode values are reviewed unless the call itself proves binary mode."
]
}