← Project case studies

Swiss CRM
software

We assessed server-side validation in web and API functions and built an environment for repeatedly testing the responses and tool execution of AI used in business workflows.

Project overview

Objective
Assess input validation and AI workflows in enterprise software
Scope
File uploads · Password changes · Test automation for business AI
Deliverables
Reproduction evidence and remediation recommendations for web and API vulnerabilities, plus AI test execution and analysis records

From server-side validation to actual AI execution.

For file uploads and password changes, we compared input restrictions in the interface with server-side processing and identified vulnerabilities that allowed validation to be bypassed.

For business AI, we connected login, document uploads and AI execution. We collected responses, tool calls and resulting data changes, and designed the process to compare automated analysis with execution records.

Client and product identifiers have been removed. Technical examples have been reconstructed for explanation and reflect observations made during a past assessment. They do not indicate the client's current security status or whether remediation has been completed.

Assessment details

Select an item to review the assessment process and technical evidence.

File upload validation
05FILE UPLOAD / INPUT VALIDATIONSwiss CRM software · Anonymised case

Duplicate filename attributes
bypassed file extension validation.

An upload request blocked with a single filename attribute was accepted when the same attribute was submitted more than once. We confirmed that this allowed a file with a prohibited extension to be stored.

Risk and impact

The validation and storage stages used different filename values. A file accepted during validation could therefore be stored with a prohibited extension.

Assessment method

A request containing only a prohibited extension was rejected with 403. When an allowed extension and a prohibited extension were submitted in sequence under the same attribute, the upload was accepted with a 200 response.

Remediation guidance

We recommended rejecting duplicate or ambiguous filename values and using the same value for validation and storage. We also recommended explicitly defining allowed extensions and file types on the server, and separately controlling storage locations and filenames.

RETEST CRITERIA

Retest criteria

Verify that prohibited extensions are rejected for both single and duplicate values. The filename that passes validation must match the stored filename, and legitimate files must remain uploadable.

Password policy enforcement
06PASSWORD POLICY / API CONTROLSSwiss CRM software · Anonymised case

The password policy
was not enforced by the API.

Unlike the input restrictions in the interface, direct API requests accepted short passwords or empty values. Password change requests were also not rate-limited.

Risk and impact

Browser-side input restrictions alone cannot enforce a password policy. Requests sent without using the interface could set weak passwords, and the server lacked controls for repeated calls to the password change function.

Assessment method

Using a test account, we submitted short and empty values to the password change API. We compared whether values blocked in the interface were processed by the server with a 200 response, and also checked rate limits on password change requests.

Remediation guidance

We recommended enforcing the password policy consistently on the server and rejecting empty values and weak passwords. Password change requests should also be subject to appropriate rate limits and attempt logging.

RETEST CRITERIA

Retest criteria

Verify that the interface and API follow the same password policy. Legitimate changes must remain possible, while repeated requests are subject to the agreed limits and recorded in the logs.

Test automation for business AI
07AI SECURITY / TEST AUTOMATIONSwiss CRM software · Project case study

AI responses and tool execution
were tested within actual business workflows.

We built an automation environment for repeatedly testing business AI assistants. It connected login, business data creation, document uploads and AI execution, and was designed to verify responses, tool calls and resulting data changes.

Implementation objective

Model responses alone do not adequately reveal how a service enforces permissions or carries out business processes. We designed tests to run through the application's standard interfaces and examine the interactions between documents, user permissions and tools.

Assessment scope

The checks covered prompt injection in documents, free-text input and metadata; system prompt disclosure; data isolation between organisations; tool misuse; and parameter manipulation. Separate reliability tests were designed to assess factual accuracy, consistency and adherence to the required response format.

Review of analysis results

We combined canary markers for detecting disclosure, LLM-based evaluation and rule-based analysis. Findings flagged by automated analysis were checked directly against response and tool-call records, so that only substantiated findings would be included in the final analysis.

DELIVERABLES

Records for development team retesting

We recorded version-specific inputs and expected behaviour alongside requests, responses, repeated test results and tool calls. The process was designed to verify automated judgements and include substantiated evidence in the analysis report.

View AI security assessment scope

Assessing enterprise services and AI together.

We propose an assessment approach based on the target systems and the business tasks assigned to the AI.

Project enquiry
ANONYMISED / SAMPLE REPORT
FELSEN SECURITY / WEB ASSESSMENT

Security assessment
Sample report

An anonymised Korean-language excerpt following the format of an actual security assessment report. Client identifiers have been removed, and omitted passages are marked in the document.

Executive summary
Summarises the distribution of vulnerabilities and remediation priorities.
Scope and methodology
Specifies the assessment targets, validation methods and scope.
Detailed analysis excerpts
Explains missing HSTS headers and input format validation with sample responses.
Remediation guidance
Sets out the impact of vulnerabilities and the improvements required.

Korean · PDF · 8 pages · 739 KB

Anonymised and reconstructed from past assessment work. This does not describe a client’s current security status or confirm that remediation is complete.

PRIVACY NOTE

How inquiry information is handled

This site’s inquiry form does not send your entries to its own server or store them in browser storage. We do not use analytics tools or marketing cookies.

The email button opens your email app. You send the message yourself from that app. Include only the information needed for your inquiry, and do not send passwords, access tokens or actual client data.

Copying your inquiry and saving files take place on your device when you press the relevant button. The hosting provider may process connection information needed to operate the service.

For inquiries and requests to delete information: mingi.hong@gainge.com