{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T15:09:19.376546Z","repo":{"ref":{"host":"github.com","owner":"AUTOMATIC1111","name":"stable-diffusion-webui"},"default_branch":"master","clone_url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui.git","html_url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui","description":"Stable Diffusion web UI","stars":165311,"forks":31134,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":36552,"primary_language":"Python","license_spdx":"AGPL-3.0","created_at":"2022-08-22T14:05:26Z","pushed_at":"2026-03-02T07:00:53Z","security_policy_url":null,"distribution":{"owner_created_at":"2016-08-09T05:39:07Z","owner_type":"User","release_assets":[{"name":"sd.webui-1.10.1-blackwell.7z","size":1934101389,"download_count":66920,"release_tag":"v1.10.0","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/download/v1.10.0/sd.webui-1.10.1-blackwell.7z"}]}},"commit_sha":"82a973c04367123ae98bd9abdf80d9eda9b910e2","profile":{"lines_by_language":{"Python":43654,"JavaScript":5068,"Shell":369},"files_by_category":{"source":238,"config":22,"docs":21,"other":16,"binary":10,"test":8},"source_lines":48781,"test_lines":310},"pillars":{"ai_provenance":{"score":0.0,"confidence":0.65,"coverage":1.0,"label":"possible","breakdown":{"attributed_share":0.0,"suspected_share":0.1916,"estimated_share":0.0,"ai_artifacts":0.0,"flagged_work_units":3.0,"flagged_releases":1.0,"style_index":0.256},"summary":"Weak signals consistent with AI-assisted development."},"quality":{"score":54.4,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":51.5,"duplication":58.2,"lint":20.7,"testing":65.3,"docs":85.0,"type_safety":40.0,"process":null},"summary":"Code quality is weak: test-to-source ratio 0.01, CI runs tests; 22% of function code in complex or long functions; 9% duplicated lines. Weakest area: lint."},"security":{"score":50.0,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":96.7,"sast":81.3,"dependencies":13.3,"ci_actions":12.7,"posture":0.0,"scorecard":null},"summary":"Security posture is weak: 183 known vulnerabilities in 12 dependencies; 26 high-severity SAST findings; 9 high-severity workflow issues. Weakest area: posture."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"ok","tool_version":null,"metrics":{"declared":44.0,"checked":44.0,"missing":0.0,"recent":0.0,"lookup_errors":0.0},"findings":[],"evidence":[],"data":{"phantom":false},"error":null},{"analyzer":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":5671.0,"attributed_commits":0.0,"attributed_commit_share":0.0,"effective_loc":138901.0,"attributed_loc":0.0,"attributed_loc_share":0.0,"tools_detected":0.0},"findings":[],"evidence":[],"data":{"attributed_loc_by_commit":{},"tools":{},"monthly":{"2022-08":{"loc":3249,"attributed_loc":0},"2022-09":{"loc":17734,"attributed_loc":0},"2022-10":{"loc":19894,"attributed_loc":0},"2022-11":{"loc":19352,"attributed_loc":0},"2022-12":{"loc":16936,"attributed_loc":0},"2023-01":{"loc":10742,"attributed_loc":0},"2023-02":{"loc":2528,"attributed_loc":0},"2023-03":{"loc":3099,"attributed_loc":0},"2023-04":{"loc":1330,"attributed_loc":0},"2023-05":{"loc":9160,"attributed_loc":0},"2023-06":{"loc":2197,"attributed_loc":0},"2023-07":{"loc":4510,"attributed_loc":0},"2023-08":{"loc":7343,"attributed_loc":0},"2023-09":{"loc":504,"attributed_loc":0},"2023-10":{"loc":1688,"attributed_loc":0},"2023-11":{"loc":3745,"attributed_loc":0},"2023-12":{"loc":4474,"attributed_loc":0},"2024-01":{"loc":3029,"attributed_loc":0},"2024-02":{"loc":1121,"attributed_loc":0},"2024-03":{"loc":2051,"attributed_loc":0},"2024-04":{"loc":597,"attributed_loc":0},"2024-05":{"loc":441,"attributed_loc":0},"2024-06":{"loc":2645,"attributed_loc":0},"2024-07":{"loc":532,"attributed_loc":0}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":0.0,"workflow_agents":0.0,"tools_configured":0.0},"findings":[],"evidence":[],"data":{"artifacts":[],"workflows":[],"tools":[]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-5","metrics":{"work_units":3257.0,"flagged_units":3.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":138901.0,"flagged_loc":26616.0,"flagged_loc_share":0.19161849086759636,"max_loc_per_hour":3345.3376205787786,"median_loc_per_hour":47.88614654785563,"pr_timed_units":269.0,"excluded_import_loc":0.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"13,583 lines of first-party code in ~4.1h (3,345 lines/hour, 2 commit session)","ref":"2e8b5418e3cd4e9212f2fcdb36305d7a40f97916","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/2e8b5418e3cd4e9212f2fcdb36305d7a40f97916","weight":0.6},{"kind":"velocity-burst","description":"10,814 lines of first-party code in ~4.0h (2,704 lines/hour, 1 commit session)","ref":"75c4511e6b81ae8fb0dbd932043e8eb35cd09f72","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/75c4511e6b81ae8fb0dbd932043e8eb35cd09f72","weight":0.6},{"kind":"velocity-burst","description":"2,219 lines of first-party code in ~3.0h (728 lines/hour, 1 commit session)","ref":"345028099d893f8a66726cfd13627d8cc1bcc724","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/345028099d893f8a66726cfd13627d8cc1bcc724","weight":0.21832194588685436}],"data":{"flagged_loc_by_commit":{"345028099d893f8a66726cfd13627d8cc1bcc724":2219,"75c4511e6b81ae8fb0dbd932043e8eb35cd09f72":10814,"00ca6a6db4674713a10d1de312559cb924ed3c55":13577,"2e8b5418e3cd4e9212f2fcdb36305d7a40f97916":6},"excluded_import_commits":[]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-5","metrics":{"releases":35.0,"flagged_releases":1.0,"max_loc_per_day":9439.9},"findings":[],"evidence":[{"kind":"release-burst","description":"v1.5.2 → v1.6.0-RC: 7,659 lines in 0.81 days (9,439.9 lines/day)","ref":"v1.5.2...v1.6.0-RC","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/compare/v1.5.2...v1.6.0-RC","weight":0.4}],"data":{"releases":[{"from":"v1.0.0-pre","to":"v1.1.0","loc":9909,"days":96.72,"loc_per_day":102.4,"flagged":false},{"from":"v1.1.0","to":"v1.1.1","loc":5,"days":0.78,"loc_per_day":6.4,"flagged":false},{"from":"v1.1.1","to":"v1.2.0","loc":895,"days":10.96,"loc_per_day":81.7,"flagged":false},{"from":"v1.2.0","to":"v1.2.1","loc":78,"days":1.22,"loc_per_day":63.9,"flagged":false},{"from":"v1.2.1","to":"v1.3.0-RC","loc":5671,"days":7.17,"loc_per_day":791.1,"flagged":false},{"from":"v1.3.0-RC","to":"v1.3.0","loc":38,"days":6.12,"loc_per_day":6.2,"flagged":false},{"from":"v1.3.0","to":"v1.3.1-RC","loc":12,"days":4.11,"loc_per_day":2.9,"flagged":false},{"from":"v1.3.1-RC","to":"v1.3.1","loc":10,"days":0.94,"loc_per_day":10.6,"flagged":false},{"from":"v1.3.1","to":"v1.3.2-RC","loc":13,"days":0.71,"loc_per_day":18.3,"flagged":false},{"from":"v1.3.2-RC","to":"v1.3.2","loc":0,"days":2.65,"loc_per_day":0.0,"flagged":false},{"from":"v1.3.2","to":"v1.4.0-RC","loc":4369,"days":4.69,"loc_per_day":931.4,"flagged":false},{"from":"v1.4.0-RC","to":"v1.4.0","loc":382,"days":17.41,"loc_per_day":21.9,"flagged":false},{"from":"v1.4.0","to":"v1.4.1","loc":2,"days":13.91,"loc_per_day":0.1,"flagged":false},{"from":"v1.4.1","to":"v1.5.0-RC","loc":3922,"days":7.5,"loc_per_day":523.1,"flagged":false},{"from":"v1.5.0-RC","to":"v1.5.0","loc":76,"days":6.58,"loc_per_day":11.5,"flagged":false},{"from":"v1.5.0","to":"v1.5.1-RC","loc":101,"days":0.34,"loc_per_day":295.0,"flagged":false},{"from":"v1.5.1-RC","to":"v1.5.1","loc":37,"days":1.69,"loc_per_day":21.9,"flagged":false},{"from":"v1.5.1","to":"v1.5.2-RC","loc":12,"days":27.28,"loc_per_day":0.4,"flagged":false},{"from":"v1.5.2-RC","to":"v1.5.2","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v1.5.2","to":"v1.6.0-RC","loc":7659,"days":0.81,"loc_per_day":9439.9,"flagged":true},{"from":"v1.6.0-RC","to":"v1.6.0","loc":269,"days":6.85,"loc_per_day":39.3,"flagged":false},{"from":"v1.6.0","to":"v1.6.1","loc":0,"days":64.51,"loc_per_day":0.0,"flagged":false},{"from":"v1.6.1","to":"v1.7.0-RC","loc":6485,"days":30.57,"loc_per_day":212.1,"flagged":false},{"from":"v1.7.0-RC","to":"v1.7.0","loc":114,"days":12.02,"loc_per_day":9.5,"flagged":false},{"from":"v1.7.0","to":"v1.8.0-RC","loc":7614,"days":63.07,"loc_per_day":120.7,"flagged":false},{"from":"v1.8.0-RC","to":"v1.8.0","loc":324,"days":13.81,"loc_per_day":23.5,"flagged":false},{"from":"v1.8.0","to":"v1.9.0-RC","loc":2528,"days":35.61,"loc_per_day":71.0,"flagged":false},{"from":"v1.9.0-RC","to":"v1.9.0","loc":97,"days":6.37,"loc_per_day":15.2,"flagged":false},{"from":"v1.9.0","to":"v1.9.1","loc":252,"days":9.22,"loc_per_day":27.3,"flagged":false},{"from":"v1.9.1","to":"v1.9.2","loc":2,"days":0.04,"loc_per_day":48.0,"flagged":false},{"from":"v1.9.2","to":"v1.9.3","loc":1,"days":0.23,"loc_per_day":4.3,"flagged":false},{"from":"v1.9.3","to":"v1.9.4","loc":0,"days":36.14,"loc_per_day":0.0,"flagged":false},{"from":"v1.9.4","to":"v1.10.0-RC","loc":3343,"days":38.59,"loc_per_day":86.6,"flagged":false},{"from":"v1.10.0-RC","to":"v1.10.0","loc":445,"days":20.81,"loc_per_day":21.4,"flagged":false},{"from":"v1.10.0","to":"v1.10.1","loc":1,"days":0.37,"loc_per_day":2.7,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":48781.0,"index":0.256,"count:narrated_steps":0.0,"per_kloc:narrated_steps":0.0,"files:narrated_steps":0.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":25.0,"per_kloc:emoji_in_code":0.512,"files:emoji_in_code":7.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":0.0,"secrets_nonprod":0.0,"secrets_low_confidence":1.0},"findings":[{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit 0b028c84ab); removed from the current tree but still retrievable","path":"localizations/it_IT.json","line":307,"fingerprint":"0b028c84ab8a8edcf9648622ed3fe4b8ca013334:localizations/it_IT.json:generic-api-key:307"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":48.0,"findings_high":26.0,"findings_medium":18.0,"findings_low":4.0,"weighted_findings":28.8,"scanned_lines":48781.0,"parse_errors":0.0},"findings":[{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js","line":352,"fingerprint":"javascript.browser.security.insecure-document-method:extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js:352"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `p.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js","line":352,"fingerprint":"javascript.browser.security.insecure-innerhtml:extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js:352"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"javascript/contextMenus.js","line":32,"fingerprint":"javascript.browser.security.insecure-document-method:javascript/contextMenus.js:32"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `contextMenuEntry.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"javascript/contextMenus.js","line":32,"fingerprint":"javascript.browser.security.insecure-innerhtml:javascript/contextMenus.js:32"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"javascript/extraNetworks.js","line":662,"fingerprint":"javascript.browser.security.insecure-document-method:javascript/extraNetworks.js:662"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `newDiv.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"javascript/extraNetworks.js","line":662,"fingerprint":"javascript.browser.security.insecure-innerhtml:javascript/extraNetworks.js:662"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"javascript/textualInversion.js","line":9,"fingerprint":"javascript.browser.security.insecure-document-method:javascript/textualInversion.js:9"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `gradioApp().getElementById('ti_progress').innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"javascript/textualInversion.js","line":9,"fingerprint":"javascript.browser.security.insecure-innerhtml:javascript/textualInversion.js:9"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"javascript/ui_settings_hints.js","line":27,"fingerprint":"javascript.browser.security.insecure-document-method:javascript/ui_settings_hints.js:27"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `comment.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"javascript/ui_settings_hints.js","line":27,"fingerprint":"javascript.browser.security.insecure-innerhtml:javascript/ui_settings_hints.js:27"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"javascript/ui_settings_hints.js","line":35,"fingerprint":"javascript.browser.security.insecure-document-method:javascript/ui_settings_hints.js:35"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `comment.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"javascript/ui_settings_hints.js","line":35,"fingerprint":"javascript.browser.security.insecure-innerhtml:javascript/ui_settings_hints.js:35"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'check_output' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"modules/gitpython_hack.py","line":18,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:modules/gitpython_hack.py:18"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'check_output' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"modules/gitpython_hack.py","line":30,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:modules/gitpython_hack.py:30"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'check_output' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"modules/launch_utils.py","line":68,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:modules/launch_utils.py:68"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-tainted-env-args","severity":"high","message":"Detected subprocess function 'check_output' with user controlled data. A malicious actor could leverage this to perform command injection. You may consider using 'shlex.quote()'. [confidence medium]","path":"modules/launch_utils.py","line":68,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-tainted-env-args:modules/launch_utils.py:68"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'check_output' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"modules/launch_utils.py","line":76,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:modules/launch_utils.py:76"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-tainted-env-args","severity":"high","message":"Detected subprocess function 'check_output' with user controlled data. A malicious actor could leverage this to perform command injection. You may consider using 'shlex.quote()'. [confidence medium]","path":"modules/launch_utils.py","line":76,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-tainted-env-args:modules/launch_utils.py:76"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"modules/launch_utils.py","line":104,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:modules/launch_utils.py:104"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-tainted-env-args","severity":"high","message":"Detected subprocess function 'run' with user controlled data. A malicious actor could leverage this to perform command injection. You may consider using 'shlex.quote()'. [confidence medium]","path":"modules/launch_utils.py","line":104,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-tainted-env-args:modules/launch_utils.py:104"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"modules/launch_utils.py","line":148,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:modules/launch_utils.py:148"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'check_output' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"modules/launch_utils.py","line":205,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:modules/launch_utils.py:205"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-tainted-env-args","severity":"high","message":"Detected subprocess function 'check_output' with user controlled data. A malicious actor could leverage this to perform command injection. You may consider using 'shlex.quote()'. [confidence medium]","path":"modules/launch_utils.py","line":205,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-tainted-env-args:modules/launch_utils.py:205"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'check_output' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"modules/sysinfo.py","line":92,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:modules/sysinfo.py:92"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'check_output' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"modules/sysinfo.py","line":166,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:modules/sysinfo.py:166"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-spawn-process-audit","severity":"high","message":"Found dynamic content when spawning a process. This is dangerous if external data can reach this function call because it allows a malicious actor to execute commands. Ensure no external data reaches here. [confidence low]","path":"modules/util.py","line":207,"fingerprint":"python.lang.security.audit.dangerous-spawn-process-audit:modules/util.py:207"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js","line":352,"fingerprint":"javascript.lang.security.html-in-template-string:extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js:352"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-dynamic-method","severity":"medium","message":"Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low]","path":"extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js","line":705,"fingerprint":"javascript.lang.security.audit.unsafe-dynamic-method:extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js:705"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-dynamic-method","severity":"medium","message":"Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low]","path":"javascript/extraNetworks.js","line":179,"fingerprint":"javascript.lang.security.audit.unsafe-dynamic-method:javascript/extraNetworks.js:179"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-dynamic-method","severity":"medium","message":"Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low]","path":"javascript/extraNetworks.js","line":190,"fingerprint":"javascript.lang.security.audit.unsafe-dynamic-method:javascript/extraNetworks.js:190"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `text` function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user-controlled [confidence low]","path":"javascript/extraNetworks.js","line":236,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:javascript/extraNetworks.js:236"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-dynamic-method","severity":"medium","message":"Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low]","path":"javascript/token-counters.js","line":24,"fingerprint":"javascript.lang.security.audit.unsafe-dynamic-method:javascript/token-counters.js:24"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-dynamic-method","severity":"medium","message":"Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low]","path":"javascript/token-counters.js","line":29,"fingerprint":"javascript.lang.security.audit.unsafe-dynamic-method:javascript/token-counters.js:29"},{"rule_id":"opengrep/python.lang.security.audit.non-literal-import","severity":"medium","message":"Untrusted user input in `importlib.import_module()` function allows an attacker to load arbitrary code. Avoid dynamic values in `importlib.import_module()` or use a whitelist to prevent running untrusted code. [confidence low]","path":"modules/modelloader.py","line":111,"fingerprint":"python.lang.security.audit.non-literal-import:modules/modelloader.py:111"},{"rule_id":"opengrep/python.lang.security.insecure-hash-algorithm-md5","severity":"medium","message":"Detected MD5 hash algorithm which is considered insecure. MD5 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":"modules/processing.py","line":1674,"fingerprint":"python.lang.security.insecure-hash-algorithm-md5:modules/processing.py:1674"},{"rule_id":"opengrep/python.lang.security.audit.non-literal-import","severity":"medium","message":"Untrusted user input in `importlib.import_module()` function allows an attacker to load arbitrary code. Avoid dynamic values in `importlib.import_module()` or use a whitelist to prevent running untrusted code. [confidence low]","path":"modules/sd_hijack_utils.py","line":14,"fingerprint":"python.lang.security.audit.non-literal-import:modules/sd_hijack_utils.py:14"},{"rule_id":"opengrep/python.lang.security.audit.dynamic-urllib-use-detected","severity":"medium","message":"Detected a dynamic value being used with urllib. urllib supports 'file://' schemes, so a dynamic value controlled by a malicious actor may allow them to read arbitrary files. Audit uses of urllib calls to ensure user data cannot control the URLs, or consider using the 'requests' library instead. [confidence low]","path":"modules/sd_models.py","line":577,"fingerprint":"python.lang.security.audit.dynamic-urllib-use-detected:modules/sd_models.py:577"},{"rule_id":"opengrep/python.lang.security.audit.non-literal-import","severity":"medium","message":"Untrusted user input in `importlib.import_module()` function allows an attacker to load arbitrary code. Avoid dynamic values in `importlib.import_module()` or use a whitelist to prevent running untrusted code. [confidence low]","path":"modules/sd_models.py","line":781,"fingerprint":"python.lang.security.audit.non-literal-import:modules/sd_models.py:781"},{"rule_id":"opengrep/python.lang.security.audit.non-literal-import","severity":"medium","message":"Untrusted user input in `importlib.import_module()` function allows an attacker to load arbitrary code. Avoid dynamic values in `importlib.import_module()` or use a whitelist to prevent running untrusted code. [confidence low]","path":"modules/sd_models.py","line":783,"fingerprint":"python.lang.security.audit.non-literal-import:modules/sd_models.py:783"},{"rule_id":"opengrep/python.django.security.audit.avoid-query-set-extra","severity":"medium","message":"QuerySet.extra' does not provide safeguards against SQL injection and requires very careful use. SQL injection can lead to critical data being stolen by attackers. Instead of using '.extra', use the Django ORM and parameterized queries such as `People.objects.get(name='Bob')`. [confidence low]","path":"modules/ui.py","line":312,"fingerprint":"python.django.security.audit.avoid-query-set-extra:modules/ui.py:312"},{"rule_id":"opengrep/python.lang.security.audit.dynamic-urllib-use-detected","severity":"medium","message":"Detected a dynamic value being used with urllib. urllib supports 'file://' schemes, so a dynamic value controlled by a malicious actor may allow them to read arbitrary files. Audit uses of urllib calls to ensure user data cannot control the URLs, or consider using the 'requests' library instead. [confidence low]","path":"modules/ui_extensions.py","line":411,"fingerprint":"python.lang.security.audit.dynamic-urllib-use-detected:modules/ui_extensions.py:411"},{"rule_id":"opengrep/python.lang.security.audit.exec-detected","severity":"medium","message":"Detected the use of exec(). exec() can be dangerous if used to evaluate dynamic content. If this content can be input from outside the program, this may be a code injection vulnerability. Ensure evaluated content is not definable by external sources. [confidence low]","path":"scripts/custom_code.py","line":31,"fingerprint":"python.lang.security.audit.exec-detected:scripts/custom_code.py:31"},{"rule_id":"opengrep/python.lang.security.audit.eval-detected","severity":"medium","message":"Detected the use of eval(). eval() can be dangerous if used to evaluate dynamic content. If this content can be input from outside the program, this may be a code injection vulnerability. Ensure evaluated content is not definable by external sources. [confidence low]","path":"scripts/custom_code.py","line":33,"fingerprint":"python.lang.security.audit.eval-detected:scripts/custom_code.py:33"},{"rule_id":"opengrep/python.lang.security.audit.exec-detected","severity":"medium","message":"Detected the use of exec(). exec() can be dangerous if used to evaluate dynamic content. If this content can be input from outside the program, this may be a code injection vulnerability. Ensure evaluated content is not definable by external sources. [confidence low]","path":"scripts/custom_code.py","line":35,"fingerprint":"python.lang.security.audit.exec-detected:scripts/custom_code.py:35"},{"rule_id":"opengrep/javascript.browser.security.js-open-redirect-from-function","severity":"low","message":"The application accepts potentially user-controlled input `theme` which can control the location of the current window context. This can lead two types of vulnerabilities open-redirection and Cross-Site-Scripting (XSS) with JavaScript URIs. It is recommended to validate user-controllable input befor [confidence low]","path":"javascript/ui.js","line":6,"fingerprint":"javascript.browser.security.js-open-redirect-from-function:javascript/ui.js:6"},{"rule_id":"opengrep/python.lang.security.use-defusedcsv","severity":"low","message":"Detected the generation of a CSV file using the built-in `csv` module. If user data is used to generate the data in this file, it is possible that an attacker could inject a formula when the CSV is imported into a spreadsheet application that runs an attacker script, which could steal data from the  [confidence low]","path":"modules/ui_common.py","line":60,"fingerprint":"python.lang.security.use-defusedcsv:modules/ui_common.py:60"},{"rule_id":"opengrep/python.lang.security.use-defusedcsv","severity":"low","message":"Detected the generation of a CSV file using the built-in `csv` module. If user data is used to generate the data in this file, it is possible that an attacker could inject a formula when the CSV is imported into a spreadsheet application that runs an attacker script, which could steal data from the  [confidence low]","path":"modules/ui_common.py","line":113,"fingerprint":"python.lang.security.use-defusedcsv:modules/ui_common.py:113"},{"rule_id":"opengrep/python.lang.security.use-defusedcsv","severity":"low","message":"Detected the generation of a CSV file using the built-in `csv` module. If user data is used to generate the data in this file, it is possible that an attacker could inject a formula when the CSV is imported into a spreadsheet application that runs an attacker script, which could steal data from the  [confidence low]","path":"scripts/xyz_grid.py","line":206,"fingerprint":"python.lang.security.use-defusedcsv:scripts/xyz_grid.py:206"}],"evidence":[],"data":{"rulesets":["python","javascript","bash"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":12.0,"vulnerabilities":183.0,"vulns_critical":20.0,"vulns_high":108.0,"vulns_medium":48.0,"vulns_low":4.0,"vulns_unknown":3.0,"penalty":121.0},"findings":[{"rule_id":"osv/GHSA-gqvf-3hgp-5hxv","severity":"critical","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2023-255, GHSA-gqvf-3hgp-5hxv; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-gqvf-3hgp-5hxv"},{"rule_id":"osv/GHSA-576c-3j53-r9jj","severity":"critical","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2024-215, GHSA-576c-3j53-r9jj; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-576c-3j53-r9jj"},{"rule_id":"osv/GHSA-279j-x4gx-hfrh","severity":"critical","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2024-219, GHSA-279j-x4gx-hfrh; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-279j-x4gx-hfrh"},{"rule_id":"osv/PYSEC-2024-274","severity":"critical","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2024-274; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):PYSEC-2024-274"},{"rule_id":"osv/PYSEC-2024-321","severity":"critical","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2024-321; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):PYSEC-2024-321"},{"rule_id":"osv/GHSA-j2jg-fq62-7c3h","severity":"critical","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2025-118, GHSA-j2jg-fq62-7c3h; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-j2jg-fq62-7c3h"},{"rule_id":"osv/GHSA-m842-4qm8-7gpq","severity":"critical","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-345, GHSA-m842-4qm8-7gpq; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-m842-4qm8-7gpq"},{"rule_id":"osv/GHSA-3863-2447-669p","severity":"critical","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2023-300, GHSA-3863-2447-669p; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-3863-2447-669p"},{"rule_id":"osv/GHSA-fgcw-684q-jj6r","severity":"critical","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2026-2290, GHSA-fgcw-684q-jj6r; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-fgcw-684q-jj6r"},{"rule_id":"osv/GHSA-x2qx-6953-8485","severity":"critical","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-2161, GHSA-x2qx-6953-8485","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-x2qx-6953-8485"},{"rule_id":"osv/GHSA-284h-m62q-gf8w","severity":"critical","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3786, GHSA-284h-m62q-gf8w","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-284h-m62q-gf8w"},{"rule_id":"osv/GHSA-5x8w-8jj5-q52h","severity":"critical","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-4330, GHSA-5x8w-8jj5-q52h","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-5x8w-8jj5-q52h"},{"rule_id":"osv/GHSA-8g5g-8vmr-9782","severity":"critical","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-4332, GHSA-8g5g-8vmr-9782","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-8g5g-8vmr-9782"},{"rule_id":"osv/GHSA-xvh5-g6gv-559v","severity":"critical","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-4363, GHSA-xvh5-g6gv-559v","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-xvh5-g6gv-559v"},{"rule_id":"osv/GHSA-3f63-hfp8-52jq","severity":"critical","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-457, GHSA-3f63-hfp8-52jq","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-3f63-hfp8-52jq"},{"rule_id":"osv/GHSA-332p-7hrc-92wf","severity":"critical","message":"pillow@9.5.0 (PyPI) is affected by GHSA-332p-7hrc-92wf","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-332p-7hrc-92wf"},{"rule_id":"osv/GHSA-w889-685w-c8fh","severity":"critical","message":"pillow@9.5.0 (PyPI) is affected by GHSA-w889-685w-c8fh","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-w889-685w-c8fh"},{"rule_id":"osv/PYSEC-2026-3974","severity":"critical","message":"pytorch-lightning@1.9.4 (PyPI) is affected by PYSEC-2026-3974","path":"requirements_versions.txt","line":null,"fingerprint":"pytorch-lightning@1.9.4 (PyPI):PYSEC-2026-3974"},{"rule_id":"osv/PYSEC-2026-3975","severity":"critical","message":"pytorch-lightning@1.9.4 (PyPI) is affected by PYSEC-2026-3975","path":"requirements_versions.txt","line":null,"fingerprint":"pytorch-lightning@1.9.4 (PyPI):PYSEC-2026-3975"},{"rule_id":"osv/GHSA-4cv3-v7pv-rfhf","severity":"critical","message":"pytorch-lightning@1.9.4 (PyPI) is affected by PYSEC-2026-507, GHSA-4cv3-v7pv-rfhf","path":"requirements_versions.txt","line":null,"fingerprint":"pytorch-lightning@1.9.4 (PyPI):GHSA-4cv3-v7pv-rfhf"},{"rule_id":"osv/PYSEC-2024-38","severity":"high","message":"fastapi@0.90.1 (PyPI) is affected by PYSEC-2024-38","path":"requirements.txt","line":null,"fingerprint":"fastapi@0.90.1 (PyPI):PYSEC-2024-38"},{"rule_id":"osv/GHSA-6qm2-wpxq-7qh2","severity":"high","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2023-249, GHSA-6qm2-wpxq-7qh2; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-6qm2-wpxq-7qh2"},{"rule_id":"osv/GHSA-6v6g-j5fq-hpvw","severity":"high","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2024-184, GHSA-6v6g-j5fq-hpvw; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-6v6g-j5fq-hpvw"},{"rule_id":"osv/GHSA-3c67-5hwx-f6wx","severity":"high","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2024-196, GHSA-3c67-5hwx-f6wx; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-3c67-5hwx-f6wx"},{"rule_id":"osv/GHSA-8c87-gvhj-xm8m","severity":"high","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2024-216, GHSA-8c87-gvhj-xm8m; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-8c87-gvhj-xm8m"},{"rule_id":"osv/GHSA-4q3c-cj7g-jcwf","severity":"high","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2024-217, GHSA-4q3c-cj7g-jcwf; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-4q3c-cj7g-jcwf"},{"rule_id":"osv/GHSA-xh2x-3mrm-fwqm","severity":"high","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2024-218, GHSA-xh2x-3mrm-fwqm; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-xh2x-3mrm-fwqm"},{"rule_id":"osv/GHSA-rvfh-h6c7-fc3c","severity":"high","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2024-255, GHSA-rvfh-h6c7-fc3c; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-rvfh-h6c7-fc3c"},{"rule_id":"osv/GHSA-5cpq-9538-jm2j","severity":"high","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-1410, GHSA-5cpq-9538-jm2j; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-5cpq-9538-jm2j"},{"rule_id":"osv/GHSA-973g-55hp-3frw","severity":"high","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-1413, GHSA-973g-55hp-3frw; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-973g-55hp-3frw"},{"rule_id":"osv/GHSA-g9cj-cfpp-4g2x","severity":"high","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-1415, GHSA-g9cj-cfpp-4g2x; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-g9cj-cfpp-4g2x"},{"rule_id":"osv/GHSA-r364-m2j9-mf4h","severity":"high","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-1420, GHSA-r364-m2j9-mf4h; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-r364-m2j9-mf4h"},{"rule_id":"osv/GHSA-7hp7-4p35-3cx2","severity":"high","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-2178, GHSA-7hp7-4p35-3cx2; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-7hp7-4p35-3cx2"},{"rule_id":"osv/GHSA-j36p-7w88-g82j","severity":"high","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-2179, GHSA-j36p-7w88-g82j; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-j36p-7w88-g82j"},{"rule_id":"osv/GHSA-39mp-8hj3-5c49","severity":"high","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-64, GHSA-39mp-8hj3-5c49; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-39mp-8hj3-5c49"},{"rule_id":"osv/GHSA-jmh7-g254-2cq9","severity":"high","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-66, GHSA-jmh7-g254-2cq9; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-jmh7-g254-2cq9"},{"rule_id":"osv/GHSA-f3h9-8phc-6gvh","severity":"high","message":"gradio@3.41.2 (PyPI) is affected by GHSA-f3h9-8phc-6gvh; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-f3h9-8phc-6gvh"},{"rule_id":"osv/GHSA-7gcm-g887-7qv7","severity":"high","message":"protobuf@3.20.0 (PyPI) is affected by PYSEC-2026-1805, GHSA-7gcm-g887-7qv7; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"protobuf@3.20.0 (PyPI):GHSA-7gcm-g887-7qv7"},{"rule_id":"osv/GHSA-8qvm-5x2c-j2w7","severity":"high","message":"protobuf@3.20.0 (PyPI) is affected by PYSEC-2026-1806, GHSA-8qvm-5x2c-j2w7; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"protobuf@3.20.0 (PyPI):GHSA-8qvm-5x2c-j2w7"},{"rule_id":"osv/GHSA-8gq9-2x98-w8hf","severity":"high","message":"protobuf@3.20.0 (PyPI) is affected by PYSEC-2026-899, GHSA-8gq9-2x98-w8hf; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"protobuf@3.20.0 (PyPI):GHSA-8gq9-2x98-w8hf"},{"rule_id":"osv/GHSA-v68g-wm8c-6x7j","severity":"high","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2023-301, GHSA-v68g-wm8c-6x7j; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-v68g-wm8c-6x7j"},{"rule_id":"osv/GHSA-qxrp-vhvm-j765","severity":"high","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2024-227, GHSA-qxrp-vhvm-j765; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-qxrp-vhvm-j765"},{"rule_id":"osv/GHSA-wrfc-pvp9-mr9g","severity":"high","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2024-228, GHSA-wrfc-pvp9-mr9g; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-wrfc-pvp9-mr9g"},{"rule_id":"osv/GHSA-hxxf-235m-72v3","severity":"high","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2024-229, GHSA-hxxf-235m-72v3; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-hxxf-235m-72v3"},{"rule_id":"osv/PYSEC-2025-211","severity":"high","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2025-211; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):PYSEC-2025-211"},{"rule_id":"osv/PYSEC-2025-212","severity":"high","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2025-212; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):PYSEC-2025-212"},{"rule_id":"osv/PYSEC-2025-213","severity":"high","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2025-213; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):PYSEC-2025-213"},{"rule_id":"osv/PYSEC-2025-214","severity":"high","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2025-214; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):PYSEC-2025-214"},{"rule_id":"osv/PYSEC-2025-215","severity":"high","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2025-215; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):PYSEC-2025-215"},{"rule_id":"osv/PYSEC-2025-216","severity":"high","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2025-216; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):PYSEC-2025-216"},{"rule_id":"osv/PYSEC-2025-217","severity":"high","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2025-217; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):PYSEC-2025-217"},{"rule_id":"osv/PYSEC-2025-218","severity":"high","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2025-218; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):PYSEC-2025-218"},{"rule_id":"osv/GHSA-qq3j-4f4f-9583","severity":"high","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2025-40, GHSA-qq3j-4f4f-9583; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-qq3j-4f4f-9583"},{"rule_id":"osv/GHSA-69w3-r845-3855","severity":"high","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2026-2288, GHSA-69w3-r845-3855; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-69w3-r845-3855"},{"rule_id":"osv/GHSA-29pf-2h5f-8g72","severity":"high","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2026-2289, GHSA-29pf-2h5f-8g72; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-29pf-2h5f-8g72"},{"rule_id":"osv/GHSA-xrqw-3rrv-vx5w","severity":"high","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2026-3929, GHSA-xrqw-3rrv-vx5w; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-xrqw-3rrv-vx5w"},{"rule_id":"osv/GHSA-wfm5-v35h-vwf4","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2023-161, GHSA-wfm5-v35h-vwf4","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-wfm5-v35h-vwf4"},{"rule_id":"osv/GHSA-2mqj-m65w-jghx","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2024-4, GHSA-2mqj-m65w-jghx","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-2mqj-m65w-jghx"},{"rule_id":"osv/GHSA-rpm5-65cw-6hj4","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-2160, GHSA-rpm5-65cw-6hj4","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-rpm5-65cw-6hj4"},{"rule_id":"osv/GHSA-7545-fcxq-7j24","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-2162, GHSA-7545-fcxq-7j24","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-7545-fcxq-7j24"},{"rule_id":"osv/GHSA-v87r-6q3f-2j67","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-2163, GHSA-v87r-6q3f-2j67","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-v87r-6q3f-2j67"},{"rule_id":"osv/GHSA-jm78-9fvv-mhgr","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3783, GHSA-jm78-9fvv-mhgr","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-jm78-9fvv-mhgr"},{"rule_id":"osv/GHSA-hmq2-w58f-27jc","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3784, GHSA-hmq2-w58f-27jc","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-hmq2-w58f-27jc"},{"rule_id":"osv/GHSA-7833-fr7j-v32q","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3785, GHSA-7833-fr7j-v32q","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-7833-fr7j-v32q"},{"rule_id":"osv/GHSA-8mcc-hrx5-hvxc","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3787, GHSA-8mcc-hrx5-hvxc","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-8mcc-hrx5-hvxc"},{"rule_id":"osv/GHSA-5xxx-qhh7-9287","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3788, GHSA-5xxx-qhh7-9287","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-5xxx-qhh7-9287"},{"rule_id":"osv/GHSA-2f96-g7mh-g2hx","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3836, GHSA-2f96-g7mh-g2hx","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-2f96-g7mh-g2hx"},{"rule_id":"osv/GHSA-4gmw-gg2m-w46p","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3838, GHSA-4gmw-gg2m-w46p","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-4gmw-gg2m-w46p"},{"rule_id":"osv/GHSA-956x-8gvw-wg5v","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3839, GHSA-956x-8gvw-wg5v","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-956x-8gvw-wg5v"},{"rule_id":"osv/GHSA-9rj7-rf2p-w77r","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3840, GHSA-9rj7-rf2p-w77r","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-9rj7-rf2p-w77r"},{"rule_id":"osv/GHSA-rwj8-pgh3-r573","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3842, GHSA-rwj8-pgh3-r573","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-rwj8-pgh3-r573"},{"rule_id":"osv/GHSA-wvpp-8hx9-p66j","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3843, GHSA-wvpp-8hx9-p66j","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-wvpp-8hx9-p66j"},{"rule_id":"osv/GHSA-539m-9xh6-q6rr","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3948, GHSA-539m-9xh6-q6rr","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-539m-9xh6-q6rr"},{"rule_id":"osv/GHSA-3f7w-8rr8-f37f","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3949, GHSA-3f7w-8rr8-f37f","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-3f7w-8rr8-f37f"},{"rule_id":"osv/GHSA-94p4-4cq8-9g67","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3951, GHSA-94p4-4cq8-9g67","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-94p4-4cq8-9g67"},{"rule_id":"osv/GHSA-6p8h-3wgx-97gf","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3952, GHSA-6p8h-3wgx-97gf","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-6p8h-3wgx-97gf"},{"rule_id":"osv/GHSA-r9mr-m37c-5fr3","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3953, GHSA-r9mr-m37c-5fr3","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-r9mr-m37c-5fr3"},{"rule_id":"osv/GHSA-mv93-w799-cj2w","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3980, GHSA-mv93-w799-cj2w","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-mv93-w799-cj2w"},{"rule_id":"osv/GHSA-3rp5-jjmw-4wv2","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3981, GHSA-3rp5-jjmw-4wv2","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-3rp5-jjmw-4wv2"},{"rule_id":"osv/GHSA-239g-whfq-7xj9","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3982, GHSA-239g-whfq-7xj9","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-239g-whfq-7xj9"},{"rule_id":"osv/GHSA-g5vv-9gxw-82hx","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3984, GHSA-g5vv-9gxw-82hx","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-g5vv-9gxw-82hx"},{"rule_id":"osv/GHSA-fjr4-x663-mwxc","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3995, GHSA-fjr4-x663-mwxc","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-fjr4-x663-mwxc"},{"rule_id":"osv/GHSA-23mf-xhv8-69c2","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by GHSA-23mf-xhv8-69c2","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-23mf-xhv8-69c2"},{"rule_id":"osv/GHSA-83vg-56qc-22m7","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by GHSA-83vg-56qc-22m7","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-83vg-56qc-22m7"},{"rule_id":"osv/GHSA-f9j4-qggq-h239","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by GHSA-f9j4-qggq-h239","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-f9j4-qggq-h239"},{"rule_id":"osv/GHSA-m64x-33q8-m5h7","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by GHSA-m64x-33q8-m5h7","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-m64x-33q8-m5h7"},{"rule_id":"osv/GHSA-w8jc-g24h-crhw","severity":"high","message":"gitpython@3.1.32 (PyPI) is affected by GHSA-w8jc-g24h-crhw","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-w8jc-g24h-crhw"},{"rule_id":"osv/GHSA-8ghj-p4vj-mr35","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2023-227, GHSA-8ghj-p4vj-mr35","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-8ghj-p4vj-mr35"},{"rule_id":"osv/GHSA-44wm-f244-xhp3","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-1793, GHSA-44wm-f244-xhp3","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-44wm-f244-xhp3"},{"rule_id":"osv/GHSA-j7hp-h8jx-5ppr","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-1794, GHSA-j7hp-h8jx-5ppr","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-j7hp-h8jx-5ppr"},{"rule_id":"osv/GHSA-8v84-f9pq-wr9x","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-2253, GHSA-8v84-f9pq-wr9x","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-8v84-f9pq-wr9x"},{"rule_id":"osv/GHSA-5x94-69rx-g8h2","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-2254, GHSA-5x94-69rx-g8h2","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-5x94-69rx-g8h2"},{"rule_id":"osv/GHSA-45hq-cxwh-f6vc","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-2255, GHSA-45hq-cxwh-f6vc","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-45hq-cxwh-f6vc"},{"rule_id":"osv/GHSA-phj9-mv4w-65pm","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-2256, GHSA-phj9-mv4w-65pm","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-phj9-mv4w-65pm"},{"rule_id":"osv/GHSA-6r8x-57c9-28j4","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-3451, GHSA-6r8x-57c9-28j4","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-6r8x-57c9-28j4"},{"rule_id":"osv/GHSA-9hw9-ch79-4vh6","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-3453, GHSA-9hw9-ch79-4vh6","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-9hw9-ch79-4vh6"},{"rule_id":"osv/GHSA-xj96-63gp-2gmr","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-3454, GHSA-xj96-63gp-2gmr","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-xj96-63gp-2gmr"},{"rule_id":"osv/GHSA-62p4-gmf7-7g93","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-3493, GHSA-62p4-gmf7-7g93","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-62p4-gmf7-7g93"},{"rule_id":"osv/GHSA-jjj6-mw9f-p565","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-3495, GHSA-jjj6-mw9f-p565","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-jjj6-mw9f-p565"},{"rule_id":"osv/GHSA-vjc4-5qp5-m44j","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-3496, GHSA-vjc4-5qp5-m44j","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-vjc4-5qp5-m44j"},{"rule_id":"osv/GHSA-27h8-gf7j-v5hc","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-4326, GHSA-27h8-gf7j-v5hc","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-27h8-gf7j-v5hc"},{"rule_id":"osv/GHSA-4558-3h8r-v8xp","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-4327, GHSA-4558-3h8r-v8xp","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-4558-3h8r-v8xp"},{"rule_id":"osv/GHSA-58r4-6rv3-gfh8","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-4329, GHSA-58r4-6rv3-gfh8","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-58r4-6rv3-gfh8"},{"rule_id":"osv/GHSA-7mwm-ghpf-9vrm","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-4331, GHSA-7mwm-ghpf-9vrm","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-7mwm-ghpf-9vrm"},{"rule_id":"osv/GHSA-pchr-8j38-3x4p","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-4334, GHSA-pchr-8j38-3x4p","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-pchr-8j38-3x4p"},{"rule_id":"osv/GHSA-xgh8-jp6q-p5x8","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-4335, GHSA-xgh8-jp6q-p5x8","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-xgh8-jp6q-p5x8"},{"rule_id":"osv/GHSA-g842-9rc4-69pw","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-4338, GHSA-g842-9rc4-69pw","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-g842-9rc4-69pw"},{"rule_id":"osv/GHSA-3j72-p6qg-6xp7","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-4341, GHSA-3j72-p6qg-6xp7","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-3j72-p6qg-6xp7"},{"rule_id":"osv/GHSA-9v9v-9qvf-h2hj","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-4343, GHSA-9v9v-9qvf-h2hj","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-9v9v-9qvf-h2hj"},{"rule_id":"osv/GHSA-22hg-r758-rrw9","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by GHSA-22hg-r758-rrw9","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-22hg-r758-rrw9"},{"rule_id":"osv/GHSA-5xm2-6676-qcp9","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by GHSA-5xm2-6676-qcp9","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-5xm2-6676-qcp9"},{"rule_id":"osv/GHSA-65qm-jvmh-6pqg","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by GHSA-65qm-jvmh-6pqg","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-65qm-jvmh-6pqg"},{"rule_id":"osv/GHSA-c6hw-5grf-ff96","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by GHSA-c6hw-5grf-ff96","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-c6hw-5grf-ff96"},{"rule_id":"osv/GHSA-f2g6-542v-9j58","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by GHSA-f2g6-542v-9j58","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-f2g6-542v-9j58"},{"rule_id":"osv/GHSA-g7cr-3p24-7wf7","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by GHSA-g7cr-3p24-7wf7","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-g7cr-3p24-7wf7"},{"rule_id":"osv/GHSA-gg2r-wvfm-q9rx","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by GHSA-gg2r-wvfm-q9rx","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-gg2r-wvfm-q9rx"},{"rule_id":"osv/GHSA-jg86-v3jv-hrpm","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by GHSA-jg86-v3jv-hrpm","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-jg86-v3jv-hrpm"},{"rule_id":"osv/GHSA-mrfp-p49p-3hf2","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by GHSA-mrfp-p49p-3hf2","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-mrfp-p49p-3hf2"},{"rule_id":"osv/GHSA-p4wg-p73j-c528","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by GHSA-p4wg-p73j-c528","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-p4wg-p73j-c528"},{"rule_id":"osv/GHSA-q45j-58j2-45rg","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by GHSA-q45j-58j2-45rg","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-q45j-58j2-45rg"},{"rule_id":"osv/GHSA-xcvg-w56q-r89m","severity":"high","message":"pillow@9.5.0 (PyPI) is affected by GHSA-xcvg-w56q-r89m","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-xcvg-w56q-r89m"},{"rule_id":"osv/GHSA-4j2p-28q2-5m79","severity":"high","message":"accelerate@0.21.0 (PyPI) is affected by PYSEC-2026-3804, GHSA-4j2p-28q2-5m79","path":"requirements_versions.txt","line":null,"fingerprint":"accelerate@0.21.0 (PyPI):GHSA-4j2p-28q2-5m79"},{"rule_id":"osv/PYSEC-2024-38","severity":"high","message":"fastapi@0.94.0 (PyPI) is affected by PYSEC-2024-38","path":"requirements_versions.txt","line":null,"fingerprint":"fastapi@0.94.0 (PyPI):PYSEC-2024-38"},{"rule_id":"osv/GHSA-98fp-7v67-4v3q","severity":"high","message":"pytorch-lightning@1.9.4 (PyPI) is affected by PYSEC-2026-1857, GHSA-98fp-7v67-4v3q","path":"requirements_versions.txt","line":null,"fingerprint":"pytorch-lightning@1.9.4 (PyPI):GHSA-98fp-7v67-4v3q"},{"rule_id":"osv/GHSA-75m9-98v2-hjpm","severity":"high","message":"pytorch-lightning@1.9.4 (PyPI) is affected by PYSEC-2026-3043, GHSA-75m9-98v2-hjpm","path":"requirements_versions.txt","line":null,"fingerprint":"pytorch-lightning@1.9.4 (PyPI):GHSA-75m9-98v2-hjpm"},{"rule_id":"osv/PYSEC-2026-3967","severity":"high","message":"pytorch-lightning@1.9.4 (PyPI) is affected by PYSEC-2026-3967","path":"requirements_versions.txt","line":null,"fingerprint":"pytorch-lightning@1.9.4 (PyPI):PYSEC-2026-3967"},{"rule_id":"osv/GHSA-5rjg-fvgr-3xxf","severity":"high","message":"setuptools@69.5.1 (PyPI) is affected by PYSEC-2025-49, GHSA-5rjg-fvgr-3xxf","path":"requirements_versions.txt","line":null,"fingerprint":"setuptools@69.5.1 (PyPI):GHSA-5rjg-fvgr-3xxf"},{"rule_id":"osv/GHSA-cx63-2mw6-8hw5","severity":"high","message":"setuptools@69.5.1 (PyPI) is affected by PYSEC-2026-1918, GHSA-cx63-2mw6-8hw5","path":"requirements_versions.txt","line":null,"fingerprint":"setuptools@69.5.1 (PyPI):GHSA-cx63-2mw6-8hw5"},{"rule_id":"osv/GHSA-6w46-j5rx-g56g","severity":"medium","message":"pytest@7.3 (PyPI) is affected by PYSEC-2026-1845, GHSA-6w46-j5rx-g56g","path":"requirements-test.txt","line":null,"fingerprint":"pytest@7.3 (PyPI):GHSA-6w46-j5rx-g56g"},{"rule_id":"osv/GHSA-37qc-qgx6-9xjv","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2024-197, GHSA-37qc-qgx6-9xjv; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-37qc-qgx6-9xjv"},{"rule_id":"osv/GHSA-hm3c-93pg-4cxw","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2024-198, GHSA-hm3c-93pg-4cxw; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-hm3c-93pg-4cxw"},{"rule_id":"osv/GHSA-j757-pf57-f8r4","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2024-199, GHSA-j757-pf57-f8r4; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-j757-pf57-f8r4"},{"rule_id":"osv/GHSA-77xq-6g77-h274","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2024-213, GHSA-77xq-6g77-h274; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-77xq-6g77-h274"},{"rule_id":"osv/GHSA-89v2-pqfv-c5r9","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2024-214, GHSA-89v2-pqfv-c5r9; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-89v2-pqfv-c5r9"},{"rule_id":"osv/GHSA-gvv6-33j7-884g","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2024-220, GHSA-gvv6-33j7-884g; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-gvv6-33j7-884g"},{"rule_id":"osv/GHSA-34rf-p3r3-58x2","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-1407, GHSA-34rf-p3r3-58x2; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-34rf-p3r3-58x2"},{"rule_id":"osv/GHSA-3gf9-wv65-gwh9","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-1408, GHSA-3gf9-wv65-gwh9; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-3gf9-wv65-gwh9"},{"rule_id":"osv/GHSA-48cq-79qq-6f7x","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-1409, GHSA-48cq-79qq-6f7x; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-48cq-79qq-6f7x"},{"rule_id":"osv/GHSA-7v2w-h4gh-w5cv","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-1411, GHSA-7v2w-h4gh-w5cv; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-7v2w-h4gh-w5cv"},{"rule_id":"osv/GHSA-g6c9-f4xm-9j4x","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-1414, GHSA-g6c9-f4xm-9j4x; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-g6c9-f4xm-9j4x"},{"rule_id":"osv/GHSA-hmx6-r76c-85g9","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-1416, GHSA-hmx6-r76c-85g9; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-hmx6-r76c-85g9"},{"rule_id":"osv/GHSA-prpg-p95c-32fv","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-1418, GHSA-prpg-p95c-32fv; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-prpg-p95c-32fv"},{"rule_id":"osv/GHSA-qh6x-j82h-vpf9","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-1419, GHSA-qh6x-j82h-vpf9; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-qh6x-j82h-vpf9"},{"rule_id":"osv/GHSA-pfjf-5gxr-995x","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-65, GHSA-pfjf-5gxr-995x; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-pfjf-5gxr-995x"},{"rule_id":"osv/GHSA-26jh-r8g2-6fpr","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by GHSA-26jh-r8g2-6fpr; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-26jh-r8g2-6fpr"},{"rule_id":"osv/GHSA-8jw3-6x8j-v96g","severity":"medium","message":"gradio@3.41.2 (PyPI) is affected by GHSA-8jw3-6x8j-v96g; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-8jw3-6x8j-v96g"},{"rule_id":"osv/GHSA-37mw-44qp-f5jm","severity":"medium","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2026-1977, GHSA-37mw-44qp-f5jm; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-37mw-44qp-f5jm"},{"rule_id":"osv/GHSA-4w7r-h757-3r74","severity":"medium","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2026-1980, GHSA-4w7r-h757-3r74; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-4w7r-h757-3r74"},{"rule_id":"osv/GHSA-59p9-h35m-wg4g","severity":"medium","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2026-1981, GHSA-59p9-h35m-wg4g; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-59p9-h35m-wg4g"},{"rule_id":"osv/GHSA-6rvg-6v2m-4j46","severity":"medium","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2026-1982, GHSA-6rvg-6v2m-4j46; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-6rvg-6v2m-4j46"},{"rule_id":"osv/GHSA-9356-575x-2w9m","severity":"medium","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2026-1983, GHSA-9356-575x-2w9m; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-9356-575x-2w9m"},{"rule_id":"osv/GHSA-fpwr-67px-3qhx","severity":"medium","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2026-1984, GHSA-fpwr-67px-3qhx; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-fpwr-67px-3qhx"},{"rule_id":"osv/GHSA-jjph-296x-mrcr","severity":"medium","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2026-1985, GHSA-jjph-296x-mrcr; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-jjph-296x-mrcr"},{"rule_id":"osv/GHSA-q2wp-rjmx-x6x9","severity":"medium","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2026-1987, GHSA-q2wp-rjmx-x6x9; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-q2wp-rjmx-x6x9"},{"rule_id":"osv/GHSA-rcv9-qm8p-9p6j","severity":"medium","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2026-1988, GHSA-rcv9-qm8p-9p6j; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-rcv9-qm8p-9p6j"},{"rule_id":"osv/GHSA-cwvm-v4w8-q58c","severity":"medium","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2023-165, GHSA-cwvm-v4w8-q58c","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-cwvm-v4w8-q58c"},{"rule_id":"osv/GHSA-3wxw-xv34-2frg","severity":"medium","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3837, GHSA-3wxw-xv34-2frg","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-3wxw-xv34-2frg"},{"rule_id":"osv/GHSA-hh9p-6wh2-4mfc","severity":"medium","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3841, GHSA-hh9p-6wh2-4mfc","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-hh9p-6wh2-4mfc"},{"rule_id":"osv/GHSA-p538-c434-8v24","severity":"medium","message":"gitpython@3.1.32 (PyPI) is affected by PYSEC-2026-3950, GHSA-p538-c434-8v24","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-p538-c434-8v24"},{"rule_id":"osv/GHSA-59cr-6r3x-644w","severity":"medium","message":"gitpython@3.1.32 (PyPI) is affected by GHSA-59cr-6r3x-644w","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-59cr-6r3x-644w"},{"rule_id":"osv/GHSA-fx3j-rwgx-fr94","severity":"medium","message":"gitpython@3.1.32 (PyPI) is affected by GHSA-fx3j-rwgx-fr94","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-fx3j-rwgx-fr94"},{"rule_id":"osv/GHSA-gq48-pqfc-9p58","severity":"medium","message":"gitpython@3.1.32 (PyPI) is affected by GHSA-gq48-pqfc-9p58","path":"requirements_versions.txt","line":null,"fingerprint":"gitpython@3.1.32 (PyPI):GHSA-gq48-pqfc-9p58"},{"rule_id":"osv/PYSEC-2023-175","severity":"medium","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2023-175","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):PYSEC-2023-175"},{"rule_id":"osv/GHSA-wjx4-4jcj-g98j","severity":"medium","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-165, GHSA-wjx4-4jcj-g98j","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-wjx4-4jcj-g98j"},{"rule_id":"osv/GHSA-4x4j-2g7c-83w6","severity":"medium","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-2257, GHSA-4x4j-2g7c-83w6","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-4x4j-2g7c-83w6"},{"rule_id":"osv/GHSA-r73j-pqj5-w3x7","severity":"medium","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-2874, GHSA-r73j-pqj5-w3x7","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-r73j-pqj5-w3x7"},{"rule_id":"osv/GHSA-fj7v-r99m-22gq","severity":"medium","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-3494, GHSA-fj7v-r99m-22gq","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-fj7v-r99m-22gq"},{"rule_id":"osv/GHSA-p8hx-v2p6-rp84","severity":"medium","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-4337, GHSA-p8hx-v2p6-rp84","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-p8hx-v2p6-rp84"},{"rule_id":"osv/GHSA-4rm8-3hmm-39fg","severity":"medium","message":"pillow@9.5.0 (PyPI) is affected by PYSEC-2026-4340, GHSA-4rm8-3hmm-39fg","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-4rm8-3hmm-39fg"},{"rule_id":"osv/GHSA-24rc-8hj2-v98c","severity":"medium","message":"pillow@9.5.0 (PyPI) is affected by GHSA-24rc-8hj2-v98c","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-24rc-8hj2-v98c"},{"rule_id":"osv/GHSA-254f-3936-288h","severity":"medium","message":"pillow@9.5.0 (PyPI) is affected by GHSA-254f-3936-288h","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-254f-3936-288h"},{"rule_id":"osv/GHSA-462x-pgg6-55fp","severity":"medium","message":"pillow@9.5.0 (PyPI) is affected by GHSA-462x-pgg6-55fp","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-462x-pgg6-55fp"},{"rule_id":"osv/GHSA-74r2-7ff9-mjj2","severity":"medium","message":"pillow@9.5.0 (PyPI) is affected by GHSA-74r2-7ff9-mjj2","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-74r2-7ff9-mjj2"},{"rule_id":"osv/GHSA-fc9g-5qg7-mf45","severity":"medium","message":"pillow@9.5.0 (PyPI) is affected by GHSA-fc9g-5qg7-mf45","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-fc9g-5qg7-mf45"},{"rule_id":"osv/GHSA-rfgq-q3w2-pmv2","severity":"medium","message":"pillow@9.5.0 (PyPI) is affected by GHSA-rfgq-q3w2-pmv2","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-rfgq-q3w2-pmv2"},{"rule_id":"osv/GHSA-vx6w-vv9f-6gvg","severity":"medium","message":"pillow@9.5.0 (PyPI) is affected by GHSA-vx6w-vv9f-6gvg","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-vx6w-vv9f-6gvg"},{"rule_id":"osv/GHSA-wqgw-9xfh-qf2g","severity":"medium","message":"pillow@9.5.0 (PyPI) is affected by GHSA-wqgw-9xfh-qf2g","path":"requirements_versions.txt","line":null,"fingerprint":"pillow@9.5.0 (PyPI):GHSA-wqgw-9xfh-qf2g"},{"rule_id":"osv/GHSA-w8v5-vhqr-4h9v","severity":"medium","message":"diskcache@5.6.3 (PyPI) is affected by PYSEC-2026-2447, GHSA-w8v5-vhqr-4h9v","path":"requirements_versions.txt","line":null,"fingerprint":"diskcache@5.6.3 (PyPI):GHSA-w8v5-vhqr-4h9v"},{"rule_id":"osv/GHSA-h35f-9h28-mq5c","severity":"medium","message":"setuptools@69.5.1 (PyPI) is affected by PYSEC-2026-3447, GHSA-h35f-9h28-mq5c","path":"requirements_versions.txt","line":null,"fingerprint":"setuptools@69.5.1 (PyPI):GHSA-h35f-9h28-mq5c"},{"rule_id":"osv/GHSA-6655-8ph2-63j3","severity":"low","message":"gradio@3.41.2 (PyPI) is affected by PYSEC-2026-211, GHSA-6655-8ph2-63j3; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"gradio@3.41.2 (PyPI):GHSA-6655-8ph2-63j3"},{"rule_id":"osv/GHSA-37q5-v5qm-c9v8","severity":"low","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2026-1978, GHSA-37q5-v5qm-c9v8; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-37q5-v5qm-c9v8"},{"rule_id":"osv/GHSA-phhr-52qp-3mj4","severity":"low","message":"transformers@4.30.2 (PyPI) is affected by PYSEC-2026-1986, GHSA-phhr-52qp-3mj4; also in requirements_versions.txt","path":"requirements.txt","line":null,"fingerprint":"transformers@4.30.2 (PyPI):GHSA-phhr-52qp-3mj4"},{"rule_id":"osv/GHSA-xmj3-9gf7-h52w","severity":"low","message":"setuptools@69.5.1 (PyPI) is affected by GHSA-xmj3-9gf7-h52w","path":"requirements_versions.txt","line":null,"fingerprint":"setuptools@69.5.1 (PyPI):GHSA-xmj3-9gf7-h52w"}],"evidence":[],"data":{"ecosystems":["PyPI"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":3.0,"findings":17.0,"findings_high":9.0,"findings_medium":8.0,"findings_low":0.0,"penalty":123.6},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/on_pull_request.yaml","line":14,"fingerprint":"unpinned-uses:.github/workflows/on_pull_request.yaml:14"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/on_pull_request.yaml","line":15,"fingerprint":"unpinned-uses:.github/workflows/on_pull_request.yaml:15"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/on_pull_request.yaml","line":32,"fingerprint":"unpinned-uses:.github/workflows/on_pull_request.yaml:32"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/on_pull_request.yaml","line":34,"fingerprint":"unpinned-uses:.github/workflows/on_pull_request.yaml:34"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_tests.yaml","line":14,"fingerprint":"unpinned-uses:.github/workflows/run_tests.yaml:14"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_tests.yaml","line":16,"fingerprint":"unpinned-uses:.github/workflows/run_tests.yaml:16"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_tests.yaml","line":25,"fingerprint":"unpinned-uses:.github/workflows/run_tests.yaml:25"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_tests.yaml","line":71,"fingerprint":"unpinned-uses:.github/workflows/run_tests.yaml:71"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_tests.yaml","line":77,"fingerprint":"unpinned-uses:.github/workflows/run_tests.yaml:77"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/on_pull_request.yaml","line":13,"fingerprint":"artipacked:.github/workflows/on_pull_request.yaml:13"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/on_pull_request.yaml","line":31,"fingerprint":"artipacked:.github/workflows/on_pull_request.yaml:31"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/on_pull_request.yaml","line":1,"fingerprint":"excessive-permissions:.github/workflows/on_pull_request.yaml:1"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/on_pull_request.yaml","line":8,"fingerprint":"excessive-permissions:.github/workflows/on_pull_request.yaml:8"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/on_pull_request.yaml","line":26,"fingerprint":"excessive-permissions:.github/workflows/on_pull_request.yaml:26"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/run_tests.yaml","line":13,"fingerprint":"artipacked:.github/workflows/run_tests.yaml:13"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/run_tests.yaml","line":8,"fingerprint":"excessive-permissions:.github/workflows/run_tests.yaml:8"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/warns_merge_master.yml","line":13,"fingerprint":"excessive-permissions:.github/workflows/warns_merge_master.yml:13"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":0.0,"check:signed_commits":0.0,"check:lockfiles":0.0,"signed_commit_share":0.16,"unpinned_manifests":1.0},"findings":[],"evidence":[{"kind":"posture","description":"package.json has no lockfile alongside it (unpinned dependencies)","ref":"package.json","url":null,"weight":0.3}],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":1.0,"binary_assets":1.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"binary-release-asset","description":"release v1.10.0 ships sd.webui-1.10.1-blackwell.7z (66920 downloads)","ref":"sd.webui-1.10.1-blackwell.7z","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/download/v1.10.0/sd.webui-1.10.1-blackwell.7z","weight":0.0}],"data":{"signals":["binary-release-assets"],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":2629.0,"function_nloc":30541.0,"mean_ccn":3.58,"p90_ccn":8.0,"complex_functions":81.0,"long_functions":13.0,"many_param_functions":94.0,"risky_nloc_share":0.2209},"findings":[],"evidence":[{"kind":"complex-function","description":"process_images_inner in modules/processing.py: complexity 75, 200 lines","ref":"modules/processing.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/modules/processing.py#L863","weight":1.0},{"kind":"complex-function","description":"forward in modules/sd_samplers_cfg_denoiser.py: complexity 63, 114 lines","ref":"modules/sd_samplers_cfg_denoiser.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/modules/sd_samplers_cfg_denoiser.py#L156","weight":1.0},{"kind":"complex-function","description":"run_modelmerger in modules/extras.py: complexity 62, 160 lines","ref":"modules/extras.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/modules/extras.py#L88","weight":1.0},{"kind":"complex-function","description":"create_ui in modules/ui.py: complexity 62, 736 lines","ref":"modules/ui.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/modules/ui.py#L253","weight":1.0},{"kind":"complex-function","description":"parse_generation_parameters in modules/infotext_utils.py: complexity 54, 100 lines","ref":"modules/infotext_utils.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/modules/infotext_utils.py#L234","weight":0.9},{"kind":"complex-function","description":"train_embedding in modules/textual_inversion/textual_inversion.py: complexity 50, 209 lines","ref":"modules/textual_inversion/textual_inversion.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/modules/textual_inversion/textual_inversion.py#L400","weight":0.8333333333333334},{"kind":"complex-function","description":"train_hypernetwork in modules/hypernetworks/hypernetwork.py: complexity 48, 216 lines","ref":"modules/hypernetworks/hypernetwork.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/modules/hypernetworks/hypernetwork.py#L472","weight":0.8},{"kind":"complex-function","description":"run in scripts/xyz_grid.py: complexity 45, 114 lines","ref":"scripts/xyz_grid.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/scripts/xyz_grid.py#L538","weight":0.75},{"kind":"complex-function","description":"network_apply_weights in extensions-builtin/Lora/networks.py: complexity 42, 98 lines","ref":"extensions-builtin/Lora/networks.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/extensions-builtin/Lora/networks.py#L411","weight":0.7},{"kind":"complex-function","description":"save_image in modules/images.py: complexity 42, 76 lines","ref":"modules/images.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/modules/images.py#L624","weight":0.7}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":34951.0,"duplicated_lines":3154.0,"duplicated_share":0.0902,"files":238.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: extensions-builtin/LDSR/sd_hijack_autoencoder.py:74 and extensions-builtin/LDSR/sd_hijack_ddpm_v1.py:175","ref":"extensions-builtin/LDSR/sd_hijack_autoencoder.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/extensions-builtin/LDSR/sd_hijack_autoencoder.py#L74","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: extensions-builtin/LDSR/sd_hijack_ddpm_v1.py:28 and modules/models/diffusion/ddpm_edit.py:37","ref":"extensions-builtin/LDSR/sd_hijack_ddpm_v1.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/extensions-builtin/LDSR/sd_hijack_ddpm_v1.py#L28","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: extensions-builtin/LDSR/sd_hijack_ddpm_v1.py:407 and extensions-builtin/LDSR/sd_hijack_ddpm_v1.py:1347","ref":"extensions-builtin/LDSR/sd_hijack_ddpm_v1.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/extensions-builtin/LDSR/sd_hijack_ddpm_v1.py#L407","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: extensions-builtin/Lora/network_glora.py:24 and extensions-builtin/Lora/network_hada.py:29","ref":"extensions-builtin/Lora/network_glora.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/extensions-builtin/Lora/network_glora.py#L24","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: extensions-builtin/Lora/ui_edit_user_metadata.py:195 and modules/ui_extra_networks_checkpoints_user_metadata.py:43","ref":"extensions-builtin/Lora/ui_edit_user_metadata.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/extensions-builtin/Lora/ui_edit_user_metadata.py#L195","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js:588 and extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js:668","ref":"extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js#L588","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: extensions-builtin/hypertile/hypertile.py:35 and extensions-builtin/hypertile/hypertile.py:89","ref":"extensions-builtin/hypertile/hypertile.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/extensions-builtin/hypertile/hypertile.py#L35","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: extensions-builtin/postprocessing-for-training/scripts/postprocessing_caption.py:13 and extensions-builtin/postprocessing-for-training/scripts/postprocessing_create_flipped_copies.py:16","ref":"extensions-builtin/postprocessing-for-training/scripts/postprocessing_caption.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/extensions-builtin/postprocessing-for-training/scripts/postprocessing_caption.py#L13","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: extensions-builtin/soft-inpainting/scripts/soft_inpainting.py:181 and extensions-builtin/soft-inpainting/scripts/soft_inpainting.py:220","ref":"extensions-builtin/soft-inpainting/scripts/soft_inpainting.py","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/extensions-builtin/soft-inpainting/scripts/soft_inpainting.py#L181","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: javascript/extraNetworks.js:589 and javascript/progressbar.js:15","ref":"javascript/extraNetworks.js","url":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/javascript/extraNetworks.js#L589","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":269.0,"weighted_findings":307.25,"scanned_lines":48781.0,"category:best-practice":17.0,"category:correctness":20.0,"category:maintainability":232.0},"findings":[{"rule_id":"opengrep/python.lang.maintainability.useless-inner-function","severity":"high","message":"function `get_loras` is defined inside a function but never used","path":"extensions-builtin/Lora/scripts/lora_script.py","line":63,"fingerprint":"python.lang.maintainability.useless-inner-function:extensions-builtin/Lora/scripts/lora_script.py:63"},{"rule_id":"opengrep/python.lang.maintainability.useless-inner-function","severity":"high","message":"function `refresh_loras` is defined inside a function but never used","path":"extensions-builtin/Lora/scripts/lora_script.py","line":67,"fingerprint":"python.lang.maintainability.useless-inner-function:extensions-builtin/Lora/scripts/lora_script.py:67"},{"rule_id":"opengrep/python.lang.maintainability.useless-inner-function","severity":"high","message":"function `log_and_time` is defined inside a function but never used","path":"modules/api/api.py","line":147,"fingerprint":"python.lang.maintainability.useless-inner-function:modules/api/api.py:147"},{"rule_id":"opengrep/python.lang.maintainability.useless-inner-function","severity":"high","message":"function `exception_handling` is defined inside a function but never used","path":"modules/api/api.py","line":183,"fingerprint":"python.lang.maintainability.useless-inner-function:modules/api/api.py:183"},{"rule_id":"opengrep/python.lang.maintainability.useless-inner-function","severity":"high","message":"function `fastapi_exception_handler` is defined inside a function but never used","path":"modules/api/api.py","line":190,"fingerprint":"python.lang.maintainability.useless-inner-function:modules/api/api.py:190"},{"rule_id":"opengrep/python.lang.maintainability.useless-inner-function","severity":"high","message":"function `http_exception_handler` is defined inside a function but never used","path":"modules/api/api.py","line":194,"fingerprint":"python.lang.maintainability.useless-inner-function:modules/api/api.py:194"},{"rule_id":"opengrep/python.lang.correctness.return-in-init","severity":"high","message":"`return` should never appear inside a class __init__ function. This will cause a runtime error.","path":"modules/models/diffusion/uni_pc/sampler.py","line":13,"fingerprint":"python.lang.correctness.return-in-init:modules/models/diffusion/uni_pc/sampler.py:13"},{"rule_id":"opengrep/python.lang.correctness.return-in-init","severity":"high","message":"`return` should never appear inside a class __init__ function. This will cause a runtime error.","path":"modules/options.py","line":63,"fingerprint":"python.lang.correctness.return-in-init:modules/options.py:63"},{"rule_id":"opengrep/python.lang.best-practice.arbitrary-sleep","severity":"high","message":"time.sleep() call; did you mean to leave this in?","path":"modules/progress.py","line":146,"fingerprint":"python.lang.best-practice.arbitrary-sleep:modules/progress.py:146"},{"rule_id":"opengrep/python.lang.correctness.return-in-init","severity":"high","message":"`return` should never appear inside a class __init__ function. This will cause a runtime error.","path":"modules/textual_inversion/dataset.py","line":148,"fingerprint":"python.lang.correctness.return-in-init:modules/textual_inversion/dataset.py:148"},{"rule_id":"opengrep/python.lang.correctness.return-in-init","severity":"high","message":"`return` should never appear inside a class __init__ function. This will cause a runtime error.","path":"modules/ui_checkpoint_merger.py","line":38,"fingerprint":"python.lang.correctness.return-in-init:modules/ui_checkpoint_merger.py:38"},{"rule_id":"opengrep/python.lang.correctness.return-in-init","severity":"high","message":"`return` should never appear inside a class __init__ function. This will cause a runtime error.","path":"modules/ui_checkpoint_merger.py","line":41,"fingerprint":"python.lang.correctness.return-in-init:modules/ui_checkpoint_merger.py:41"},{"rule_id":"opengrep/python.lang.correctness.return-in-init","severity":"high","message":"`return` should never appear inside a class __init__ function. This will cause a runtime error.","path":"modules/ui_checkpoint_merger.py","line":44,"fingerprint":"python.lang.correctness.return-in-init:modules/ui_checkpoint_merger.py:44"},{"rule_id":"opengrep/python.lang.correctness.return-in-init","severity":"high","message":"`return` should never appear inside a class __init__ function. This will cause a runtime error.","path":"modules/ui_checkpoint_merger.py","line":62,"fingerprint":"python.lang.correctness.return-in-init:modules/ui_checkpoint_merger.py:62"},{"rule_id":"opengrep/python.lang.correctness.return-in-init","severity":"high","message":"`return` should never appear inside a class __init__ function. This will cause a runtime error.","path":"modules/ui_prompt_styles.py","line":69,"fingerprint":"python.lang.correctness.return-in-init:modules/ui_prompt_styles.py:69"},{"rule_id":"opengrep/python.lang.correctness.return-in-init","severity":"high","message":"`return` should never appear inside a class __init__ function. This will cause a runtime error.","path":"modules/ui_prompt_styles.py","line":109,"fingerprint":"python.lang.correctness.return-in-init:modules/ui_prompt_styles.py:109"},{"rule_id":"opengrep/python.lang.best-practice.open-never-closed","severity":"high","message":"file object opened without corresponding close","path":"modules/ui_tempdir.py","line":54,"fingerprint":"python.lang.best-practice.open-never-closed:modules/ui_tempdir.py:54"},{"rule_id":"opengrep/python.lang.correctness.tempfile.tempfile-without-flush","severity":"high","message":"Using 'file_obj.name' without '.flush()' or '.close()' may cause an error because the file may not exist when 'file_obj.name' is used. Use '.flush()' or close the file before using 'file_obj.name'.","path":"modules/ui_tempdir.py","line":56,"fingerprint":"python.lang.correctness.tempfile.tempfile-without-flush:modules/ui_tempdir.py:56"},{"rule_id":"opengrep/python.lang.correctness.return-in-init","severity":"high","message":"`return` should never appear inside a class __init__ function. This will cause a runtime error.","path":"modules/xlmr.py","line":64,"fingerprint":"python.lang.correctness.return-in-init:modules/xlmr.py:64"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.identical-is-comparison","severity":"high","message":"Found identical comparison using is. Ensure this is what you intended.","path":"scripts/xyz_grid.py","line":308,"fingerprint":"python.lang.correctness.common-mistakes.identical-is-comparison:scripts/xyz_grid.py:308"},{"rule_id":"opengrep/python.lang.best-practice.arbitrary-sleep","severity":"high","message":"time.sleep() call; did you mean to leave this in?","path":"webui.py","line":147,"fingerprint":"python.lang.best-practice.arbitrary-sleep:webui.py:147"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_safetensors\" a function or an attribute? If it is a function, you may have meant self.is_safetensors() because self.is_safetensors is always true.","path":"extensions-builtin/Lora/network.py","line":29,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/network.py:29"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_safetensors\" a function or an attribute? If it is a function, you may have meant self.is_safetensors() because self.is_safetensors is always true.","path":"extensions-builtin/Lora/network.py","line":36,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/network.py:36"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_safetensors\" a function or an attribute? If it is a function, you may have meant self.is_safetensors() because self.is_safetensors is always true.","path":"extensions-builtin/Lora/network.py","line":55,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/network.py:55"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_safetensors\" a function or an attribute? If it is a function, you may have meant self.is_safetensors() because self.is_safetensors is always true.","path":"extensions-builtin/Lora/network.py","line":81,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/network.py:81"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_R\" a function or an attribute? If it is a function, you may have meant self.is_R() because self.is_R is always true.","path":"extensions-builtin/Lora/network_oft.py","line":24,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/network_oft.py:24"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_boft\" a function or an attribute? If it is a function, you may have meant self.is_boft() because self.is_boft is always true.","path":"extensions-builtin/Lora/network_oft.py","line":25,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/network_oft.py:25"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_R\" a function or an attribute? If it is a function, you may have meant self.is_R() because self.is_R is always true.","path":"extensions-builtin/Lora/network_oft.py","line":34,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/network_oft.py:34"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_boft\" a function or an attribute? If it is a function, you may have meant self.is_boft() because self.is_boft is always true.","path":"extensions-builtin/Lora/network_oft.py","line":52,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/network_oft.py:52"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_R\" a function or an attribute? If it is a function, you may have meant self.is_R() because self.is_R is always true.","path":"extensions-builtin/Lora/network_oft.py","line":60,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/network_oft.py:60"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_boft\" a function or an attribute? If it is a function, you may have meant self.is_boft() because self.is_boft is always true.","path":"extensions-builtin/Lora/network_oft.py","line":64,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/network_oft.py:64"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_R\" a function or an attribute? If it is a function, you may have meant self.is_R() because self.is_R is always true.","path":"extensions-builtin/Lora/network_oft.py","line":74,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/network_oft.py:74"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_boft\" a function or an attribute? If it is a function, you may have meant self.is_boft() because self.is_boft is always true.","path":"extensions-builtin/Lora/network_oft.py","line":84,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/network_oft.py:84"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl\" a function or an attribute? If it is a function, you may have meant shared.sd_model.is_sdxl() because shared.sd_model.is_sdxl is always true.","path":"extensions-builtin/Lora/networks.py","line":125,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/networks.py:125"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"extensions-builtin/Lora/scripts/lora_script.py","line":36,"fingerprint":"python.lang.maintainability.return-not-in-function:extensions-builtin/Lora/scripts/lora_script.py:36"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl\" a function or an attribute? If it is a function, you may have meant shared.sd_model.is_sdxl() because shared.sd_model.is_sdxl is always true.","path":"extensions-builtin/Lora/ui_extra_networks_lora.py","line":66,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/ui_extra_networks_lora.py:66"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sd2\" a function or an attribute? If it is a function, you may have meant shared.sd_model.is_sd2() because shared.sd_model.is_sd2 is always true.","path":"extensions-builtin/Lora/ui_extra_networks_lora.py","line":66,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/ui_extra_networks_lora.py:66"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl\" a function or an attribute? If it is a function, you may have meant shared.sd_model.is_sdxl() because shared.sd_model.is_sdxl is always true.","path":"extensions-builtin/Lora/ui_extra_networks_lora.py","line":69,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/ui_extra_networks_lora.py:69"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sd2\" a function or an attribute? If it is a function, you may have meant shared.sd_model.is_sd2() because shared.sd_model.is_sd2 is always true.","path":"extensions-builtin/Lora/ui_extra_networks_lora.py","line":71,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/ui_extra_networks_lora.py:71"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sd1\" a function or an attribute? If it is a function, you may have meant shared.sd_model.is_sd1() because shared.sd_model.is_sd1 is always true.","path":"extensions-builtin/Lora/ui_extra_networks_lora.py","line":73,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/Lora/ui_extra_networks_lora.py:73"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"extensions-builtin/extra-options-section/scripts/extra_options_section.py","line":76,"fingerprint":"python.lang.maintainability.return-not-in-function:extensions-builtin/extra-options-section/scripts/extra_options_section.py:76"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"extensions-builtin/extra-options-section/scripts/extra_options_section.py","line":77,"fingerprint":"python.lang.maintainability.return-not-in-function:extensions-builtin/extra-options-section/scripts/extra_options_section.py:77"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl\" a function or an attribute? If it is a function, you may have meant shared.sd_model.is_sdxl() because shared.sd_model.is_sdxl is always true.","path":"extensions-builtin/hypertile/scripts/hypertile_script.py","line":76,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/hypertile/scripts/hypertile_script.py:76"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_final_blend\" a function or an attribute? If it is a function, you may have meant mba.is_final_blend() because mba.is_final_blend is always true.","path":"extensions-builtin/soft-inpainting/scripts/soft_inpainting.py","line":684,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:extensions-builtin/soft-inpainting/scripts/soft_inpainting.py:684"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"javascript/extensions.js","line":69,"fingerprint":"javascript.lang.best-practice.javascript-confirm:javascript/extensions.js:69"},{"rule_id":"opengrep/javascript.lang.correctness.no-replaceall","severity":"medium","message":"The string method replaceAll is not supported in all versions of javascript, and is not supported by older browser versions. Consider using replace() with a regex as the first argument instead like mystring.replace(/bad/g, \"good\") instead of mystring.replaceAll(\"bad\", \"good\") (https://discourse.thre","path":"javascript/extraNetworks.js","line":542,"fingerprint":"javascript.lang.correctness.no-replaceall:javascript/extraNetworks.js:542"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-prompt","severity":"medium","message":"found prompt() call; should this be in production code?","path":"javascript/ui.js","line":285,"fingerprint":"javascript.lang.best-practice.javascript-prompt:javascript/ui.js:285"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"javascript/ui.js","line":290,"fingerprint":"javascript.lang.best-practice.javascript-confirm:javascript/ui.js:290"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_installed\" a function or an attribute? If it is a function, you may have meant launch_utils.is_installed() because launch_utils.is_installed is always true.","path":"launch.py","line":13,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:launch.py:13"},{"rule_id":"opengrep/python.lang.correctness.use-sys-exit","severity":"medium","message":"Detected use of `exit`. Use `sys.exit` over the python shell `exit` built-in. `exit` is a helper for the interactive shell and may not be available on all Python implementations.","path":"launch.py","line":33,"fingerprint":"python.lang.correctness.use-sys-exit:launch.py:33"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_global\" a function or an attribute? If it is a function, you may have meant ip_addr.is_global() because ip_addr.is_global is always true.","path":"modules/api/api.py","line":69,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/api/api.py:69"},{"rule_id":"opengrep/python.requests.best-practice.use-raise-for-status","severity":"medium","message":"There's an HTTP request made with requests, but the raise_for_status() utility method isn't used. This can result in request errors going unnoticed and your code behaving in unexpected ways, such as if your authorization API returns a 500 error while you're only checking for a 401.","path":"modules/api/api.py","line":86,"fingerprint":"python.requests.best-practice.use-raise-for-status:modules/api/api.py:86"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_img2img\" a function or an attribute? If it is a function, you may have meant script.is_img2img() because script.is_img2img is always true.","path":"modules/api/api.py","line":328,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/api/api.py:328"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_img2img\" a function or an attribute? If it is a function, you may have meant script.is_img2img() because script.is_img2img is always true.","path":"modules/api/api.py","line":330,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/api/api.py:330"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_api\" a function or an attribute? If it is a function, you may have meant p.is_api() because p.is_api is always true.","path":"modules/api/api.py","line":469,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/api/api.py:469"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_api\" a function or an attribute? If it is a function, you may have meant p.is_api() because p.is_api is always true.","path":"modules/api/api.py","line":540,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/api/api.py:540"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_builtin\" a function or an attribute? If it is a function, you may have meant ext.is_builtin() because ext.is_builtin is always true.","path":"modules/config_states.py","line":90,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/config_states.py:90"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_builtin\" a function or an attribute? If it is a function, you may have meant ext.is_builtin() because ext.is_builtin is always true.","path":"modules/config_states.py","line":159,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/config_states.py:159"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_builtin\" a function or an attribute? If it is a function, you may have meant x.is_builtin() because x.is_builtin is always true.","path":"modules/extensions.py","line":25,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/extensions.py:25"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_builtin\" a function or an attribute? If it is a function, you may have meant self.is_builtin() because self.is_builtin is always true.","path":"modules/extensions.py","line":116,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/extensions.py:116"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_builtin\" a function or an attribute? If it is a function, you may have meant self.is_builtin() because self.is_builtin is always true.","path":"modules/extensions.py","line":134,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/extensions.py:134"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_active\" a function or an attribute? If it is a function, you may have meant self.is_active() because self.is_active is always true.","path":"modules/images.py","line":147,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/images.py:147"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_active\" a function or an attribute? If it is a function, you may have meant line.is_active() because line.is_active is always true.","path":"modules/images.py","line":174,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/images.py:174"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_active\" a function or an attribute? If it is a function, you may have meant line.is_active() because line.is_active is always true.","path":"modules/images.py","line":176,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/images.py:176"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_active\" a function or an attribute? If it is a function, you may have meant line.is_active() because line.is_active is always true.","path":"modules/images.py","line":203,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/images.py:203"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":383,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:383"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":387,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:387"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":388,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:388"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":389,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:389"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":390,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:390"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":391,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:391"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":392,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:392"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":393,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:393"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":394,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:394"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":396,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:396"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":397,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:397"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":398,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:398"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":400,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:400"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":401,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:401"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":402,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:402"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":403,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:403"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":404,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:404"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":405,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:405"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":406,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:406"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":408,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:408"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":410,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:410"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":411,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:411"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":413,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:413"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":414,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:414"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":415,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:415"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/images.py","line":416,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/images.py:416"},{"rule_id":"opengrep/python.requests.best-practice.use-raise-for-status","severity":"medium","message":"There's an HTTP request made with requests, but the raise_for_status() utility method isn't used. This can result in request errors going unnoticed and your code behaving in unexpected ways, such as if your authorization API returns a 500 error while you're only checking for a 401.","path":"modules/launch_utils.py","line":214,"fingerprint":"python.requests.best-practice.use-raise-for-status:modules/launch_utils.py:214"},{"rule_id":"opengrep/python.requests.best-practice.use-timeout","severity":"medium","message":"Detected a 'requests' call without a timeout set. By default, 'requests' calls wait until the connection is closed. This means a 'requests' call without a timeout will hang the program if a response is never received. Consider setting a timeout for all 'requests'.","path":"modules/launch_utils.py","line":214,"fingerprint":"python.requests.best-practice.use-timeout:modules/launch_utils.py:214"},{"rule_id":"opengrep/python.lang.correctness.use-sys-exit","severity":"medium","message":"Detected use of `exit`. Use `sys.exit` over the python shell `exit` built-in. `exit` is a helper for the interactive shell and may not be available on all Python implementations.","path":"modules/launch_utils.py","line":446,"fingerprint":"python.lang.correctness.use-sys-exit:modules/launch_utils.py:446"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/mac_specific.py","line":69,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/mac_specific.py:69"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/mac_specific.py","line":75,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/mac_specific.py:75"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/mac_specific.py","line":76,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/mac_specific.py:76"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/mac_specific.py","line":78,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/mac_specific.py:78"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/mac_specific.py","line":79,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/mac_specific.py:79"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/mac_specific.py","line":81,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/mac_specific.py:81"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/mac_specific.py","line":81,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/mac_specific.py:81"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/mac_specific.py","line":84,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/mac_specific.py:84"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/mac_specific.py","line":87,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/mac_specific.py:87"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/mac_specific.py","line":90,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/mac_specific.py:90"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/mac_specific.py","line":90,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/mac_specific.py:90"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/mac_specific.py","line":98,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/mac_specific.py:98"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/mac_specific.py","line":98,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/mac_specific.py:98"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/models/sd3/other_impls.py","line":78,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/models/sd3/other_impls.py:78"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/paths_internal.py","line":10,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/paths_internal.py:10"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl_inpaint\" a function or an attribute? If it is a function, you may have meant sd_model.is_sdxl_inpaint() because sd_model.is_sdxl_inpaint is always true.","path":"modules/processing.py","line":118,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/processing.py:118"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_api\" a function or an attribute? If it is a function, you may have meant self.is_api() because self.is_api is always true.","path":"modules/processing.py","line":294,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/processing.py:294"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_using_inpainting_conditioning\" a function or an attribute? If it is a function, you may have meant self.is_using_inpainting_conditioning() because self.is_using_inpainting_conditioning is always true.","path":"modules/processing.py","line":300,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/processing.py:300"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_using_inpainting_conditioning\" a function or an attribute? If it is a function, you may have meant self.is_using_inpainting_conditioning() because self.is_using_inpainting_conditioning is always true.","path":"modules/processing.py","line":337,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/processing.py:337"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl_inpaint\" a function or an attribute? If it is a function, you may have meant self.sampler.model_wrap.inner_model.is_sdxl_inpaint() because self.sampler.model_wrap.inner_model.is_sdxl_inpaint is always true.","path":"modules/processing.py","line":392,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/processing.py:392"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_using_inpainting_conditioning\" a function or an attribute? If it is a function, you may have meant self.is_using_inpainting_conditioning() because self.is_using_inpainting_conditioning is always true.","path":"modules/processing.py","line":562,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/processing.py:562"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_using_inpainting_conditioning\" a function or an attribute? If it is a function, you may have meant p.is_using_inpainting_conditioning() because p.is_using_inpainting_conditioning is always true.","path":"modules/processing.py","line":562,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/processing.py:562"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_using_inpainting_conditioning\" a function or an attribute? If it is a function, you may have meant self.is_using_inpainting_conditioning() because self.is_using_inpainting_conditioning is always true.","path":"modules/processing.py","line":603,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/processing.py:603"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_using_inpainting_conditioning\" a function or an attribute? If it is a function, you may have meant p.is_using_inpainting_conditioning() because p.is_using_inpainting_conditioning is always true.","path":"modules/processing.py","line":789,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/processing.py:789"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_hr_pass\" a function or an attribute? If it is a function, you may have meant self.is_hr_pass() because self.is_hr_pass is always true.","path":"modules/processing.py","line":1368,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/processing.py:1368"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_hr_pass\" a function or an attribute? If it is a function, you may have meant self.is_hr_pass() because self.is_hr_pass is always true.","path":"modules/processing.py","line":1463,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/processing.py:1463"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_hr_pass\" a function or an attribute? If it is a function, you may have meant self.is_hr_pass() because self.is_hr_pass is always true.","path":"modules/processing.py","line":1514,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/processing.py:1514"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_hr_pass\" a function or an attribute? If it is a function, you may have meant self.is_hr_pass() because self.is_hr_pass is always true.","path":"modules/processing.py","line":1539,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/processing.py:1539"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_negative_prompt\" a function or an attribute? If it is a function, you may have meant self.is_negative_prompt() because self.is_negative_prompt is always true.","path":"modules/prompt_parser.py","line":151,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/prompt_parser.py:151"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_first\" a function or an attribute? If it is a function, you may have meant self.is_first() because self.is_first is always true.","path":"modules/rng.py","line":110,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/rng.py:110"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_first\" a function or an attribute? If it is a function, you may have meant self.is_first() because self.is_first is always true.","path":"modules/rng.py","line":154,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/rng.py:154"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_first\" a function or an attribute? If it is a function, you may have meant self.is_first() because self.is_first is always true.","path":"modules/rng.py","line":155,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/rng.py:155"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_final_blend\" a function or an attribute? If it is a function, you may have meant self.is_final_blend() because self.is_final_blend is always true.","path":"modules/scripts.py","line":25,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/scripts.py:25"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_img2img\" a function or an attribute? If it is a function, you may have meant self.is_img2img() because self.is_img2img is always true.","path":"modules/scripts.py","line":338,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/scripts.py:338"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_img2img\" a function or an attribute? If it is a function, you may have meant self.is_img2img() because self.is_img2img is always true.","path":"modules/scripts.py","line":358,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/scripts.py:358"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_builtin\" a function or an attribute? If it is a function, you may have meant ext.is_builtin() because ext.is_builtin is always true.","path":"modules/scripts.py","line":419,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/scripts.py:419"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_txt2img\" a function or an attribute? If it is a function, you may have meant script.is_txt2img() because script.is_txt2img is always true.","path":"modules/scripts.py","line":595,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/scripts.py:595"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_img2img\" a function or an attribute? If it is a function, you may have meant script.is_img2img() because script.is_img2img is always true.","path":"modules/scripts.py","line":596,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/scripts.py:596"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_img2img\" a function or an attribute? If it is a function, you may have meant script.is_img2img() because script.is_img2img is always true.","path":"modules/scripts.py","line":599,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/scripts.py:599"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_img2img\" a function or an attribute? If it is a function, you may have meant script.is_img2img() because script.is_img2img is always true.","path":"modules/scripts.py","line":647,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/scripts.py:647"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_img2img\" a function or an attribute? If it is a function, you may have meant script.is_img2img() because script.is_img2img is always true.","path":"modules/scripts.py","line":675,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/scripts.py:675"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_meta\" a function or an attribute? If it is a function, you may have meant param.is_meta() because param.is_meta is always true.","path":"modules/sd_disable_initialization.py","line":189,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_disable_initialization.py:189"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_trainable\" a function or an attribute? If it is a function, you may have meant self.is_trainable() because self.is_trainable is always true.","path":"modules/sd_hijack_clip.py","line":37,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_hijack_clip.py:37"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_trainable\" a function or an attribute? If it is a function, you may have meant self.is_trainable() because self.is_trainable is always true.","path":"modules/sd_hijack_clip.py","line":302,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_hijack_clip.py:302"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/sd_hijack_unet.py","line":124,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/sd_hijack_unet.py:124"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/sd_hijack_unet.py","line":128,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/sd_hijack_unet.py:128"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/sd_hijack_unet.py","line":131,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/sd_hijack_unet.py:131"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/sd_hijack_unet.py","line":132,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/sd_hijack_unet.py:132"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/sd_hijack_unet.py","line":133,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/sd_hijack_unet.py:133"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/sd_hijack_unet.py","line":133,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/sd_hijack_unet.py:133"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/sd_hijack_unet.py","line":135,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/sd_hijack_unet.py:135"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/sd_hijack_unet.py","line":136,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/sd_hijack_unet.py:136"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/sd_hijack_unet.py","line":139,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/sd_hijack_unet.py:139"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/sd_hijack_utils.py","line":4,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/sd_hijack_utils.py:4"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_safetensors\" a function or an attribute? If it is a function, you may have meant self.is_safetensors() because self.is_safetensors is always true.","path":"modules/sd_models.py","line":62,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models.py:62"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_safetensors\" a function or an attribute? If it is a function, you may have meant self.is_safetensors() because self.is_safetensors is always true.","path":"modules/sd_models.py","line":81,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models.py:81"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sd1\" a function or an attribute? If it is a function, you may have meant model.is_sd1() because model.is_sd1 is always true.","path":"modules/sd_models.py","line":380,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models.py:380"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sd2\" a function or an attribute? If it is a function, you may have meant model.is_sd2() because model.is_sd2 is always true.","path":"modules/sd_models.py","line":381,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models.py:381"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl\" a function or an attribute? If it is a function, you may have meant model.is_sdxl() because model.is_sdxl is always true.","path":"modules/sd_models.py","line":382,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models.py:382"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_ssd\" a function or an attribute? If it is a function, you may have meant model.is_ssd() because model.is_ssd is always true.","path":"modules/sd_models.py","line":383,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models.py:383"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sd3\" a function or an attribute? If it is a function, you may have meant model.is_sd3() because model.is_sd3 is always true.","path":"modules/sd_models.py","line":384,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models.py:384"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sd3\" a function or an attribute? If it is a function, you may have meant model.is_sd3() because model.is_sd3 is always true.","path":"modules/sd_models.py","line":387,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models.py:387"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl\" a function or an attribute? If it is a function, you may have meant model.is_sdxl() because model.is_sdxl is always true.","path":"modules/sd_models.py","line":390,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models.py:390"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_ssd\" a function or an attribute? If it is a function, you may have meant model.is_ssd() because model.is_ssd is always true.","path":"modules/sd_models.py","line":393,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models.py:393"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sd2\" a function or an attribute? If it is a function, you may have meant model.is_sd2() because model.is_sd2 is always true.","path":"modules/sd_models.py","line":398,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models.py:398"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sd1\" a function or an attribute? If it is a function, you may have meant model.is_sd1() because model.is_sd1 is always true.","path":"modules/sd_models.py","line":401,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models.py:401"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl\" a function or an attribute? If it is a function, you may have meant model.is_sdxl() because model.is_sdxl is always true.","path":"modules/sd_models.py","line":427,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models.py:427"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_ssd\" a function or an attribute? If it is a function, you may have meant model.is_ssd() because model.is_ssd is always true.","path":"modules/sd_models.py","line":430,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models.py:430"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl_inpaint\" a function or an attribute? If it is a function, you may have meant model.is_sdxl_inpaint() because model.is_sdxl_inpaint is always true.","path":"modules/sd_models.py","line":455,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models.py:455"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl\" a function or an attribute? If it is a function, you may have meant model.is_sdxl() because model.is_sdxl is always true.","path":"modules/sd_models.py","line":456,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models.py:456"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl_inpaint\" a function or an attribute? If it is a function, you may have meant self.is_sdxl_inpaint() because self.is_sdxl_inpaint is always true.","path":"modules/sd_models_xl.py","line":40,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_models_xl.py:40"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl\" a function or an attribute? If it is a function, you may have meant model.is_sdxl() because model.is_sdxl is always true.","path":"modules/sd_samplers.py","line":38,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_samplers.py:38"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_hr_pass\" a function or an attribute? If it is a function, you may have meant cfg_denoiser.p.is_hr_pass() because cfg_denoiser.p.is_hr_pass is always true.","path":"modules/sd_samplers_common.py","line":181,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_samplers_common.py:181"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/sd_samplers_kdiffusion.py","line":31,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/sd_samplers_kdiffusion.py:31"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_hr_pass\" a function or an attribute? If it is a function, you may have meant p.is_hr_pass() because p.is_hr_pass is always true.","path":"modules/sd_samplers_kdiffusion.py","line":87,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_samplers_kdiffusion.py:87"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_hr_pass\" a function or an attribute? If it is a function, you may have meant p.is_hr_pass() because p.is_hr_pass is always true.","path":"modules/sd_samplers_kdiffusion.py","line":103,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_samplers_kdiffusion.py:103"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/sd_samplers_lcm.py","line":102,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/sd_samplers_lcm.py:102"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/sd_samplers_timesteps.py","line":20,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/sd_samplers_timesteps.py:20"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl\" a function or an attribute? If it is a function, you may have meant shared.sd_model.is_sdxl() because shared.sd_model.is_sdxl is always true.","path":"modules/sd_schedulers.py","line":59,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_schedulers.py:59"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sd3\" a function or an attribute? If it is a function, you may have meant shared.sd_model.is_sd3() because shared.sd_model.is_sd3 is always true.","path":"modules/sd_vae_approx.py","line":43,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_vae_approx.py:43"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl\" a function or an attribute? If it is a function, you may have meant shared.sd_model.is_sdxl() because shared.sd_model.is_sdxl is always true.","path":"modules/sd_vae_approx.py","line":45,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_vae_approx.py:45"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sd3\" a function or an attribute? If it is a function, you may have meant shared.sd_model.is_sd3() because shared.sd_model.is_sd3 is always true.","path":"modules/sd_vae_approx.py","line":73,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_vae_approx.py:73"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl\" a function or an attribute? If it is a function, you may have meant shared.sd_model.is_sdxl() because shared.sd_model.is_sdxl is always true.","path":"modules/sd_vae_approx.py","line":84,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_vae_approx.py:84"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sd3\" a function or an attribute? If it is a function, you may have meant shared.sd_model.is_sd3() because shared.sd_model.is_sd3 is always true.","path":"modules/sd_vae_taesd.py","line":98,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_vae_taesd.py:98"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl\" a function or an attribute? If it is a function, you may have meant shared.sd_model.is_sdxl() because shared.sd_model.is_sdxl is always true.","path":"modules/sd_vae_taesd.py","line":100,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_vae_taesd.py:100"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sd3\" a function or an attribute? If it is a function, you may have meant shared.sd_model.is_sd3() because shared.sd_model.is_sd3 is always true.","path":"modules/sd_vae_taesd.py","line":123,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_vae_taesd.py:123"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_sdxl\" a function or an attribute? If it is a function, you may have meant shared.sd_model.is_sdxl() because shared.sd_model.is_sdxl is always true.","path":"modules/sd_vae_taesd.py","line":125,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:modules/sd_vae_taesd.py:125"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":102,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:102"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":103,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:103"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":106,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:106"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":112,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:112"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":118,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:118"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":171,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:171"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":175,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:175"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":177,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:177"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":207,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:207"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":233,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:233"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":266,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:266"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":293,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:293"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":300,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:300"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":332,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:332"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":332,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:332"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":333,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:333"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":334,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:334"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":335,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:335"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"modules/shared_options.py","line":336,"fingerprint":"python.lang.maintainability.return-not-in-function:modules/shared_options.py:336"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":0.0127,"check:ci_present":1.0,"check:ci_runs_tests":1.0,"check:ci_runs_lint":1.0,"check:tests_cochange":0.0,"test_lines":310.0,"source_lines":48781.0,"test_ratio":0.0064,"ci_files":3.0,"cochange_share":0.0,"cochange_commits":277.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/on_pull_request.yaml","ref":".github/workflows/on_pull_request.yaml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/run_tests.yaml","ref":".github/workflows/run_tests.yaml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/warns_merge_master.yml","ref":".github/workflows/warns_merge_master.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI runs tests (pytest)","ref":null,"url":null,"weight":0.0},{"kind":"ci","description":"CI runs linters (ruff, eslint)","ref":null,"url":null,"weight":0.0}],"data":{"test_commands":["pytest"],"lint_commands":["ruff","eslint"]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":0.0,"check:changelog":1.0,"readme_lines":187.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"LICENSE.txt","ref":"LICENSE.txt","url":null,"weight":0.0},{"kind":"docs","description":"CHANGELOG.md","ref":"CHANGELOG.md","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:strict_config":0.0,"check:low_escape_density":1.0,"escapes":21.0,"escapes_per_kloc":0.484},"findings":[],"evidence":[],"data":{},"error":null}],"flags":[]}