Skip to content

Built-in Rule Catalog

This reference is generated from TrustWeave's immutable built-in rule registry. Regenerate it with python scripts/generate_rule_catalog.py; do not edit the table manually.

TrustWeave finding identifiers are stable labels for review of supplied local declarations and evidence metadata. They do not establish a vulnerability, incident, runtime exploit path, deployed control state, or authorization outcome. User-supplied policy-rule identifiers are declarations and are not included in this catalog.

Identifier Evidence kind Title Local trigger / rationale Reviewer action
TW-CHAIN-001 declared_chain_configuration Declared untrusted path reaches an external action The supplied graph propagates a sensitive classification from an explicitly untrusted source to a declared external action. Confirm the declared graph, classification, boundary ownership, and policy intent.
TW-CHAIN-002 declared_chain_configuration Declared sensitive path lacks scoped fail-closed approval The supplied path reaches an external action without a fail-closed approval covering every propagated sensitive classification. Confirm that approval is required and binds to the relevant declared scope.
TW-CHAIN-003 declared_chain_configuration Declared sanitizer coverage is incomplete A supplied sanitizer does not list coverage for every propagated sensitive classification, on a declared path where a sensitive classification still reaches the external action. Review the sanitizer’s stated coverage and any residual classification.
TW-CHAIN-004 declared_chain_configuration Declared chain analysis is incomplete A configured local traversal budget was reached before the supplied graph could be fully reviewed. Increase an explicit budget only after reviewing input scale; do not treat an incomplete review as clear.
TW-CODE-001 analyzed_local_python_source Discovered tool has no resolvable implementation body A tool was discovered in local source, but no body could be located to analyze, so no effect was observed. Locate the implementation and declare the tool's action class by review.
TW-CODE-002 analyzed_local_python_source Proposed action class differs from the declared manifest action class Observed local call effects propose an action class other than the one the manifest declares. Confirm which is correct; the proposal is evidence for review, never an authorization.
TW-CODE-003 analyzed_local_python_source Tool found in code is absent from the declared manifest A callable reachable as a tool in local source has no matching declaration in the supplied manifest. Declare the tool or confirm it is unreachable in the deployed configuration.
TW-CODE-004 analyzed_local_python_source Declared manifest tool was not found in the analyzed source The manifest declares a tool that static review did not find in the analyzed source tree. Confirm the tool still exists, or remove the stale declaration.
TW-CODE-005 analyzed_local_python_source Action-class classification was refused Evidence was ambiguous, so TrustWeave declined to propose an action class rather than guess. Assign the action class by review; the refusal reasons name what blocked the analysis.
TW-CODE-006 analyzed_local_python_source Local source analysis is incomplete An analysis budget was reached before the reachable set was covered, so the result is partial. Narrow the analyzed tree, or treat the affected tools as unclassified.
TW-CODE-007 analyzed_local_python_source Wildcard import degrades local symbol resolution A wildcard import prevents binding call targets to imported symbols in the affected module. Replace the wildcard with explicit imports to restore resolution.
TW-CODE-008 analyzed_local_python_source A local source file could not be parsed or decoded A file in the analyzed tree could not be read as UTF-8 Python source and was not analyzed. Confirm the file is source rather than data, and re-run once it parses.
TW-CODE-009 analyzed_local_python_source Declared tool schema has no locatable implementation A declared tool schema was found in local source with no implementation reachable from it. Link the schema to its handler, or confirm the schema is unused.
TW-CODE-010 analyzed_local_python_source One declared tool covers several parameter-selected effects A single tool selects between effects of different action classes using its own parameters. Split the tool, or declare it at the highest action class it can reach.
TW-DIFF-001 declared_bundle_difference Sensitive or external tool declaration changed A supplied bundle comparison adds or changes a sensitive or external declared tool. Review the tool’s declared capabilities and policy coverage.
TW-DIFF-002 declared_bundle_difference Untrusted high-impact path is not denied The supplied head bundle includes an untrusted path to a sensitive or external tool without a deny decision. Review the decision and human-control boundary.
TW-DIFF-003 declared_bundle_difference Sensitive or external tool gained capability A supplied bundle comparison shows new declared capabilities on a sensitive or external tool. Review least-privilege scope and policy coverage.
TW-DIFF-004 declared_bundle_difference Approval control changed from fail-closed to fail-open A supplied policy-only delta weakens declared approval behavior even though current declared flow outcomes may remain unchanged. Review approval-boundary enforcement before accepting the policy change.
TW-DIFF-005 declared_bundle_difference Policy default decision changed to allow A supplied policy-only delta changes unmatched declared paths from a non-allow default to allow. Review every unmatched-path assumption and the intended human-control boundary.
TW-DIFF-006 declared_bundle_difference Approval control removed A supplied policy-only delta removes the declared approval control. Review every require-approval boundary and restore an explicit scoped control if needed.
TW-DIFF-007 declared_bundle_difference Approval control lost bindings A supplied policy-only delta removes one or more declared approval binding fields. Review whether approval remains bound to the required action context and timing.
TW-DIFF-008 declared_bundle_difference Policy rule became less restrictive A supplied policy-only delta changes a declared rule to a less restrictive decision. Review the changed rule even if no current manifest flow exercises its boundary.
TW-DIFF-009 declared_bundle_difference Policy rule lost required controls A supplied policy-only delta removes one or more required controls from a declared rule. Review the affected approval and fail-closed obligations before accepting the change.
TW-DIFF-010 declared_bundle_difference Classification taxonomy changed A supplied policy-only delta changes the declared classification taxonomy ordering or set. Review classification bounds, coverage, and the intended protection ordering.
TW-DIFF-011 declared_bundle_difference Structural policy rule boundary changed A supplied policy-only delta adds, removes, reorders potentially overlapping rules, or changes matching predicates. The deterministic signal requests human review but does not prove that every structural change is insecure. Review the identified rule boundaries, ordering, and first-match coverage before accepting the change.
TW-DIFF-012 declared_bundle_difference Policy rule gained a required control the policy does not declare A supplied policy-only delta adds a required control that the supplied policy does not declare, so the rule can no longer match any declared flow and the decision falls through to a later rule or the default decision. Declare the required control or restore the rule's boundary; review the decision the affected paths now receive.
TW-MCP-001 pre_recorded_mcp_metadata MCP HTTP profile declares no authorization expectation The supplied static MCP profile declares authorization_expected as false for HTTP transport. Review whether unauthenticated transport is intentional and appropriately protected.
TW-MCP-002 pre_recorded_mcp_metadata MCP mapping names an unknown manifest tool A supplied MCP profile mapping does not identify a declared manifest tool. Correct or review the static mapping.
TW-MCP-003 pre_recorded_mcp_metadata MCP action class disagrees with manifest mapping A supplied MCP profile action class differs from its mapped manifest tool classification. Reconcile the declared classifications.
TW-POL-001 declared_policy_structure Policy default decision allows unmatched paths The supplied policy uses allow as the default decision for unmatched declared paths. Confirm that the default is intentional and appropriately bounded.
TW-POL-002 declared_policy_structure Policy rule is structurally shadowed An earlier deterministic rule structurally covers a later supplied rule. Reorder, narrow, or remove the later declaration.
TW-POL-003 declared_policy_structure Policy permits untrusted high-impact action A supplied rule permits untrusted input to a sensitive or external action. Confirm the policy rationale and human-control boundary.
TW-POL-004 declared_policy_structure High-impact approval path lacks a control A supplied high-impact approval path has no declared approval control. Declare the control or revise the path policy.
TW-POL-005 declared_policy_structure Approval control lacks required bindings A supplied approval control omits one or more required binding fields. Bind the approval to actor, tool, target, parameters, issuance, and expiry as applicable.
TW-POL-006 declared_policy_structure Approval control is fail-open A supplied approval control is not fail-closed when its state cannot be validated. Review whether a fail-closed control is required for the stated path.
TW-POL-007 declared_policy_structure Policy rules conflict structurally Two supplied rules can match the same declared path while specifying different decisions. Resolve the conflict by narrowing, reordering, or removing a declaration.
TW-POL-008 declared_policy_structure Policy rule requires undeclared controls A supplied rule names required controls outside the declared control catalog. Declare the required controls or correct the rule references.
TW-POL-009 declared_policy_structure Policy rule is redundant under first-match semantics An earlier supplied rule covers a later rule and specifies the same deterministic decision. Remove the later rule or narrow it to express a distinct reviewable policy condition.
TW-POL-010 declared_policy_structure Policy rule reachability was not established A supplied rule names more label combinations than the local cover enumeration limit, so no collective cover was searched for and its reported reachability is not a verdict. Narrow the rule so its declared combinations can be enumerated, or review its first-match reachability by hand; do not treat the unenumerated rule as clear.
TW-TRACE-001 pre_recorded_trace_metadata Trace metadata names an undeclared source A supplied minimized trace call references a source absent from the declared inventory. Reconcile minimized trace metadata with the declared source inventory.
TW-TRACE-002 pre_recorded_trace_metadata Trace metadata names an undeclared tool A supplied minimized trace call references a tool absent from the declared inventory. Reconcile minimized trace metadata with the declared tool inventory.
TW-TRACE-003 pre_recorded_trace_metadata Trace source-tool pair is undeclared A supplied trace source-tool pair is not present in the declared flow inventory. Review the declaration and the provenance of the local trace.
TW-TRACE-004 pre_recorded_trace_metadata Trace matches a deny decision A supplied trace call matches a deterministic deny policy decision. Investigate the mismatch through the human review process; TrustWeave takes no action.
TW-TRACE-005 pre_recorded_trace_metadata Trace requires approval evidence A supplied trace call matches a deterministic require_approval policy decision. Verify the relevant approval evidence outside TrustWeave’s local metadata boundary.

Risk-review states

Risk lifecycle output uses risk_state rather than a rule identifier. new, expired_baseline, and expired_suppression remain active reviewer obligations; baselined and suppressed are explicit, expiry-limited local decisions. These states neither remediate nor waive a security condition. See the repository risk-management guide for fingerprint, expiry, and decision-document contracts.