Adquira de qualquer fonte, com segurança.
Em breve
Envie um link ou chame a API. O Corvidint resolve a fonte, mapeia cada arquivo e adquire o que a sua política seleciona, verificado e registrado.
Fontes
- Links diretoshttps://archive.example.org/…
- Listagens webIndex of /pub/2026/
- Serviços onion….onion
- Swarms peer-to-peermagnet:?xt=urn:btih:…
Publicados, os mais recentes primeiro
- attachments/samples.zip1,4 GiBChecksum da fonte verificado
- attachments/bulletins/bulletin-2026-07.pdf16,9 MiBChecksum calculado na chegada
- captures/listing-0001.html428 KiBChecksum calculado na chegada
- attachments/indicators-0417.json2,3 MiBVerificado pelo protocolo de transferência
- screens/page-0001.png717 KiBChecksum calculado na chegada
- attachments/bulletins/bulletin-2026-06.pdf14,2 MiBChecksum da fonte verificado
- shared/case-0417/notes.txt6,2 KiBChecksum da fonte verificado
Tudo para onde um link pode levar.
Um único pipeline genérico resolve qualquer fonte, conhecida ou não. Padrões, receitas revisadas e conectores versionados ampliam o alcance sem código novo no núcleo.
Somente fontes de que você está autorizado a coletar. A falta de acesso vira uma solicitação de ação, nunca um contorno.
Links diretos
Acessada porTúneis VPNPool Tor
Links diretos, compartilhados e temporários, redirecionamentos e as páginas intermediárias entre eles.
- https://
- http://
- 302 Found
- ?expires=…
Listagens web
Acessada porTúneis VPNPool Tor
Índices de servidor, catálogos, tabelas, páginas de detalhe, galerias, feeds e listagens JSON paginadas.
- Index of /
- ?page=2
- <enclosure>
- next_cursor
Servidores de arquivos
Acessada porTúneis VPN
FTP e FTPS, SFTP com chaves de host fixadas e coleções WebDAV, pasta por pasta.
- ftp://
- ftps://
- sftp://
- PROPFIND
Armazenamento em nuvem
Acessada porTúneis VPN
Remotes de armazenamento configurados e pastas compartilhadas, listados pelas suas próprias interfaces.
- remote:bucket/
- /shared/
- next_page_token
Hospedagens de arquivos
Acessada porTúneis VPN
Serviços de hospedagem com formatos de link próprios, resolvidos por adaptadores dedicados e mecanismos isolados.
- /file/…
- /folder/…
- #key
Páginas dinâmicas
Acessada porTúneis VPNPool Tor
Links que só um script monta são encontrados por um navegador em sandbox, dentro de orçamentos rígidos.
- <script>
- fetch()
- subresources
Serviços onion
Acessada porPool Tor
Endereços onion vão somente ao pool Tor isolado e nunca tocam o DNS comum.
- .onion
- client auth
Swarms peer-to-peer
Acessada porSessões de peers
Links magnet e arquivos torrent rodam em sessões próprias, em túnel, nunca pelo Tor, sem seeding depois.
- magnet:?xt=
- .torrent
- info-hash
Arquivos compactados e conjuntos
Acessada porQualquer rede
Arquivos compactados são listados membro por membro, e as partes de um conjunto em várias partes são escolhidas como uma só.
- .zip
- .tar.gz
- .7z
- .rar
- .iso
- .part1
Acesso autorizado
Acessada porTúneis VPNPool Tor
Senhas, tokens, chaves e chaves de cliente onion são enviados uma vez, mantidos como referências e nunca mais exibidos.
- username_password
- token
- ssh_key
- onion_client_auth
Um link se torna um inventário completo.
A resolução reúne evidências antes de acreditar em qualquer coisa. Um tamanho continua desconhecido até ser comprovado, e uma listagem só está completa quando todos os ramos se fecham.
- archive.example.org/
collections/ coleção0417/ - attachments/
83 arquivos1,9 GiB - bulletins/
79 arquivos282 MiB - indicators-0417.jsondados2,3 MiB
- samples-part2.7zarquivo compactadotamanho desconhecido286 MiB
- samples.ziparquivo compactado1,4 GiB
- readme.txtmembro do arquivo compactado
- docs/
overview.pdf membro do arquivo compactado - 10 membros a mais
- unknown-0042.bintipo desconhecido3,1 MiB
- captures/
148 arquivos46,1 MiB - index.htmlpágina intermediária48,0 KiB
- README.txttexto2,1 KiB
- screens/
64 arquivos41,1 MiB - video/
2 arquivos1,5 GiB - recording-02.mp4vídeo1,1 GiB
- walkthrough.mp4vídeo412 MiB
- ValidarEsquema, porta e classe do host são verificados sem contatar a fonte.
- Escolher a redeUm nome onion seleciona o pool Tor, qualquer outro nome, um túnel VPN.
- Reunir evidênciasCabeçalhos, assinaturas, listagens e leituras por faixa, das mais baratas às mais caras.
- ClassificarArquivo, pasta, coleção ou página intermediária, cada um com a sua evidência.
- EnumerarPastas página por página, arquivos compactados membro por membro, ciclos cortados.
- Fechar a listagemCompleta dentro do escopo somente quando nenhum ramo fica aberto.
{"location_id": "loc_01JAH8K2","name": "samples.zip","depth": 1,"has_children": false,"listing_complete": true,"resource": {"resource_id": "res_01JAH8K2","kind": "file","kind_status": "confirmed","discovery_state": "resolved","size": {"bytes": "1481763717","status": "validated","basis": "representation"},"media": {"category": "archive","identification_status": "confirmed","detected_media_type": "application/zip"}}}Novos sites, sem código novo
Protocolos padrão precisam apenas de configuração. Layouts de página conhecidos recebem receitas declarativas. Protocolos inéditos recebem um conector versionado, nunca uma alteração no núcleo.
- PadrõesListagens web, FTP, SFTP, WebDAV e remotes de armazenamento, compreendidos de fábrica.
- ReceitasBuscar, selecionar, extrair, emitir. Sem scripts, sem código, apenas operações que a plataforma permite.
- ConectoresPacotes versionados que rodam fora do processo e passam antes por um kit de conformidade.
Como uma receita conquista o seu lugar
- Proposta
- Testada em fixtures
- Canary em parte do trabalho
- Promovida com base em evidências
- Retirada por mudança no site
Um modelo pode propor as etapas de uma receita. Pessoas a revisam, e somente evidências a promovem.
{"recipe_key": "archive-listing.paged","version": 3,"language_version": "1.0","scope": {"hosts": ["archive.example.org"],"path_patterns": ["/collections/*"]},"steps": [{"op": "fetch","target": "input_url","accept": "html"},{"op": "select","language": "css","expression": "table.listing a.file","as": "links"},{"op": "extract","from": "links","attribute": "href","as": "hrefs"},{"op": "emit","kind": "unknown","native_id_from": "hrefs","relation": "contains"}],"expected_evidence": {"exhaustiveness": "provider_declared"}}Valores fictícios, com os nomes de campo exatamente como a API os define
Nada é baixado antes de a ordem ser comprovada.
As regras decidem o que é permitido, ignorado ou posto em quarentena. A seleção estrita aguarda uma listagem fechada e tamanhos conhecidos, e então ordena cada arquivo por tamanho.
Regras de política, da maior prioridade para a menor
- 1exclude-videoVídeo reproduzível é ignorado.
- 2inspect-unknownTipos desconhecidos são inspecionados; sem conclusão, vão para a quarentena.
- 3opaque_
encrypted_ Arquivos compactados criptografados permanecem opacos até que alguém informe a senha.when_ acquired - 4default_
action Todo o resto é permitido.
Registrado com a seleção
strict_order_closed_inventory
Todos os arquivos do inventário completo foram ordenados por tamanho antes do download.
Modos de seleção
- 1Todos os arquivos, do maior para o menor
- 2O maior arquivo
- 3O maior arquivo de cada pasta
- 4Arquivos dentro de uma faixa de tamanho
O modo estrito aguarda uma listagem fechada e tamanhos conhecidos. O modo progressivo começa cedo, e avisa isso.
{"candidate_id": "rep_0008D","display_name": "walkthrough.mp4","candidate_kind": "representation","selection_revision": 2,"action": "exclude","rule_id": "exclude-video","reason_codes": ["video_excluded"],"evidence": [{"mechanism": "format_header","attribute": "kind","status": "confirmed","summary": "video/mp4"}]}Toda requisição sai por um túnel.
Sondagens, listagens e transferências usam a saída autorizada. Quando um túnel cai, as requisições param: não existe rota direta para recorrer.
Toda requisição passa pelo portão de política e então sai pela faixa que a sua fonte exige.
O tráfego onion usa circuitos Tor em camadas, em um pool isolado próprio.
Os swarms são acessados a partir de sessões de peers próprias. As partes chegam, e nada é compartilhado depois.
Túnel fora do ar. Novas requisições param, as transferências gravam checkpoints e nada sai diretamente.
Túnel de volta. As transferências retomam a partir dos seus checkpoints.
- Endereços privados, de loopback e de metadados são recusados no momento da conexão.
- Nomes onion nunca tocam o DNS comum.
- As sessões de peers param de compartilhar assim que os arquivos solicitados estão completos.
- Um vínculo revogado encerra as conexões ativas, e o gateway confirma.
- Quando uma parada não pode ser confirmada, a sua capacidade permanece retida até que seja.
- Os arquivos parciais ficam no armazenamento de objetos, para que outra unidade possa retomá-los.
Verificado, registrado, nunca executado.
Um verificador independente calcula o hash de cada arquivo em staging. Os bytes são armazenados por conteúdo, publicados uma vez e servidos somente como anexos.
Uma divergência vai para a quarentena e é adquirida de novo, nunca publicada.
Dois locais, um blob
Bytes idênticos são armazenados uma só vez pelo seu SHA-256. Todo local que apontava para eles é mantido.
Mantido como evidência, nunca executado
- Nada do que é adquirido é aberto, executado, instalado ou montado.
- Os analisadores rodam sem rede, com um usuário próprio e limites de tempo e de memória.
- Os caminhos dos arquivos compactados são verificados antes de extrair um único membro.
- Os arquivos saem apenas como anexos, por links de curta duração em uma origem separada.
{"file_id": "file_0008","logical_path": "attachments/samples.zip","stored_name": "21d80013bfc9266b","size_bytes": "1481763717","sha256": "21d80013bfc9266bc453a3db98d1f3d14a2be4483d5020d74ec194a763336753","integrity_level": "origin_checksum_verified","origin_checksum": {"algorithm": "sha256","value": "21d80013bfc9266bc453a3db98d1f3d14a2be4483d5020d74ec194a763336753"},"source_resource_id": "res_01JAH8K2","published_at": "2026-10-05T08:31:00Z"}Valores fictícios, com os nomes de campo exatamente como a API os define
Feito para ser chamado, pronto para o parser.
Qualquer projeto envia jobs pela API e os acompanha por eventos. O parser recebe cada arquivo publicado com o seu checksum e a sua procedência.
- Seu projeto
- Downloader
- Parser
- Seu projetoDownloaderEnvia um jobUm job com uma chave de idempotência: uma nova tentativa nunca cria um segundo job.
O job que o seu projeto envia {"sources": [{"url": "https://archive.example.org/collections/0417/"},{"url": "https://share.example.net/s/K7q2xWm9"}],"policy_profile": "evidence-default","destination_id": "evidence-store","client_reference": "Archive capture, case 0417"} - DownloaderSeu projetoAceita depois de armazenarRespondido somente depois que o job e a sua política são armazenados.
O que volta {"job_id": "job_01JAH7Q2M4K8V3","policy_revision": "prv_4","accepted_at": "2026-10-05T08:12:04Z","idempotent_replay": false} - DownloaderParserAnuncia um arquivo publicadoWebhooks assinados, ou eventos que você consulta ou recebe em stream a partir de um cursor.
O evento que o parser recebe {"event_id": "0f6e2a90-41d7-4c0b-9e5a-000000000010","event_type": "file.published","schema_version": "1.0","occurred_at": "2026-10-05T08:31:12Z","job_id": "job_01JAH7Q2M4K8V3","aggregate_type": "file","aggregate_id": "file_0008","aggregate_version": 3,"stream_seq": "10","data": {"file_id": "file_0008","logical_path": "attachments/samples.zip","size_bytes": "1481763717","verification_level": "origin_checksum_verified","selection_revision": 2}} - ParserDownloaderLê o registro do arquivoO parser verifica se o arquivo está confirmado e lê o seu SHA-256.
O registro do arquivo que o parser verifica {"file_id": "file_0008","job_id": "job_01JAH7Q2M4K8V3","logical_path": "attachments/samples.zip","original_name": "samples.zip","size_bytes": "1481763717","sha256": "21d80013bfc9266bc453a3db98d1f3d14a2be4483d5020d74ec194a763336753","integrity_level": "origin_checksum_verified","state": "committed","detected_media_type": "application/zip"} - ParserDownloaderBusca por um link de curta duraçãoUm link de curta duração; o parser calcula o hash dos bytes de novo antes de interpretar.
Inventário, manifesto e decisões também são exportados como NDJSON.
Valores fictícios, com os nomes de campo exatamente como a API os define
Veja nas suas próprias fontes.
Conte-nos o que você precisa. Vamos mostrar uma captura ao vivo, do post ao registro selado.
Prefere e-mail? Escreva para [email protected].