> ## Documentation Index
> Fetch the complete documentation index at: https://docs.codeant.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Text

<AccordionGroup>
  <Accordion title="Using bidirectional characters is security-sensitive">
    <div class="paragraph">
      <p>DI) characters can lead to incomprehensible code.</p>
    </div>

    <div class="paragraph">
      <p>The Unicode encoding contains BIDI control characters that are used to display text right-to-left (RTL) instead of left-to-right (LTR). This is necessary for certain languages that use RTL text.
      The BIDI characters can be used to create a difference in the code between what a human sees and what a compiler or interpreter sees.
      An advisary might use this feature to hide a backdoor in the code that will not be spotted by a human reviewer as it is not visible.</p>
    </div>

    <div class="paragraph">
      <p>This can lead to supply chain attacks since the backdoored code might persist over a long time without being detected and can even be included in other projects, for example in the case of libraries.</p>
    </div>

    <CodeGroup>
      ```text Bad theme={null}
      def subtract_funds(account: str, amount: int):
      ''' Subtract funds from bank account then return; '''
      bank[account] -= amount
      return
      ```

      ```text Fix theme={null}
      ```
    </CodeGroup>
  </Accordion>
</AccordionGroup>
