celery 5.7.0rc1
- Source
- https://github.com/celery/celery
- Artifact scanned
celery-5.7.0rc1-py3-none-any.whl- Compared with
celery-5.7.0b1-py3-none-any.whl(0 signals introduced since)- Files
- 163 scanned, 5 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 1 warn · 10 info
- Scan time
- 10.2 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 7 of 7 warn and critical signals; 6 demoted to info.
- Disclude version
- 4.3.0
- Scanned (UTC)
- 2026-10-23 12:15
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
# Tasks are rarely, if ever, created at runtime - exec here is fine. = =inconclusive Executes a source definition string in a namespace to build a task object and retain its source.Reasoning
exec on a string definition is inherently dangerous if the input is untrusted. The comment indicates intentional dynamic task creation, and the caller is not shown. Whether the definition is attacker-controlled cannot be determined from the snippet.
-
return =likely benign Installs a wrapper around builtins.__import__ that logs imports and delegates to the real import function.Reasoning
Replacing builtins.__import__ is a global side effect and warrants scrutiny. The surrounding code looks like an opt-in import-debugging wrapper that chains to real_import, which is a common legitimate debugging pattern. The guard controlling it isn't shown, so a doubt remains.
-
""" frame, level = sys._getframe(1), 1 while frame is not None and frame_is_celery(frame): frame, level = frame.f_back, level + 1likely benign Walks the call stack past celery's own frames to find the calling module.Reasoning
sys._getframe(1) walking up while frames belong to celery is a standard way to find the caller's module for naming the app. Nothing here is hidden or malicious.
-
"""Method that is called on сhord header stamping start. Arguments: -
"""Method that is called on сhord header stamping start. Arguments: -
"""Method that is called on сhord header stamping end. Arguments: -
"""Method that is called on сhord header stamping end. Arguments: -
# this raises a BdbQuit exception that we're unable to catch.likely benign Clears the trace function on exit from the remote pdb debugger.Reasoning
This is the teardown of celery's remote debugger, which uses sys.settrace to stop tracing. It is a legitimate debugging facility.
-
=likely benign Lazily imports a celery submodule named in an internal origins table when an attribute is first accessed.Reasoning
The module name comes from the package's own _object_origins mapping, which implements lazy attribute loading. The import target is internal and not attacker-controlled in this context.
-
in : # pragma: no cover = returnlikely benign Lazily imports a direct-mapped celery submodule on first attribute access.Reasoning
This is the same lazy-loading mechanism, importing a module named in the internal _direct table. It is a standard pattern for package lazy imports.
-
likely benign Decompresses and unpickles saved revoked-task state when merging worker state.
Reasoning
The payload is a zlib-compressed blob loaded from the worker's own saved state, which is the revoked-task persistence path. Unpickling local state is a known risk but matches legitimate celery design. The data source is not shown, so the risk is not fully excluded.
Reproduce This Scan
Run disclude locally to verify. These commands scan the published file; the "new in this release" marks come from comparing it with the previous release's file, which they don't repeat. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.
|