github / github/codeql

False positive `Explicit export is not defined` for item backed by `__getattr__`

Open
#20,764 0 comments 0 reactions 0 assignees View on GitHub
false-positive
Dominant language
CodeQL
Stars
10.1k
Forks
2.1k
Avg merge
2d 15h
Merged PRs (30d)
141

Description

**Description of the false positive**

The `__all__` array includes a string which is handled by `def __getattr__(name: str):`, but CodeQL complains:

Image

**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

Contributor guide

Open the contributing guide

Research direction

Read the linked Python __init__.py sample and inspect the py/undefined-export rule that reports the alert. Trace how the rule handles __all__ and __getattr__, then use the CodeQL query tests to reproduce the case. Done means a valid export supplied through __getattr__ is no longer reported as undefined.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.