Skip to content

fix: precision from real repositories - #54

Merged
SizzleUnrlsd merged 2 commits into
mainfrom
fix/real-code-precision
Sep 4, 2026
Merged

SizzleUnrlsd merged 2 commits into
mainfrom
fix/real-code-precision

Conversation

@SizzleUnrlsd

Copy link
Copy Markdown
Contributor

Summary

Precision fixes from reading one real repository by hand, uploadbox-cloud-storage-solution, around the two true path traversals the analyzer already reported.

  • Tests first (test: define item symbols, session authorization, credential names and del), fixes follow.
  • Items of a symbol-denoted container carry the container's symbol, so request.files['file'].save(path) resolves to flask.request.files.save. The Flask models gain that call as a path sink and werkzeug.utils.secure_filename as the matching sanitiser: the upload route that saved a file under its client-provided name, the classic vulnerability of that repository, is now a third path traversal, and the sanitised form is clean.
  • Membership in an authorization store is an authorization guard: 'logged_in' in session and the early-return form if 'logged_in' not in session: return make the flow behind them a hotspot with the evidence behind authorization (session) at line N. The Flask models declare flask.session; an unrelated membership check stays an ordinary guard.
  • The secret detector names a value bound through an attribute or a constant subscript, so app.config['SECRET_KEY'] = "find@me1290" is a hardcoded-credential named SECRET_KEY.
  • del statements: Delete in the HIR, DelItem and DelAttr effects in PyIR, del name a no-op for the SSA form. It blocked one whole file of another repository.

On the twelve repositories two syntax notes remain, a match statement and a loop else clause.

@SizzleUnrlsd SizzleUnrlsd self-assigned this Sep 4, 2026
@SizzleUnrlsd
SizzleUnrlsd merged commit 77e80a7 into main Sep 4, 2026
6 checks passed
@SizzleUnrlsd
SizzleUnrlsd deleted the fix/real-code-precision branch September 4, 2026 04:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant