phishingstressor-webapp
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.1%) to scientific vocabulary
Last synced: 6 months ago
·
JSON representation
·
Repository
Basic Info
- Host: GitHub
- Owner: wwitteveen-ut
- Language: TypeScript
- Default Branch: main
- Size: 26.6 MB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Created 9 months ago
· Last pushed 7 months ago
Metadata Files
Citation
https://github.com/wwitteveen-ut/PhishingStressor-webapp/blob/main/
# Phishing Stressor Web Application
A Next.js-based web application for conducting and managing phishing research experiments in a controlled environment. This platform enables researchers to create experiments, compose emails, manage participants, and track engagement metrics.
## Features
### Researcher Features
- **Experiment Management**
- Create and manage research experiments
- Define experiment duration and participant groups
- Add/remove researchers from experiments
- Generate participant credentials
- **Email Management**
- Compose and schedule emails
- Rich text editor with formatting options
- File attachment support
- Email scheduling based on participant login time
- Email timeline visualization
- **Analytics & Tracking**
- Track email open rates
- Monitor link clicks and attachment interactions
- View participant responses and engagement
- Analyze phishing attempt success rates
- Visual heatmaps for email interactions
### Participant Features
- **Email Interface**
- Realistic email client interface
- Email viewing and responding capabilities
- Attachment handling
## Development Setup
1. Install dependencies:
```bash
yarn install
```
2. Copy `.env.example` to `.env` and fill in the required environment variables.
3. Run the development server:
```bash
yarn dev
```
4. To build the project for production:
```bash
yarn build
```
5. To start the production server after building:
```bash
yarn start
```
## Technology Stack
- **Frontend Framework**: Next.js (with TypeScript)
- **UI Components**: Mantine UI
- **Rich Text Editing**: TipTap
- **State Management**: Zustand
- **Authentication**: Auth.js
- **API Mocking**: MSW (Mock Service Worker)
## Project Structure
```
src/
app/ # Next.js app router pages
auth/ # Authentication logic and components
mail/ # Email client implementation
actions/ # Email-related server actions
components/ # Email UI components
store/ # Email state management
utils/ # Email-related utilities
researcher/ # Researcher dashboard implementation
actions/ # Researcher server actions
components/ # Researcher UI components
store/ # Researcher state management
shared/ # Shared utilities and components
mocks/ # Mock data and API handlers
```
6. Open [http://localhost:3000](http://localhost:3000) in your browser
Owner
- Login: wwitteveen-ut
- Kind: user
- Repositories: 1
- Profile: https://github.com/wwitteveen-ut
Citation (CITATION.cff)
cff-version: 1.2.0
title: PhishingStressor-interface
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Wessel
family-names: Witteveen
repository-code: >-
https://github.com/wwitteveen-ut/PhishingStressor-webapp.git
abstract: >-
Phishing remains a widespread cyber threat, highlighting
the need for research environments that capture realistic
user behaviour to enhance tools to combat the issue.
Existing methods, such as surveys and quizzes, often fall
short because participants are aware that they are being
studied, leading to unnatural responses. This paper
presents a novel artifact to address these issues: a
scenario-based phishing simulation interface developed as
a TypeScript-based Next.js web application named
PhishingStressor, to be combined with the backend of a
separately created artifact. Following the Design Science
Methodology, an artifact is described featuring a
minimalist email client interface inspired by modern web
clients, offering a recognizable and comfortable
environment for participants. It enables researchers to
design and manage experiments with randomized control
groups and provides visualization tools to analyse user
behaviour.
keywords:
- cybersecurity
- design science research
- phishing simulation
- user interface
version: 1.0.0
GitHub Events
Total
- Push event: 2
- Create event: 1
Last Year
- Push event: 2
- Create event: 1
Dependencies
package.json
npm
- @eslint/eslintrc ^3 development
- @tailwindcss/postcss ^4 development
- @types/node ^20 development
- @types/react ^19 development
- @types/react-dom ^19 development
- eslint ^9 development
- eslint-config-next 15.3.2 development
- msw ^2.8.2 development
- postcss ^8.5.3 development
- postcss-preset-mantine ^1.17.0 development
- postcss-simple-vars ^7.0.1 development
- tailwindcss ^4 development
- typescript ^5 development
- @mantine/charts ^8.0.0
- @mantine/code-highlight ^8.0.0
- @mantine/core ^8.0.1
- @mantine/dates ^8.0.0
- @mantine/dropzone ^8.0.1
- @mantine/form ^8.0.0
- @mantine/hooks ^8.0.2
- @mantine/modals ^8.0.2
- @mantine/notifications ^8.1.0
- @mantine/nprogress ^8.0.0
- @mantine/tiptap ^8.0.1
- @tabler/icons-react ^3.33.0
- @tanstack/react-query ^5.76.1
- @tiptap/extension-highlight ^2.14.0
- @tiptap/extension-link ^2.12.0
- @tiptap/extension-placeholder ^2.12.0
- @tiptap/extension-subscript ^2.14.0
- @tiptap/extension-superscript ^2.14.0
- @tiptap/extension-text-align ^2.14.0
- @tiptap/extension-underline ^2.14.0
- @tiptap/pm ^2.12.0
- @tiptap/react ^2.12.0
- @tiptap/starter-kit ^2.12.0
- @types/html-to-text ^9.0.4
- dayjs ^1.11.13
- heatmap-ts ^0.0.5
- html-to-text ^9.0.5
- lucide-react ^0.510.0
- next 15.3.2
- next-auth ^5.0.0-beta.28
- react ^19.0.0
- react-dom ^19.0.0
- recharts 2
- zustand ^5.0.4
yarn.lock
npm
- 673 dependencies