False positive `Explicit export is not defined` for item backed by `__getattr__`
- Vorherrschende Sprache
- CodeQL
- Sterne
- 10.1k
- Forks
- 2.1k
- Ø Merge
- 2 T. 15 Std.
- Gemergte PRs (30 T.)
- 141
Beschreibung
**Description of the false positive**
The `__all__` array includes a string which is handled by `def __getattr__(name: str):`, but CodeQL complains:
**Code samples or links to source code**
https://github.com/check-spelling-sandbox/adk-python/blob/79db5168aefdf658a36b4833809602c819c3740b/src/google/adk/tools/retrieval/__init__.py#L19
https://github.com/check-spelling-sandbox/adk-python/blob/79db5168aefdf658a36b4833809602c819c3740b/src/google/adk/tools/retrieval/__init__.py#L25-L30
**URL to the alert on GitHub code scanning (optional)**
https://github.com/check-spelling-sandbox/adk-python/security/quality/rules/py%2Fundefined-export
Sorry, there doesn't appear to be a standard url for it
Beitragsleitfaden
Rechercherichtung
Lesen Sie das verlinkte Python-__init__.py-Beispiel und untersuchen Sie die Regel py/undefined-export, die die Warnung meldet. Verfolgen Sie, wie die Regel __all__ und __getattr__ behandelt, und verwenden Sie anschließend die CodeQL-Abfragetests, um den Fall zu reproduzieren. Als erledigt gilt die Aufgabe, wenn ein gültiger Export, der über __getattr__ bereitgestellt wird, nicht mehr als undefiniert gemeldet wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- security
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100