Download app/tests/test_comando_perigoso.py from OpenTARS/openTARS: direct link, hf CLI and curl.
- Browser
- Download file 1.73 kB
-
https://huggingface.co/OpenTARS/openTARS/resolve/main/app/tests/test_comando_perigoso.py
- Command line
-
hf download hf://OpenTARS/openTARS/app/tests/test_comando_perigoso.py
-
curl -L -o test_comando_perigoso.py https://huggingface.co/OpenTARS/openTARS/resolve/main/app/tests/test_comando_perigoso.py
1.73 kB
| from _util import carregar_tars | |
| import builtins | |
| tars = carregar_tars() | |
| casos_perigosos = ["rm -rf /", "rm -rf ~/projeto", "sudo dd if=/dev/zero of=/dev/sda", "mkfs.ext4 /dev/sdb1", "shutdown now", ":(){ :|:& };:"] | |
| casos_seguros = ["ls -la", "echo oi", "rm arquivo.txt", "df -h", "cat README.md"] | |
| for cmd in casos_perigosos: | |
| assert tars._comando_e_perigoso(cmd), f"deveria ser perigoso: {cmd}" | |
| print("OK: todos os comandos perigosos foram detectados") | |
| for cmd in casos_seguros: | |
| assert not tars._comando_e_perigoso(cmd), f"nao deveria ser perigoso: {cmd}" | |
| print("OK: comandos seguros nao disparam confirmacao") | |
| # mv que some com o arquivo ou tira a raiz/a pasta pessoal do lugar (o padrão antigo não pegava nada útil) | |
| for cmd in ["mv ~/projeto /dev/null", "mv -f dados.db /dev/null", "mv / /tmp/x", "mv ~ /tmp/casa", "mv $HOME /mnt/x"]: | |
| assert tars._comando_e_perigoso(cmd), f"deveria ser perigoso: {cmd}" | |
| for cmd in ["mv a.txt b.txt", "mv ~/a.txt ~/b.txt", "mv relatorio.pdf ~/Documentos/", "ls /dev/null"]: | |
| assert not tars._comando_e_perigoso(cmd), f"nao deveria ser perigoso: {cmd}" | |
| print("OK: mv pra /dev/null e mv da raiz/da casa pedem confirmação; mv comum não") | |
| # Simula usuario recusando -> comando nao roda | |
| builtins.input = lambda *a, **k: "n" | |
| r = tars.executar_terminal("rm -rf /tmp/teste") | |
| assert r["sucesso"] is False | |
| assert "cancelled" in r["mensagem"].lower() | |
| print("OK: recusa cancela o comando:", r["mensagem"]) | |
| # Simula usuario confirmando -> comando roda de fato | |
| builtins.input = lambda *a, **k: "s" | |
| r = tars.executar_terminal("echo teste_perigoso_confirmado") | |
| print("resultado apos confirmar (comando inofensivo usado so p/ nao mexer no disco de verdade):", r) | |
| print("\nTUDO OK.") | |