Auditoria
O CACiC Event Manager e a infraestrutura de hospedagem devem ser auditados periodicamente.
A auditoria do código-fonte do CACiC Event Manager pode ser feita por qualquer pessoa por meio do repositório público no GitHub.
A auditoria da infraestrutura de hospedagem pode ser feita apenas por:
- Servidores da FCT da área de tecnologia;
- Diretores autorizados pela diretoria executiva das entidades estudantis do curso de Ciência da Computação:
- Entendem-se como diretoria executiva os cargos de presidente e vice-presidente;
- Entendem-se como entidades estudantis do curso o CACiC e a EJComp;
- Apenas um diretor executivo é necessário para autorizar a auditoria. Não é necessário que diretores de ambas as entidades autorizem a auditoria;
- Alunos desenvolvedores que contribuíram significativamente para o projeto.
- A interpretação de "contribuição significativa" neste caso específico fica a cargo da diretoria executiva de uma das entidades conforme critérios supracitados nesta lista.
Servidores ou alunos que não se encaixam nos critérios acima só podem realizar a auditoria do que está disponível publicamente no repositório do CACiC Event Manager.
Isso se deve ao fato de que a infraestrutura de hospedagem contém informações pessoais dos usuários do CACiC Event Manager e eventuais vulnerabilidades desconhecidas que podem ser exploradas.
Caso solicitado, a configuração do servidor pode ser disponibilizada para a auditoria.
Lead developers
Os lead developers exercem o papel de auditoria externa voluntária para evitar o problema descrito na seção deficiências evidentes.
Por serem externos e voluntários, não podem ser responsabilizados por problemas de segurança.
Seu trabalho é preferencialmente passivo: por conta própria, podem revisar e sugerir mudanças para os responsáveis da infraestrutura e do código.
Lista de lead developers:
- Vazia
A lista de lead developers deve ser mantida atualizada e divulgada publicamente pelo CACiC. Os membros devem ser ativos.
O acesso de um lead developer perdura enquanto ele faz parte da lista.
O acesso deve ser garantido pelo CACiC e pela EJComp e decisões tomadas pelos lead developers devem ser respeitadas pelas entidades.
Adição e remoção de lead developers
Poderá haver a inclusão de novos lead developers por decisão de metade mais um dos lead developers atuais.
Poderá haver a renúncia voluntária de um lead developer ou a deposição por decisão de metade mais um dos lead developers atuais.
Após exauridas todas as tentativas de contato com um lead developer, ele será considerado renunciado após um prazo de 3 meses.
Competências
Os lead developers possuem poderes irrestritos. Por exemplo, eles podem:
- Atualizar o código do CACiC Event Manager e de suas dependências;
- Embargar o acesso de qualquer pessoa ao servidor;
- Remover o aplicativo do ar;
- Exigir correções de segurança dos encarregados de dados e infraestrutura;
- Impedir mudanças na licença do código do CACiC Event Manager;
- Questionar a substituição do CACiC Event Manager por outro projeto;
- Questionar mudanças da infraestrutura;
- Notificar o Departamento de Matemática e Computação e a Diretoria Técnica de Informática (DTI) sobre problemas de segurança.
Não compete aos lead developers:
- A responsabilidade automática de manter a infraestrutura de hospedagem do CACiC Event Manager;
- A responsabilidade de manter o código do CACiC Event Manager, que é do CACiC;
- A responsabilidade legal da segurança dos dados, que é dos encarregados de dados;
- Isso não implica que os lead developers não possam aplicar ou exigir correções de segurança, ou notificar entidades sobre problemas de segurança.
Para alterar estas especificações de lead developers, é necessária a aprovação unânime dos lead developers.
Um lead developer pode embargar decisões de outro lead developer individualmente.
Para a reversão de um embargo, é necessária a aprovação de metade mais um dos lead developers excluindo o embargado.
Código
Conforme a concessão do CACiC Event Manager:
O CACiC Event Manager é disponibilizado sob a licença AGPL-3.0-only e não pode ser relicenciado.
O código do CACiC Event Manager deve ser mantido em um repositório público no GitHub.
Auditoria automática
CodeQL
O código do CACiC Event Manager é verificado pelo CodeQL a cada push no repositório.
O CodeQL é uma ferramenta de análise estática de código que verifica a existência de vulnerabilidades.
Dependabot
O Dependabot verifica se há atualizações de dependências no repositório.
Mozilla Observatory
O Mozilla Observatory é uma ferramenta que verifica a segurança do site e da hospedagem.
O CACiC Event Manager deve manter uma pontuação de segurança A+, exceto quando impossibilitado por limitações técnicas.
CSP Evaluator
O CSP Evaluator é uma ferramenta que verifica a eficácia do Content Security Policy (CSP) do site.