Metadata-Version: 2.4
Name: abyss-scanner
Version: 0.1.1
Summary: Abyss — CLI que mergulha nas profundezas do seu código pra achar secrets vazados e dependências vulneráveis
Author-email: Lohane <lohane.mdev@gmail.com>
License: MIT
Requires-Python: >=3.9
Requires-Dist: packaging>=24.0
Requires-Dist: pygithub>=2.3.0
Requires-Dist: questionary>=2.0.0
Requires-Dist: requests>=2.31.0
Requires-Dist: rich>=13.7.0
Requires-Dist: typer>=0.12.0
Description-Content-Type: text/markdown

# abyss

> CLI que mergulha nas profundezas do seu código pra achar o que tava
> escondido: secrets vazados e dependências vulneráveis.
>
> Nome e mascote inspirados na lula-vampira-do-inferno
> (*Vampyroteuthis infernalis*) — criatura que vive nas profundezas onde
> não chega luz.

Multiplataforma (Windows, macOS, Linux). Escaneia repositórios em busca de:

- **Secrets vazados** (chaves de API, tokens, senhas commitadas) via
  [gitleaks](https://github.com/gitleaks/gitleaks)
- **Dependências vulneráveis** em projetos Python (`pip-audit`) e Node
  (`npm audit`)

## Instalação (dev)

```bash
pip install -e .
```

## Uso

Rodar sem argumento nenhum abre o menu interativo:

```bash
abyss
```

Ou direto por linha de comando:

```bash
abyss scan .                    # escaneia o diretório atual
abyss scan /caminho/pro/repo    # escaneia outro caminho
abyss scan . --secrets-only     # só secrets
abyss scan . --deps-only        # só dependências
abyss scan . --json report.json # salva relatório em JSON
```

Na primeira execução, o binário do `gitleaks` é baixado automaticamente
para a plataforma atual e guardado em cache local (não precisa instalar
nada manualmente).

Para o scan de dependências, `pip-audit` (Python) e `npm` (Node) precisam
estar disponíveis no PATH quando aplicável — se não estiverem, aquele
scan é pulado silenciosamente.

## Segurança

Secrets encontrados **nunca** aparecem em texto puro — são sempre
redigidos (`redact()`), mostrando só os últimos 4 caracteres. Isso vale
pra saída de terminal, JSON exportado e qualquer log.

## Mascote

O ASCII art da lula-vampira fica em `abyss/ui/banner.py`, na constante
`MASCOT_ART` — troque o placeholder pelo desenho final quando estiver
pronto.

## Roadmap

- [ ] Publicar no PyPI
- [ ] Integração com GitHub API — abrir issue automática ao encontrar problema
- [ ] Suporte a mais ecossistemas (Cargo, Go modules)
- [ ] Modo `--watch` para rodar em CI/pre-commit hook
- [x] Nome definitivo: **Abyss**