TaaC AI
1.0.0
It leverages AI to analyze service descriptions, identify security threats, visualize data flow and suggest remediations based on the STRIDE framework and OWASP guidelines. The script generates in-depth HTML report and includes feature for manual risk assessment.

Set the openai api key as an environment variable OPENAI_KEY and ANTHROPIC_KEY in your operating system
OpenAI API Anthropic API
Linux/Mac
export OPENAI_KEY=sk-ApiKeyExampleexport ANTHROPIC_KEY=sk-ant-api03-ApiKeyExampleWindows
set OPENAI_KEY=sk-ApiKeyExampleset ANTHROPIC_KEY=sk-ant-api03-ApiKeyExamplepip3 install -r requirements.txtollama pull mistralollama serveNow you can use mistral as the main model:
python3 TaaC-AI.py --model mistral <path_to_yaml_file>Or for cross-validation
python3 TaaC-AI.py --model claude --cross-validation mistral <path_to_yaml_file>taac_yaml_generator.py that will guide you through the process of generating one
python3 TaaC-AI.py <path_to_yaml_file>Use gpt-4, claude or mistral as a model to identify threats by specifying the --model option
python3 TaaC-AI.py --model gpt-4 <path_to_yaml_file>To perform Threats result validation by another LLM use --cross-validation option.
python3 TaaC-AI.py --model claude --cross-validation claude <path_to_yaml_file>Version: '1.0'
Date: 14.11.2023
# Authentication Service Description
Description:
Name: AuthService
Type: Service
Criticality: Tier1
# Service Functionality
Functionality: Handles user authentication, including login and token generation.
# Data Processing Details
DataProcessed:
Type: Confidential
DataCategory: Auth
EncryptionAtRest: Yes
# Components Used by the Service
Components:
Internal:
Exist: Yes
Source: Private
Note: Scoped Package Access
External:
Exist: Yes
PackageManager: NPM
# Pipeline Configuration
Pipeline:
Type: GithubActions
CODEOWNERS: Yes
BranchProtection: Yes
SignCommits: Yes
PinActions: Yes
# Network Information
Network:
Access: Private
# Authentication Service Data Flow
dataFlow: # Removed the dash here
- name: UserAuthenticationFlow
description: Authenticates users and issues tokens.
source: UserLoginInterface
EncryptionTransit: Yes
Authentication:
Exist: Yes
Type: JWT
Authorization: read-write
Protocol: HTTPS
Communication:
Type: RESTful API
interactions:
- from: UserLoginInterface
to: AuthService
method: RESTful API
protocol: HTTPS
- from: AuthService
to: UserDatabase
method: Query
protocol: JDBC
servicesInvolved: [UserLoginInterface, AuthService, UserDatabase]



All suggestions write to [email protected]