Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Axiom-protocol — O objetivo do Axiom é fornecer uma plataforma de mídia social completamente anônima, descentralizada e resistente à censura. Para tornar isso possível, a arquitetura é estritamente dividida entre o protocolo e os clientes. Este repositório define o protocolo e o contrato inteligente e uma estrutura de dados padronizada em uma rede Ethereum Layer 2. | Kitploit
Ferramentas/GitHubGitHub/kl4v3/axiom-protocol
Autenticação e AutorizaçãoFerramentas de Criptografia/DescriptografiaGerenciamento de IdentidadesCriptografiaPrivacidadeEngenharia Social
GitHubkl4v3/axiom-protocol

Axiom-protocol

Ver Repositório
5há 5 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →

Sobre

O objetivo do Axiom é fornecer uma plataforma de mídia social completamente anônima, descentralizada e resistente à censura. Para tornar isso possível, a arquitetura é estritamente dividida entre o protocolo e os clientes. Este repositório define o protocolo e o contrato inteligente e uma estrutura de dados padronizada em uma rede Ethereum Layer 2.

Compartilhar

Axiom: Protocolo de Comunicação Descentralizado e Resistente à Censura

🚀 Detalhes da Implantação ao Vivo

  • Rede: Arbitrum One (Mainnet L2)
  • Chain ID: 42161
  • Endpoint RPC: https://arb1.arbitrum.io/rpc (ou qualquer endpoint Alchemy/Infura personalizado)
  • Endereço do Contrato Proxy Axiom: 0xc11CFf8111e8b1F055eba095Efb679a38Abe6b63

(Nota: A Axiom usa uma arquitetura de Proxy Atualizável UUPS. Todas as interações dos clientes devem sempre ser direcionadas a este endereço de Proxy, nunca ao contrato de implementação subjacente).

📖 Como Ler Dados (Indexador / Clientes)

Os clientes nunca devem tentar ler as postagens do protocolo diretamente das variáveis de estado do contrato inteligente (como preservar gás é uma prioridade, o conteúdo não é armazenado no estado). Em vez disso, os clientes devem indexar os eventos da blockchain.

✍️ Como Publicar Dados (Submissão de Tx do Cliente)

Para publicar dados no Protocolo, os clientes devem enviar uma transação on-chain chamando a função publishAxiom no contrato Proxy.


O objetivo da Axiom é fornecer uma plataforma de mídia social completamente anônima, descentralizada e resistente à censura.

Para tornar isso possível, a arquitetura é estritamente dividida: a base (o protocolo) e os clientes (o software). Este repositório define essa base—um contrato inteligente e uma estrutura de dados padronizada em uma rede Ethereum Layer 2.

Escopo do Projeto

O protocolo estabelece a base da plataforma:

  • Convenção de Nomenclatura Padrão: Uma estrutura clara definindo como os payloads são enviados ao contrato inteligente e como os clientes os leem.
  • Imutabilidade: A blockchain serve como um banco de dados à prova de falhas e de adulteração.
  • Foco em Microblogging: O protocolo não é projetado para grandes quantidades de dados on-chain, mas segue o conceito tradicional de microblogging (postagens curtas). Arquivos de mídia não são armazenados nativamente na chain; em vez disso, são incorporados via links externos quando necessário.
  • Proteção Anti-Spam: Taxas de transação e uma taxa de entrada única e baixa para a primeira postagem de uma carteira impedem ataques de inchaço de estado por botnets.
  • Roteamento de Segurança: O protocolo impõe a separação OPSEC de mensagens com base em requisitos específicos de segurança.

Níveis de Segurança do Protocolo

A Axiom é projetada para permitir a verdadeira liberdade de expressão para usuários em países onde a comunicação é restrita. O protocolo distingue três níveis de segurança. Ele assume que os usuários sabem qual nível de segurança é apropriado para sua situação específica.

  • Nível 1: Aberto A comunicação ocorre abertamente em texto puro na blockchain. Todos os clientes podem ler e processar todo o tráfego. Incorporar links (por exemplo, para imagens através de provedores terceiros) é permitido neste nível. A expectativa é que a comunicação padrão de mídia social ocorra aqui—incluindo fotos engraçadas de gatos. Isso gera ruído importante dentro da rede. É menos seguro em relação ao rastreamento IP puro, mas as postagens permanecem totalmente incorruptíveis.
  • Nível 2: Fechado Este nível é destinado a segurança estrita. Ele suporta exclusivamente mensagens de texto puro. O protocolo proíbe links de mídia aqui para descartar tecnicamente qualquer vazamento de IP quando os clientes carregam conteúdo externo. Os usuários devem garantir de forma independente que adquiram a criptomoeda usada para taxas de gás anonimamente.
  • Nível 3: Criptografado Construído para máxima privacidade. As próprias mensagens são criptografadas com AES-256-GCM antes de serem enviadas. Apenas metadados, o vetor de inicialização (IV) e o texto cifrado são armazenados na blockchain. Apenas clientes de usuários que possuem a chave criptográfica correta podem descriptografar e ler essas mensagens.

Segurança de Rede e Rastreamento IP (Regra Rígida)

Para todos os níveis, o Onion Routing (por exemplo, Tor) é estritamente obrigatório. Comunicar-se com provedores RPC comerciais (como Infura ou Alchemy) vaza o endereço IP do remetente em texto puro. Para fechar vulnerabilidades de OPSEC potencialmente fatais para dissidentes, os clientes são obrigados a rotear transações para os nós RPC exclusivamente através da rede Tor.


Padrões de Criptografia (Para Nível 3)

Para mensagens no Nível 3, todos os clientes devem aderir estritamente aos seguintes padrões criptográficos para garantir interoperabilidade e evitar comprometer a segurança.

  1. Algoritmo de Criptografia: AES-256-GCM Todos os payloads de Nível 3 devem ser criptografados simetricamente usando AES no modo GCM com um comprimento de chave de 256 bits. O vetor de inicialização (IV/Nonce) deve ser gerado novamente aleatoriamente para cada mensagem individual e é escrito na blockchain como metadados em texto puro. Isso evita o reconhecimento de padrões por observadores externos.
  2. Derivação de Chave: Argon2id Os usuários inserem senhas legíveis por humanos em seus clientes. Estas nunca devem ser usadas diretamente como chaves AES. Os clientes são estritamente obrigados a usar o algoritmo de hash Argon2id. (Nota: Os desenvolvedores devem definir parâmetros fixos para iterações e uso de memória dentro do cliente para que todos gerem exatamente a mesma chave).
  3. Troca de Chave: Fora de Banda A Axiom não lida com trocas de chave on-chain. O protocolo não armazena chaves públicas. Trocar a senha (segredo compartilhado) para um canal específico é responsabilidade dos usuários e deve ocorrer fora da rede (por exemplo, pessoalmente).
  4. Integridade dos Dados AES-GCM gera uma Tag de Autenticação. Os clientes devem validar esta tag. Se a validação falhar, o cliente deve descartar silenciosamente a mensagem (drop).

Estrutura de Dados, Entrega de Payload e Indexação

A Axiom utiliza uma entrega de payload híbrida (Divisão ABI). Para evitar que o contrato inteligente tenha que descompactar formatos de dados caros, os dados são separados antes da transmissão:

  1. Variáveis Lógicas: O nível (uint8 _level) e o vetor de inicialização (bytes _iv) são passados como parâmetros diretos para o contrato inteligente, pois ele os necessita para aplicar suas regras de segurança.
  2. Dados Opacos: O conteúdo real da mensagem é construído internamente pelo cliente como JSON e comprimido em CBOR (Concise Binary Object Representation). O contrato lida com este pacote CBOR "cegamente" e o encaminha diretamente para o registro de eventos.

Chaves do Payload (Estrutura CBOR)

A Axiom usa letras únicas como chaves para economizar bytes. O autor (msg.sender) e o timestamp (block.timestamp) são omitidos, pois o contrato inteligente extrai esses valores de forma à prova de adulteração.

  • t (Tipo): Inteiro. O tipo de ação.
  • c (Conteúdo): String/Bytes. O texto, nome ou texto cifrado.
  • h (Hashtags/Tags): Array. Opcional. Usado para categorização (subcanais).
  • m (Dica de Mensagem): Bytes (comprimento de 2). Apenas Nível 3. Um hash HMAC de 2 bytes usado para agrupamento difuso (fuzzy bucketing).
  • r (Resposta a): Bytes. Opcional. O hash da transação de uma postagem referenciada.

Tipos de Ação (t Field)

  • 0 = Atualização de Perfil (Vincula o endereço da carteira a um nome legível no campo c)
  • 1 = Postagem (Mensagem padrão)
  • 2 = Resposta (r requer o hash da postagem original)
  • 3 = Curtir (r requer o hash da postagem)
  • 4 = Descurtir (Reverte o Tipo 3)
  • 5 = Retweet / Repostagem (r requer o hash da postagem)
  • 6 = Desfazer Retweet (Reverte o Tipo 5)

Subcanais e Roteamento Escuro (h Field)

  • Nível 1 e 2: As tags são passadas em texto puro.
  • Nível 3 (Criptografado): Passar tags em texto puro é estritamente proibido no nível do protocolo, pois isso vaza metadados. As tags devem ser criptografadas exatamente como o conteúdo (c). Para observadores externos, as tags são, portanto, completamente invisíveis (Roteamento Escuro).

Nível 3: Agrupamento Difuso (Fuzzy Bucketing) (m Field)

Como as tags são criptografadas no Nível 3, os clientes teoricamente precisam tentar descriptografar cada mensagem individual (Descriptografia de Tentativa). Para evitar sobrecarga de CPU, a Axiom usa Dicas de Mensagem:

  • O remetente calcula HMAC-SHA256(AES_Key, IV) e coloca os primeiros 2 bytes como campo m no payload CBOR.
  • Os receptores calculam esta dica para suas senhas armazenadas localmente. O processo caro de descriptografia só é executado se houver uma correspondência. Isso filtra 99,99% do tráfego irrelevante sem vazar metadados.

Identidade: Perfis Globais vs. Apelidos Privados

A Axiom lida com a identidade com total transparência: O endereço da carteira L2 (msg.sender) é a única identidade social e financeira. O protocolo transfere a responsabilidade pela OPSEC financeira inteiramente para o usuário (por exemplo, o uso de mixers e pontes para adquirir tokens de gás anonimamente).

A ação de atualização de perfil (t: 0) comporta-se de forma diferente dependendo do nível de segurança escolhido:

  1. Identidade Global (Nível 1 e 2) Se uma carteira enviar uma atualização de perfil não criptografada, ela serve como uma declaração global. A carteira torna-se conhecida em toda a rede sob este nome. Todos veem este nome (por exemplo, construindo uma reputação pública como @Dissidente99).
  2. Apelidos Privados e Alcunhas (Nível 3) Se uma carteira enviar uma atualização de perfil dentro de um payload criptografado de Nível 3, ela cria um apelido privado isolado. Este apelido é visível apenas dentro do subcanal descriptografado para usuários que conhecem a senha. Isso permite distribuições de papéis pseudônimos em grupos fechados sem alterar a identidade global. Prioridade de Renderização: Para o Nível 3, o frontend deve sempre verificar se existe um apelido local antes de recorrer ao nome global.

Arquitetura do Contrato Inteligente e Imposições de OPSEC

A Axiom depende de validação on-chain com complexidade O(1). Para manter os custos de gás no mínimo absoluto, o contrato inteligente realiza apenas verificações criptográficas básicas. Todas as validações de conteúdo intensivas em recursos são transferidas para os clientes (Camada 2).

1. Validação On-Chain (O Contrato Inteligente)

O contrato atua como um segurança incorruptível. Se um payload não aderir às regras estritas, a transação é revertida.

root@kitploit:~
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";

contract Axiom is Initializable, UUPSUpgradeable, OwnableUpgradeable {
    uint256 public entryFee;
    mapping(address => uint8) public walletPath; // 0=Nova, 1=CaminhoA(Nivel1), 2=CaminhoB(Nivel2/3)

    event AxiomPost(address indexed sender, uint8 level, bytes iv, bytes cbor, uint256 timestamp);

    /// @custom:oz-upgrades-unsafe-allow constructor
    constructor() {
        _disableInitializers();
    }

    function initialize() initializer public {
        __Ownable_init(msg.sender);
        entryFee = 0.0001 ether;
    }

    function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}

    function publishAxiom(
        uint8 _level,
        bytes calldata _iv,
        bytes calldata _cbor
    ) external payable {
        require(_level >= 1 && _level <= 3, "Nivel invalido");

        uint8 requiredPath = (_level == 1) ? 1 : 2;
        uint8 currentPath = walletPath[msg.sender];

        if (currentPath == 0) {
            require(msg.value >= entryFee, "Anti-Sybil: Taxa de entrada insuficiente");
            walletPath[msg.sender] = requiredPath;
        } else {
            require(msg.value == 0, "Taxa ja paga");
            require(currentPath == requiredPath, "Violacao de OPSEC: Carteira esta contaminada");
        }

        if (_level == 3) {
            require(_iv.length == 12, "Nivel 3 requer estritamente um IV de 12 bytes");
        } else {
            require(_iv.length == 0, "Niveis 1 e 2 requerem estritamente IV vazio");
        }

        emit AxiomPost(msg.sender, _level, _iv, _cbor, block.timestamp);
    }

    function withdraw() external onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }
}
  • Contaminação Bidirecional da Carteira (Isolamento Forçado): Se uma carteira posta no Nível 1 pela primeira vez, ela é permanentemente bloqueada dos Níveis 2/3. Se posta no Nível 2 ou 3 primeiro, o Nível 1 é bloqueado.
  • Parâmetros Obrigatórios: Para o Nível 3, o contrato impõe estritamente um IV de 12 bytes.

2. Validação Off-Chain (Pelos Clientes)

Se uma postagem violar as regras do protocolo, o cliente deve descartá-la silenciosamente (Drop Local).

  • O Bloqueador de Links do Nível 2: Os clientes escaneiam o texto puro (c) das mensagens de Nível 2. Se URLs, endereços IP ou tags típicas de mídia forem detectados, a postagem é completamente bloqueada.
  • Autolimpeza: Se um atacante enviar spam para a rede com links no Nível 2, ele pagará as taxas de gás, mas nenhum cliente Axiom válido renderizará essas mensagens.

Infraestrutura e Arquitetura de Cliente Recomendada

A Axiom é implantada em uma rede Ethereum Layer 2 (L2) (por exemplo, Arbitrum Nova).

Para evitar sobrecarregar dispositivos móveis (vida útil da bateria, limitações de armazenamento, limites do WebAssembly para Argon2id), a Axiom impõe uma arquitetura de cliente de alto desempenho:

  • Axiom Core (Nó Auto-Hospedado): Um servidor/container Docker (por exemplo, executando em um NAS) que lê a blockchain via RPC, indexa eventos e executa nativamente a criptografia intensiva em recursos.
  • Axiom UI (Cliente Leve): Um aplicativo móvel ou interface web que se comunica exclusivamente com o próprio Axiom Core do usuário através de uma API.

Recuperação de Dados e EIP-4444

Os clientes não baixam todo o estado da blockchain. Eles filtram pelo evento AxiomPost do contrato inteligente, que contém todos os dados necessários em texto puro (Remetente, Nível, IV, CBOR, Timestamp).

Como os nós Ethereum eventualmente descartarão dados históricos (eventos com mais de 365 dias) de acordo com o EIP-4444, o protocolo recomenda que Axiom Cores locais sirvam como arquivos descentralizados, armazenando os bancos de dados permanentemente.


Exemplo de Fluxo de Trabalho: Uma Postagem de Nível 3

Para ilustrar como a arquitetura funciona na prática, aqui está uma execução completa do ciclo de vida.

Cenário: Alice quer postar a mensagem "Reunião às 20h" no subcanal "AxiomDev". O grupo concordou previamente offline com a senha "Secret123".

Passo 1: Preparação Local e Criptografia (Axiom Core)

O Axiom Core de Alice lida com o trabalho computacional pesado:

  1. Derivação de Chave: Converte a senha em uma chave AES de 256 bits usando Argon2id.
  2. Geração de IV: Um vetor de inicialização aleatório de 12 bytes é gerado (por exemplo, 0x12ab34cd56ef789012ab34cd).
  3. Criptografia: O conteúdo e a tag ("AxiomDev") são criptografados usando AES-GCM.
  4. Geração de Dica: O hash HMAC de 2 bytes para agrupamento difuso é calculado (m: "0xa1b2").

Passo 2: Construção do Payload (Serialização CBOR)

Como o nível e o IV são passados diretamente para o contrato, eles são excluídos do objeto CBOR.

Representação JSON Interna:

root@kitploit:~
{
  "t": 1,
  "c": "0x8a4f...",
  "h": ["0x9b5e..."],
  "m": "0xa1b2"
}

Este JSON é comprimido em um array de bytes CBOR bruto (0xa3617401...) para economizar gás.

Passo 3: A Chamada do Contrato Inteligente (Interação com a Blockchain)

Alice aciona a função do contrato. Importante: A chamada é estritamente roteada através do Tor!

(Exemplos para L3 e L1:)

root@kitploit:~
// Exemplo 1: Cliente chamando o Contrato Inteligente para uma postagem criptografada de Nível 3
await axiomContract.publishAxiom(
    3,                                      // _level: 3
    "0x12ab34cd56ef789012ab34cd",           // _iv: string hex de 12 bytes necessária
    "0xa3617401616358208a4f..."             // _cbor: string hex CBOR compactada
);

// Exemplo 2: Cliente chamando o Contrato Inteligente para uma postagem pública de Nível 1
await axiomContract.publishAxiom(
    1,                                      // _level: 1
    "0x",                                   // _iv: array de bytes estritamente vazio
    "0xa361740161634c48656c6c6f204178..."   // _cbor: string hex CBOR compactada
);

O contrato inteligente então emite o evento:

Event: AxiomPost(Sender: 0xAlice..., Level: 3, IV: 0x12ab..., CBOR: 0xa361..., Timestamp: 1710425890)

Passo 4: Indexação e Descriptografia de Tentativa (Receptor)

O Axiom Core de Bob está ouvindo a blockchain e recebe o evento.

  1. Armazenamento Local e Reconhecimento: O evento é escrito no banco de dados local. O Core detecta Nível 3 e descompacta o CBOR para acessar o conteúdo, as tags e a dica m.
  2. Descriptografia de Tentativa: O Core verifica a dica de 2 bytes m em relação às senhas armazenadas de Bob.
  3. Correspondência e Encaminhamento: A dica corresponde a "Secret123". A tag GCM confirma que o payload não foi adulterado. Os dados são descriptografados na RAM e enviados para o smartphone de Bob através da API local. A mensagem "Reunião às 20h" aparece no feed "#AxiomDev".
  4. Acumulado Desconhecido: Para usuários sem a senha correta, a verificação da dica falha. Esse ruído de dados ilegíveis é automaticamente excluído após a expiração de um buffer rotativo (por exemplo, 30 dias).
Baixar ferramenta