
Scripts de instalação para Linux, macOS e Windows para cnquery & cnspec
A maneira mais fácil de instalar mql e cnspec é usar os scripts de instalação.
https://install.mondoo.com/sh```bash
bash -c "$(curl -sSL https://install.mondoo.com/sh)"
### via PowerShell (Windows)
[`https://install.mondoo.com/ps1`](https://install.mondoo.com/ps1)```powershell
Set-ExecutionPolicy Unrestricted -Scope Process -Force;
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
iex ((New-Object System.Net.WebClient).DownloadString('https://install.mondoo.com/ps1'));
Install-Mondoo;
Passe o proxy para o script de instalação com -x (Linux e macOS) ou -Proxy
(Windows). O script encaminha os seus próprios downloads, a instalação do
pacote, o cnspec login e o atualizador automático através dele. O download
inicial do script acontece antes de a flag ser lida, por isso aponte também
esse download para o proxy:```bash
export https_proxy='http://proxy.example.com:3128'
curl -sSL --proxy "$https_proxy" https://install.mondoo.com/sh | bash -s -- -x "$https_proxy"
| `-s` | `--server` | `SERVER` | `http://localhost:8080` | URL do servidor |
| `-t` | `--token` | `TOKEN` | | Token de autenticação |
| `-o` | `--output` | `OUTPUT` | `./output` | Diretório de saída |
| `-f` | `--format` | `FORMAT` | `json` | Formato de saída |
| `-v` | `--verbose` | | | Saída detalhada |
| `-q` | `--quiet` | | | Modo silencioso |
| `-h` | `--help` | | | Mostrar ajuda |
| `-V` | `--version` | | | Mostrar versão |
### Exemplos
```bash
# Uso básico
./tool -s http://localhost:8080 -t your-token
# Especificar diretório de saída
./tool -s http://localhost:8080 -t your-token -o ./results
# Formato de saída JSON
./tool -s http://localhost:8080 -t your-token -f json
# Modo detalhado
./tool -s http://localhost:8080 -t your-token -v
export SERVER_URL=http://localhost:8080
export AUTH_TOKEN=your-token
export OUTPUT_DIR=./output
Crie um arquivo config.yaml:
server:
url: http://localhost:8080
token: your-token
timeout: 30s
output:
directory: ./output
format: json
verbose: false
git clone https://github.com/example/tool.git
cd tool
go mod download
go build -o tool
./tool -s http://localhost:8080 -t your-token
# Processar múltiplos alvos
./tool -s http://localhost:8080 -t your-token -f targets.txt
# Gerar relatório em HTML
./tool -s http://localhost:8080 -t your-token -f html -o ./reports
# Clonar o repositório
git clone https://github.com/example/tool.git
cd tool
# Instalar dependências
go mod download
# Compilar
go build -o tool
# Executar testes
go test ./...
# Compilar para múltiplas plataformas
make build-all
tool/
├── cmd/
│ └── tool/
│ └── main.go
├── internal/
│ ├── config/
│ ├── scanner/
│ └── output/
├── pkg/
│ └── api/
├── docs/
├── examples/
├── Makefile
├── go.mod
├── go.sum
└── README.md
# Executar todos os testes
go test ./...
# Executar com cobertura
go test -cover ./...
# Executar benchmarks
go test -bench=. ./...
Contribuições são bem-vindas! Por favor, siga estas diretrizes:
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
Esta ferramenta é destinada apenas para fins educacionais e de teste de segurança autorizado. Os usuários são responsáveis por garantir que têm permissão para testar os sistemas alvo. Os autores não são responsáveis por qualquer uso indevido ou danos causados por esta ferramenta.```powershell Set-ExecutionPolicy Unrestricted -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; $wc = New-Object System.Net.WebClient; $wc.Proxy = New-Object System.Net.WebProxy('http://proxy.example.com:3128'); iex ($wc.DownloadString('https://install.mondoo.com/ps1')); Install-Mondoo -Proxy 'http://proxy.example.com:3128';
No Linux e macOS, um `https_proxy` ou `http_proxy` herdado é detetado
automaticamente quando `-x` não é fornecido. De qualquer forma, ambas as formas
são exportadas, pelo que os repositórios da própria distribuição — que são HTTP
simples no Debian e Ubuntu — também são acedidos através do proxy. Qualquer
`no_proxy` que tenha definido é transportado sem alterações, inclusive através
de `sudo`.
O URL do proxy deve ser um URL simples: se contiver credenciais, codifique-as
em percentagem (`!` como `%21`, e assim por diante). O valor é escrito na tarefa
agendada do atualizador automático, pelo que os caracteres que aí precisariam
de aspas são recusados em vez de escapados.
## Analise a sua plataforma de destino