-
Notifications
You must be signed in to change notification settings - Fork 162
appartently a bitdefender false positive : Generic.PY.SordealStealer #3347
Description
Quick check
- I've searched existing issues and didn't find a duplicate.
- This issue relates to Gaia Agent UI (
gaia chat --ui). - This issue relates to a CLI command (
gaia ...) or the SDK.
GAIA version
0.23.0 (amd-gaia wheel from PyPI, insta uv
What happened?
Bitdefender has detected the following: C:\Users\xxxxx.gaia\venv\Lib\site-packages\gaia\skills\audit_pycache_\code.cpython-312.pyc.2586770202400 is infected with Generic.PY.SordealStealer.A.27B8D72
Verdict: it did not come from a download. The flagged file is a temporary bytecode file that CPython wrote on your machine today, and Bitdefender's heuristic fired on the contents of GAIA's own credential-stealer detection code. False positive.
Evidence
- The name code.cpython-312.pyc.2586770202400 is CPython's atomic-write temp file. Python 3.12's import machinery writes .<id(path)> then renames it (see Lib/importlib/_bootstrap_external.py line 200 in the GAIA venv's Python 3.12.8). The trailing number is a memory address, not something a wheel or installer ships.
- The shipped wheel contains no pycache at all. The uv cache copy of amd_gaia-0.23.0 has none, and the RECORD manifest lists only .py files.
- The source file gaia/skills/audit/code.py matches its RECORD sha256 exactly (H-gGg3laZyD1PPAIkbW2nyJ0ElgSB5vdPXi0l8Qkjjo), and is byte-identical to the uv cache copy of the wheel fetched from PyPI. Nothing was tampered with.
- Every sibling .pyc in that pycache dates from the Aug 21 install. Only code.cpython-312.pyc is missing, and the folder was modified today at 10:05 AEST. GAIA started at 09:51. Python recompiled code.py on import, Bitdefender seized the temp file mid-write, so the final .pyc never landed.
- Why it trips: code.py is the skill auditor's AST analyser. It contains a rule literally named code.exfiltration.credentials with strings like "credential stealer", "keylog", "exfil", "Cookie". A Python-bytecode heuristic ("Generic.PY.SordealStealer") is matching the detector's own vocabulary.
- No GAIA or Lemonade installer is in Downloads. GAIA was installed by the NSIS installer, which had uv pull amd-gaia 0.23.0 from PyPI.
Paste block for the GitHub issue
OS: Windows 11 Home 24H2, build 26200.9168 (x64)
Machine: ASUS Zenbook 14 UM3406GA, BIOS UM3406GA.305 (2026年04月03日)
CPU: AMD Ryzen AI 7 445 (6C/12T), NPU: AMD XDNA 2 (shows as "NPU Compute Accelerator Device")
GPU: AMD Radeon 840M (iGPU), driver 32.0.220
RAM: 32 GB installed (28,315 MB reported by Windows)
AV: Bitdefender Total Security 27.0.59.334 t, passive)
GAIA: 0.23.0 (amd-gaia wheel from PyPI, insta uv into C:\Users<user>.gaia\venv)
Python: 3.12.8 (venv interpreter)
Lemonade: Lemonade Server 11.5.0 (installed 2026-
Detection: Bitdefender flagged
C:\Users<user>.gaia\venv\Lib\site-packages\gaia\skills\audit_pycache_\code.cpython-312.pyc.2586770202400
as Generic.PY.SordealStealer.A.27B8D72
Notes:
- The flagged path is CPython's atomic-write temp file (importlib _write_atomic: ".<id(path)>"),
created locally when gaia/skills/audit/code.py wt is not a shipped file. - The wheel ships no pycache; gaia/skills/audit/code.py matches the RECORD sha256 and the PyPI wheel.
- Bitdefender removed the temp file, so code.cpyth pycache; all sibling .pyc files remain.
- Likely trigger: code.py is the skill-audit AST analyser and contains the rule "code.exfiltration.credentials"
plus strings such as "credential stealer", "keyleuristic appears to match the
detector's own vocabulary.
What did you expect to happen?
not have a "virus" in software
Acceptance criteria
have bitdefeder run a scan & not find any issues in gaia code
Environment
OS: Windows 11 Home 24H2, build 26200.9168 (x64)
Machine: ASUS Zenbook 14 UM3406GA, BIOS UM3406GA.305 (2026年04月03日)
CPU: AMD Ryzen AI 7 445 (6C/12T), NPU: AMD XDNA 2 (shows as "NPU Compute Accelerator Device")
GPU: AMD Radeon 840M (iGPU), driver 32.0.220
RAM: 32 GB installed (28,315 MB reported by Windows)
AV: Bitdefender Total Security 27.0.59.334 t, passive)
GAIA: 0.23.0 (amd-gaia wheel from PyPI, insta uv into C:\Users<user>.gaia\venv)
Python: 3.12.8 (venv interpreter)
Lemonade: Lemonade Server 11.5.0 (installed 2026-