Apply all necessary exclusions to sobelow findings

This commit is contained in:
Claudio Ortolina
2026-03-07 18:37:24 +00:00
parent c87f946479
commit 2e3732e38b
6 changed files with 15 additions and 2 deletions
+3
View File
@@ -497,6 +497,9 @@ defmodule MusicLibrary.ScrobbleRules do
end)
end
# column and json_path are hardcoded string literals from internal callers,
# never user input. All user-derived values use parameterized ? placeholders.
# sobelow_skip ["SQL.Query"]
defp apply_all_rules_for_column(rules, column, json_path, tracks) do
{case_clauses, case_params} =
Enum.reduce(rules, {"", []}, fn rule, {sql_acc, params_acc} ->
@@ -133,6 +133,8 @@ defmodule MusicLibraryWeb.CoreComponents do
"""
end
# Renders syntax-highlighted JSON from internal debug structs, not user input.
# sobelow_skip ["XSS.Raw"]
defp format_debug_data(%{type: :json, data: data}) do
data
|> Jason.encode!(pretty: true)
@@ -430,6 +430,9 @@ defmodule MusicLibraryWeb.Components.RecordForm do
{:noreply, assign(socket, form: to_form(changeset, action: :validate))}
end
# path comes from Phoenix's consume_uploaded_entries callback —
# a framework-generated temp file path, not user input.
# sobelow_skip ["Traversal.FileModule"]
def handle_event("save", %{"record" => record_params}, socket) do
uploaded_covers =
consume_uploaded_entries(socket, :cover_data, fn %{path: path}, entry ->
@@ -75,7 +75,7 @@ defmodule MusicLibraryWeb.AssetController do
# Format is always resolved to either "image/webp" or "image/jpeg" in
# pick_format/1, so it's safe.
# sobelow_skip ["XSS.ContentType"]
# sobelow_skip ["XSS.ContentType", "XSS.SendResp"]
defp respond_with_cache(conn, data, format, etag) do
conn
|> put_resp_content_type(format, "utf-8")
@@ -195,6 +195,9 @@ defmodule MusicLibraryWeb.ArtistLive.Form do
{:noreply, assign(socket, form: to_form(changeset, action: :validate))}
end
# path comes from Phoenix's consume_uploaded_entries callback —
# a framework-generated temp file path, not user input.
# sobelow_skip ["Traversal.FileModule"]
def handle_event("save", params, socket) do
artist_info_params = params["artist_info"] || %{}