Skip to content

Commit d4d249e

Browse files
authored
Merge branch 'main' into path-traversal-fix
2 parents 5e18c63 + 0c8236a commit d4d249e

162 files changed

Lines changed: 55264 additions & 39068 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.eslintrc.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ module.exports = {
1414
}
1515
},
1616
parser: '@typescript-eslint/parser',
17-
ignorePatterns: ['**/node_modules', '**/dist', '**/build', '**/package-lock.json'],
17+
ignorePatterns: ['**/node_modules', '**/dist', '**/build', '**/coverage', '**/package-lock.json'],
1818
plugins: ['unused-imports'],
1919
rules: {
2020
'@typescript-eslint/explicit-module-boundary-types': 'off',
@@ -24,6 +24,6 @@ module.exports = {
2424
'no-undef': 'off',
2525
'no-console': [process.env.CI ? 'error' : 'warn', { allow: ['warn', 'error', 'info'] }],
2626
'prettier/prettier': 'error',
27-
'no-control-regex': 0 // Disable no-control-regex to allow control characters in regex patterns, which is required for vector store path validation
27+
'no-control-regex': 0 // Used to match control regex's in user input
2828
}
2929
}

.github/workflows/docker-image-ecr.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ on:
2424
required: true
2525
default: 'latest'
2626

27+
permissions:
28+
contents: read # Required for checkout
29+
id-token: write # Required for AWS OIDC
30+
2731
jobs:
2832
docker:
2933
runs-on: ubuntu-latest
@@ -45,12 +49,22 @@ jobs:
4549
uses: docker/setup-buildx-action@v3.0.0
4650

4751
- name: Configure AWS Credentials
52+
if: ${{ inputs.environment != 'prod' }}
4853
uses: aws-actions/configure-aws-credentials@v3
4954
with:
5055
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
5156
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
5257
aws-region: ${{ secrets.AWS_REGION }}
5358

59+
- name: Configure AWS OIDC Credentials
60+
if: ${{ inputs.environment == 'prod' }}
61+
uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0
62+
with:
63+
aws-region: ${{ secrets.AWS_REGION }}
64+
role-to-assume: ${{ secrets.AWS_OIDC_IAM_ROLE }}
65+
mask-aws-account-id: true
66+
unset-current-credentials: true
67+
5468
- name: Login to Amazon ECR
5569
uses: aws-actions/amazon-ecr-login@v1
5670

.github/workflows/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ jobs:
3131
cache-dependency-path: 'pnpm-lock.yaml'
3232
- run: pnpm install
3333
- run: pnpm lint
34+
- run: pnpm test:coverage
3435
- run: pnpm build
3536
env:
3637
NODE_OPTIONS: '--max_old_space_size=4096'

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
# dependencies
66
**/node_modules
77
**/package-lock.json
8+
!**/examples/package-lock.json
89
**/yarn.lock
910

1011
## logs

.husky/pre-commit

100644100755
File mode changed.

.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ prefer-workspace-packages = true
44
link-workspace-packages = deep
55
hoist = true
66
shamefully-hoist = true
7+
engine-strict = false

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v20.19.2

SECURITY.md

Lines changed: 61 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,85 @@
22

33
At Flowise, we prioritize security and continuously work to safeguard our systems. However, vulnerabilities can still exist. If you identify a security issue, please report it to us so we can address it promptly. Your cooperation helps us better protect our platform and users.
44

5+
### Scope
6+
- Flowise Cloud: cloud.flowiseai.com
7+
- Public Flowise Repositories
8+
59
### Out of scope vulnerabilities
610

7-
- Clickjacking on pages without sensitive actions
8-
- CSRF on unauthenticated/logout/login pages
11+
- Hypothetical issues that do not have a demonstrable, practical impact
12+
- Vulnerabilities that affect out-of-date browsers
13+
- ClickjackingCSRF on unauthenticated/logout/login pages
14+
- Banner disclosure on common/public services
15+
- Disclosure of known public files or directories (e.g. robots.txt)
916
- Attacks requiring MITM (Man-in-the-Middle) or physical device access
1017
- Social engineering attacks
11-
- Activities that cause service disruption (DoS)
18+
- Denial service via bruteforce attack
1219
- Content spoofing and text injection without a valid attack vector
20+
- Username enumeration via Login Page error message
21+
- Username enumeration via Forgot password error message
22+
- Bruteforce attacks
1323
- Email spoofing
1424
- Absence of DNSSEC, CAA, CSP headers
1525
- Missing Secure or HTTP-only flag on non-sensitive cookies
1626
- Deadlinks
1727
- User enumeration
28+
- Social Engineering
29+
- Version Disclosure
30+
- Vulnerabilities that can only affect the attacker (e.g. self-XSS)
31+
- Known vulnerabilities in used libraries (unless exploitability can be proven)
32+
- Static application security testing findings
33+
1834

1935
### Reporting Guidelines
2036

2137
- Submit your findings to https://github.com/FlowiseAI/Flowise/security
2238
- Provide clear details to help us reproduce and fix the issue quickly.
2339

24-
### Disclosure Guidelines
40+
### Reporting Guidelines
41+
42+
- Submit your findings to https://github.com/FlowiseAI/Flowise/security
43+
- Ensure that the vulnerability is exploitable. Theoretical or static application security testing reports are subject to dismissal.
44+
- Submit the report with CVSS vector and calculated severity.
45+
- Provide a clear detailed report with proof of concept to help us reproduce and remediate the vulnerability.
46+
47+
### Disclosure Terms
48+
49+
The Flowise team believes that transparency is important and public bug bounty reports are a valuable source of knowledge for bug bounty researchers. However, the Flowise team may have legitimate reasons not to disclose vulnerabilities.
2550

26-
- Do not publicly disclose vulnerabilities until we have assessed, resolved, and notified affected users.
27-
- If you plan to present your research (e.g., at a conference or in a blog), share a draft with us at least **30 days in advance** for review.
28-
- Avoid including:
29-
- Data from any Flowise customer projects
30-
- Flowise user/customer information
31-
- Details about Flowise employees, contractors, or partners
51+
Do not discuss or disclose vulnerability information without prior written consent. If you plan on presenting your research, please share a draft with us at least 45 days in advance for review. Avoid including:
52+
- Data from any Flowise customer projects
53+
- Flowise user/customer information
54+
- Details about Flowise employees, contractors, or partners
3255

33-
### Response to Reports
56+
### Report Validation Times
3457

35-
- We will acknowledge your report within **5 business days** and provide an estimated resolution timeline.
36-
- Your report will be kept **confidential**, and your details will not be shared without your consent.
58+
We will validate submissions within the below timelines.
59+
| Vulnerability Severity | Time to Validate |
60+
| ---------------------- | ---------------- |
61+
| Critical | 5 business days |
62+
| High | 5 business days |
63+
| Medium | 15 business days |
64+
| Low | 15 business days |
3765

66+
Your report will be kept *confidential*, and your details will not be shared without your consent. The Flowise team will triage and adjust severity or CVSS score if necessary.
3867
We appreciate your efforts in helping us maintain a secure platform and look forward to working together to resolve any issues responsibly.
68+
69+
### Remediation
70+
71+
Once the report has been verified, the Flowise team will plan the remediation steps.
72+
Below is the estimated time to remediate the triaged security reports.
73+
74+
| Triaged Severity | Estimated Time to Remediate |
75+
| ---------------------- | ---------------- |
76+
| Critical | 30 business days |
77+
| High | 60 business days |
78+
| Medium | 90 business days |
79+
80+
### Public Disclosure Timeline
81+
82+
Public Disclosure occurs exactly 30 days after the next official release that includes the security patch. This period gives Flowise users a time to adopt the patched version before technical vulnerability details are made public, mitigating the risk of immediate post-disclosure exploitation.
83+
84+
#### Reaching out to the Security team
85+
To report a new vulnerability, please submit a Github security Security Advisory report.
86+
If you have any questions or concerns about the existing Security Advisory, please contact security-team@flowiseai.com.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
"user:windows": "cd packages/server/bin && run user",
2525
"user:default": "cd packages/server/bin && ./run user",
2626
"test": "turbo run test",
27+
"test:coverage": "turbo run test:coverage",
2728
"clean": "pnpm --filter \"./packages/**\" clean",
2829
"nuke": "pnpm --filter \"./packages/**\" nuke && rimraf node_modules .turbo",
2930
"format": "prettier --write \"**/*.{ts,tsx,md}\"",

packages/agentflow/.eslintignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
dist
2+
node_modules
3+
build
4+
coverage
5+
*.config.ts
6+
*.config.js
7+
vite.config.ts
8+
examples/dist
9+
examples/vite.config.ts

0 commit comments

Comments
 (0)