pyrit.score.InsecureCodeScorer

pyrit.score.InsecureCodeScorer#

class InsecureCodeScorer(*, chat_target: PromptChatTarget, system_prompt_path: str | Path | None = None, validator: ScorerPromptValidator | None = None)[source]#

Bases: FloatScaleScorer

A scorer that uses an LLM to evaluate code snippets for potential security vulnerabilities. Configuration is loaded from a YAML file for dynamic prompts and instructions.

__init__(*, chat_target: PromptChatTarget, system_prompt_path: str | Path | None = None, validator: ScorerPromptValidator | None = None)[source]#

Initialize the Insecure Code Scorer.

Parameters:
  • chat_target (PromptChatTarget) – The target to use for scoring code security.

  • system_prompt_path (Optional[Union[str, Path]]) – Path to the YAML file containing the system prompt. Defaults to the default insecure code scoring prompt if not provided.

  • validator (Optional[ScorerPromptValidator]) – Custom validator for the scorer. Defaults to None.

Methods

__init__(*, chat_target[, ...])

Initialize the Insecure Code Scorer.

get_identifier()

Get an identifier dictionary for the scorer.

get_scorer_metrics(dataset_name[, metrics_type])

Get evaluation statistics for the scorer using the dataset_name of the human labeled dataset.

scale_value_float(value, min_value, max_value)

Scales a value from 0 to 1 based on the given min and max values.

score_async(message, *[, objective, ...])

Score the message, add the results to the database, and return a list of Score objects.

score_image_async(image_path, *[, objective])

Score the given image using the chat target.

score_image_batch_async(*, image_paths[, ...])

Score a batch of images asynchronously.

score_prompts_batch_async(*, messages[, ...])

Score multiple prompts in batches using the provided objectives.

score_response_async(*, response[, ...])

Score a response using an objective scorer and optional auxiliary scorers.

score_response_multiple_scorers_async(*, ...)

Score a response using multiple scorers in parallel.

score_text_async(text, *[, objective])

Scores the given text based on the task using the chat target.

validate_return_scores(scores)

Validate that the returned scores are within the valid range [0, 1].

Attributes

scorer_type