(** This module implements a check for CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition. Time-of-check Time-of-use race conditions happen when a property of a resource (e.g. access rights of a file) get checked before the resource is accessed, leaving a short time window for an attacker to change the entity and thus invalidating the check before the access. See {: https://cwe.mitre.org/data/definitions/367.html} for a detailed description. {1 How the check works} For pairs of (check-call, use-call), configurable in config.json, we check whether a function may call the check-call before the use-call. {1 False Positives} - The check-call and the use-call may access different, unrelated resources (e. g. different files). {1 False Negatives} - If the check-call and the use-call happen in different functions it will not be found by the check. *) val name : string val version : string val check_cwe : Bap.Std.program Bap.Std.term -> Bap.Std.project -> Bap.Std.word Bap.Std.Tid.Map.t -> string list list -> string list -> unit