Empower Your Safety, Outsmart Phishing Threats Today
- Scan URLs for phishing indicators using a simple web interface.
- AI-based detection (simulated, can be replaced with a real ML model).
- Stores scan results in DynamoDB.
- Sends alerts via SNS for high-risk URLs.
- User-friendly frontend built with React.
- Node.js and npm
- AWS account and AWS CLI
- Amplify CLI (optional, for deployment)
-
Package Lambda:
- Zip your Lambda code (
lambda_function.pyand dependencies) aslambda_function.zip.
- Zip your Lambda code (
-
Upload Lambda to S3:
- Upload
lambda_function.zipto an S3 bucket in your AWS account.
Important:
The Lambda function and the S3 bucket must be in the same AWS region for successful deployment. - Upload
-
Deploy AWS Resources:
-
Use the provided
resource.yml(inside backend dir) CloudFormation template to deploy all backend resources (DynamoDB, SNS, Lambda, API Gateway, Cognito). -
Pass your project name and the S3 bucket/key for the Lambda zip as parameters.
-
Example command:
aws cloudformation deploy \ --template-file resource.yml \ --stack-name <your-stack-name> \ --parameter-overrides ProjectName=<your-project-name> CodeBucket=<your-s3-bucket> CodeObjectKey=<your-lambda-zip-path> \ --capabilities CAPABILITY_NAMED_IAM
-
Parameters:
ProjectName: Name prefix for all resources (e.g., phishguardai)CodeBucket: S3 bucket name where Lambda code is storedCodeObjectKey: S3 key (object path) to the Lambda zip file
-
After deployment, note the output values for:
- API Gateway URL
- Cognito User Pool ID
- Cognito User Pool Client ID
- Region
-
-
Set Environment Variables:
-
Before deploying with Amplify or running locally, set the following environment variables:
VITE_APIGATEWAY_BASE_URL(API Gateway endpoint from CloudFormation output)VITE_APIGATEWAY_REGION(AWS region)VITE_COGNITO_USER_POOL_CLIENT_ID(from CloudFormation output)VITE_COGNITO_USER_POOL_ID(from CloudFormation output)
-
For Amplify deployment:
InFrontend build commandandBuild output directoryuploadbuildspec.ymlfrom frontend/amplify dir. Add these variables in the Amplify Console under "Environment variables" before deploying. -
For local development:
Create a.envfile in thefrontenddirectory:VITE_APIGATEWAY_BASE_URL=... VITE_APIGATEWAY_REGION=... VITE_COGNITO_USER_POOL_CLIENT_ID=... VITE_COGNITO_USER_POOL_ID=...
-
-
Install dependencies:
cd frontend npm install -
Start the development server:
npm run dev
-
Open http://localhost:5173 to use the app.
- Enter URLs or emails in the input field.
- Click "Scan".
- View the risk assessment and details.
....
PhishGuardAI – Protect yourself from phishing threats!