metlo
Metlo is an open-source API security platform.
File Explorer
Download Latest Version (.zip)- build-cli.yml
- build-testing.yml
- build.yml
- deploy-develop-images.yaml
- deploy-latest-images.yaml
- index.ts
- index.ts
- index.ts
- index.ts
- validate.ts
- index.ts
- data-fields.ts
- graph.ts
- hosts.ts
- index.ts
- index.ts
- service.ts
- index.ts
- index.ts
- index.ts
- endpoints.ts
- index.ts
- sensitive-data.ts
- summary.ts
- env.ts
- get-gen-test-endpoint.ts
- index.ts
- index.ts
- index.ts
- client-errors.ts
- error-400-bad-request.ts
- error-401-unauthorized.ts
- error-404-not-found.ts
- error-409-conflict.ts
- error-422-unprocessable-entity.ts
- error-500-internal-server.ts
- body-parser-middleware.ts
- verify-api-key-middleware.ts
- 1665782029662-init-migration.ts
- 1666678487137-add-unique-constraint-api-endpoint.ts
- 1666752646836-drop-analyzed-column-from-api-trace.ts
- 1666941075032-add-index-for-data-field.ts
- 1667095325334-add-isgraphql-column-api-endpoint.ts
- 1667259254414-add-apiEndpointUuid-index-for-alert.ts
- 1667599667595-add-metlo-config-table.ts
- 1667606447208-update-disabledPaths-column-blockFields-table.ts
- 1669778297643-remove-apiKeyType-enum.ts
- 1670447292139-add-webhook-table.ts
- 1670653006577-add_endpoint_ips.ts
- 1671143857165-add-hosts-column-to-webhook.ts
- 1671511060114-add-api-spec-columns-to-data-field.ts
- 1671609270282-add-unique-null-index-for-data-field.ts
- 1671813043343-custom-data-classes.ts
- 1672708787156-data-field-unique-constraint.ts
- 1672962660470-add-tracehash-column-to-data-field.ts
- 1673073826153-user-set-endpoint-column.ts
- 1673465613593-remove-host-primary-key-authenticationconfig.ts
- 1673503553138-metloConfigEnv.ts
- 1676006521189-add-host-and-method-index.ts
- 1676065168441-addFullTraceCaptureEnabledColumn.ts
- 1676358211583-addOriginalHostTraceColumn.ts
- 1676508983994-add-testing-config-table.ts
- 1677073188312-hosts_list.ts
- 1677479141637-endpoint-graphql-columns.ts
- 1677803493465-drop-array-fields.ts
- 1678477672617-remove-trace-hash.ts
- 1679174209000-add-resource-perms-endpoint.ts
- 1679515538397-api-endpoint-token-columns.ts
- 1680412314105-add-tokens-api-endpoint.ts
- 1681005220368-add-graphql-schema-table.ts
- aggregate-trace-data-hourly.ts
- alert.ts
- api-endpoint-test.ts
- api-endpoint.ts
- api-trace.ts
- attack.ts
- authentication-config.ts
- block-fields.ts
- connections.ts
- data-field.ts
- gql-schema.ts
- hosts.ts
- index.ts
- instance-settings.ts
- keys.ts
- metlo-base-entity.ts
- metlo-config.ts
- openapi-spec.ts
- sessions.ts
- testing-config.ts
- webhook.ts
- generate-alerts.ts
- index.ts
- new-endpoint.ts
- openapi-spec.ts
- sensitive-data.ts
- utils.ts
- index.ts
- index.ts
- index.ts
- index.ts
- utils.ts
- index.ts
- utils.ts
- analyze.ts
- utils.ts
- analyze.ts
- index.ts
- utils.ts
- index.ts
- utils.ts
- graph.ts
- index.ts
- new-detections.ts
- path-heuristic.ts
- queries.ts
- index.ts
- constants.ts
- detect-private-hosts.ts
- detect-sensitive-data.ts
- fix-endpoints.ts
- generate-openapi-spec.ts
- processor.ts
- queries.ts
- types.ts
- update-hourly-trace-agg.ts
- utils.ts
- wrap-processor.ts
- index.ts
- index.ts
- index.ts
- constants.ts
- index.ts
- populate-tables.ts
- types.ts
- validate.ts
- analyze-trace.ts
- utils.ts
- analyze-trace.ts
- regexp.ts
- scan.ts
- utils.ts
- validate.ts
- index.ts
- index.ts
- queries.ts
- utils.ts
- alerts.ts
- endpoints.ts
- index.ts
- piiData.ts
- usageStats.ts
- env.ts
- utils.ts
- index.ts
- populate-endpoint-perms.ts
- index.ts
- db.ts
- encryption.ts
- hash.ts
- index.ts
- node-cache.ts
- redis.ts
- words.json
- analyze-traces.ts
- analyzer.ts
- api-response-handler.ts
- collector.ts
- constants.ts
- data-source.ts
- index.ts
- jobs.ts
- logger.ts
- multer-source.ts
- resource-limit.ts
- types.ts
- package.json
- tsconfig.json
- yarn.lock
- cliUtils.ts
- constants.ts
- ec2Utils.ts
- list.ts
- mirroring.ts
- remove.ts
- sessionUtils.ts
- setup.ts
- setupUtils.ts
- types.ts
- utils.ts
- cleanup.ts
- gcp_apis.ts
- gcpUtils.ts
- list.ts
- remove.ts
- setup.ts
- constants.ts
- init-data.ts
- init-templates.ts
- fuzz.ts
- generate.ts
- init-custom-templates.ts
- push-template.ts
- run.ts
- utils.ts
- validate.ts
- index.ts
- init.ts
- types.ts
- utils.ts
- .npmignore
- package.json
- README.md
- tsconfig.json
- yarn.lock
- alert.ts
- endpoint.ts
- summary.ts
- testing-config.ts
- trace.ts
- webhook.ts
- enums.ts
- maps.ts
- types.ts
- utils.ts
- package.json
- tsconfig.json
- yarn.lock
- deployment.bicep
- deployment.json
- Dockerfile
- metlo-manager-deployment.json
- metlo-traffic-mirror-deployment.json
- readme.md
- Dockerfile
- Dockerfile
- install.sh
- metlo-traffic-mirror-analyzer.service
- metlo-traffic-mirror.service
- update.sh
- Dockerfile
- Dockerfile
- entrypoint.sh
- postgres-entrypoint.sh
- supervisord.conf
- validate-env.py
- Dockerfile
- deploy_script.sh
- AWS_dark.svg
- AWS_light.svg
- BURPSUITE_dark.svg
- BURPSUITE_light.svg
- DOCKERCOMPOSE_dark.svg
- DOCKERCOMPOSE_light.svg
- GCP_dark.svg
- GCP_light.svg
- GOLANG_dark.svg
- GOLANG_light.svg
- JAVA_dark.svg
- JAVA_light.svg
- KUBERNETES_dark.svg
- KUBERNETES_light.svg
- NODE_dark.svg
- NODE_light.svg
- PYTHON_dark.svg
- PYTHON_light.svg
- metlo_logo.svg
- metlo_logo_horiz.svg
- metlo_logo_horiz_negative.svg
- apple-touch-icon.png
- favicon-16x16.png
- favicon-32x32.png
- favicon.ico
- index.ts
- index.ts
- index.ts
- index.ts
- index.ts
- index.ts
- updateEmail.ts
- index.ts
- index.ts
- index.ts
- index.ts
- index.ts
- utils.ts
- AlertComponent.tsx
- AlertDetail.tsx
- AlertList.tsx
- AlertPanel.tsx
- utils.ts
- aws.tsx
- burpsuite.tsx
- dockercompose.tsx
- gcp.tsx
- go.tsx
- java.tsx
- kubernetes.tsx
- node.tsx
- python.tsx
- types.ts
- index.tsx
- renderDocModal.tsx
- AlertDetail.tsx
- AlertList.tsx
- AlertTab.tsx
- DataFieldDetail.tsx
- DataFieldList.tsx
- DataFieldTags.tsx
- EditPath.tsx
- GraphQlSchema.tsx
- index.tsx
- Overview.tsx
- PIIChart.tsx
- RawHTTPTrace.tsx
- sensitive-data-utils.ts
- SpecComponent.tsx
- TraceDetail.tsx
- TraceList.tsx
- UsageChart.tsx
- Filters.tsx
- index.tsx
- List.tsx
- AggPIIChart.tsx
- AlertActions.tsx
- HomeUpdateEmailView.tsx
- index.tsx
- LatestAlerts.tsx
- SummaryStats.tsx
- TopEndpoints.tsx
- UsageChart.tsx
- Filters.tsx
- index.tsx
- List.tsx
- index.tsx
- layout.ts
- node.tsx
- index.tsx
- webhook.tsx
- keyAddedPrompt.tsx
- list.tsx
- newKeys.tsx
- Chart.tsx
- Filters.tsx
- index.tsx
- List.tsx
- ConnectionSetup.tsx
- GetStarted.tsx
- HomeOnboardingView.tsx
- ListenRequests.tsx
- AggPIIChart.tsx
- Filters.tsx
- index.tsx
- List.tsx
- BulkActions.tsx
- index.tsx
- NavLinkUtils.tsx
- SideNavLink.tsx
- UserProfile.tsx
- index.tsx
- index.tsx
- List.tsx
- index.tsx
- Card.tsx
- ContentContainer.tsx
- DarkModeSwitch.tsx
- EditableControls.tsx
- EmptyView.tsx
- ListNumber.tsx
- MetloAvatar.tsx
- StatusCode.tsx
- TableUtils.tsx
- TagList.tsx
- Logo.tsx
- PageWrapper.tsx
- PaginationComponent.tsx
- PWEmptyView.tsx
- SidebarLayoutShell.tsx
- use-debounce.ts
- AiFillApi.ts
- AiFillLock.ts
- AiFillSecurityScan.ts
- AiOutlineCode.ts
- AiOutlineFileSearch.ts
- BiCheckCircle.ts
- BiChevronRightCircle.ts
- BiInfoCircle.ts
- BiTestTube.ts
- BsFileCode.ts
- BsSearch.ts
- BsShieldLockFill.ts
- FaBell.ts
- FaChevronRight.ts
- FaCog.ts
- FaHome.ts
- FaRegCopy.ts
- FaShareAlt.ts
- FiCheckCircle.ts
- FiClock.ts
- FiDownload.ts
- FiMenu.ts
- FiPlus.ts
- FiServer.ts
- GiCancel.ts
- GrDocumentConfig.ts
- GrStackOverflow.ts
- HiOutlineExclamationCircle.ts
- HiPencil.ts
- HiPlus.ts
- HiShieldCheck.ts
- ImCheckmark.ts
- ImCross.ts
- IoMdCopy.ts
- IoMdTrash.ts
- iconContext.tsx
- index.tsx
- RiEyeFill.ts
- RiEyeOffFill.ts
- TiFlowSwitch.ts
- VscKey.ts
- index.tsx
- [name].tsx
- _app.tsx
- _document.tsx
- alerts.tsx
- attacks.tsx
- endpoints.tsx
- hosts.tsx
- index.tsx
- sensitive-data.tsx
- settings.tsx
- tests.tsx
- constants.ts
- enums.ts
- main.css
- theme.tsx
- utils.ts
- .eslintrc.json
- .gitignore
- next-env.d.ts
- next.config.js
- package.json
- README.md
- tsconfig.json
- yarn.lock
- PingHome.java
- RateLimitedRequests.java
- Extension.java
- gradle-wrapper.jar
- gradle-wrapper.properties
- build.gradle
- gradlew
- gradlew.bat
- settings.gradle
- go.mod
- go.sum
- metlo_gin.go
- go.mod
- go.sum
- metlo_gorilla.go
- metloingest.pb.go
- metloingest_grpc.pb.go
- block.go
- block_test.go
- go.mod
- go.sum
- logger.go
- Makefile
- mappers.go
- metlo.go
- trace.go
- go.work
- go.work.sum
- ContentCachingResponseWrapperWithHeaderNames.java
- PingHome.java
- RateLimitingRequests.java
- Metlo.java
- pom.xml
- pom.xml.versionsBackup
- jvm.config
- jvm.config
- MetloReactiveAutoConfiguration.kt
- spring-configuration-metadata.json
- spring.factories
- .gitkeep
- pom.xml
- jvm.config
- ReactiveMetloRequestClient.kt
- MetloConfigurationProperties.kt
- MetloTraceRequestModel.kt
- NameValuePair.kt
- CachingWebExchangeDecorator.kt
- MetloReactiveWebFilter.kt
- .gitkeep
- pom.xml
- .gitattributes
- .gitignore
- format.sh
- pom.xml
- README.md
- readme.md
- metlo-daemonset.yaml
- metlo-sidecar.yaml
- express.ts
- fastify.ts
- index.ts
- koa.ts
- types.ts
- index.ts
- workerTarget.ts
- index.ts
- index.ts
- types.ts
- package.json
- README.md
- tsconfig.json
- yarn.lock
- __init__.py
- django.py
- flask.py
- Makefile
- pyproject.toml
- README.md
- setup.cfg
- mutation.py
- query.py
- query_get.py
- query_introspection.py
- subscription.py
- utils.py
- add_product_to_cart.py
- ecommerce_services.py
- edit_admin_config.py
- edit_product.py
- edit_product_price.py
- get_admin_config.py
- get_cart.py
- get_cart_command_exec.py
- get_cart_command_exec_user.py
- get_product.py
- get_product_ssrf.py
- get_product_ssrf_user.py
- get_product_xss.py
- get_product_xss_user.py
- login.py
- login_sqli.py
- make_purchase.py
- new_cart.py
- new_product.py
- register.py
- services.py
- utils.py
- add_billing.py
- add_charge.py
- get_billing.py
- get_user.py
- new_user.py
- payment_services.py
- user_verify.py
- utils.py
- get_user.py
- utils.py
- __init__.py
- base.py
- utils.py
- .python-version
- main.py
- metloingest_pb2.py
- metloingest_pb2.pyi
- metloingest_pb2_grpc.py
- requirements.txt
- add_product_to_cart.py
- get_cart.py
- get_product.py
- login.py
- make_purchase.py
- new_cart.py
- new_product.py
- register.py
- utils.py
- __init__.py
- base.py
- Dockerfile
- init_testing_demo.py
- main.py
- requirements.txt
- admin.ts
- cart.ts
- product.ts
- user.ts
- client-errors.ts
- error-400-bad-request.ts
- error-401-unauthorized.ts
- error-404-not-found.ts
- error-409-conflict.ts
- error-500-internal-server.ts
- error-hash-string.ts
- index.ts
- cart.ts
- index.ts
- product.ts
- user.ts
- warehouse.ts
- cart.ts
- product.ts
- user.ts
- api-response-handler.ts
- data-source.ts
- index.ts
- types.ts
- utils.ts
- .dockerignore
- Dockerfile
- package.json
- pm2.json
- tsconfig.json
- yarn.lock
- admin.ts
- cart.ts
- product.ts
- user.ts
- client-errors.ts
- error-400-bad-request.ts
- error-401-unauthorized.ts
- error-404-not-found.ts
- error-409-conflict.ts
- error-500-internal-server.ts
- error-hash-string.ts
- index.ts
- cart.ts
- index.ts
- product.ts
- user.ts
- warehouse.ts
- cart.ts
- product.ts
- user.ts
- api-response-handler.ts
- data-source.ts
- index.ts
- types.ts
- utils.ts
- .dockerignore
- Dockerfile
- package.json
- pm2.json
- tsconfig.json
- yarn.lock
- admin.ts
- cart.ts
- product.ts
- user.ts
- client-errors.ts
- error-400-bad-request.ts
- error-401-unauthorized.ts
- error-404-not-found.ts
- error-409-conflict.ts
- error-500-internal-server.ts
- error-hash-string.ts
- index.ts
- cart.ts
- index.ts
- product.ts
- user.ts
- warehouse.ts
- cart.ts
- product.ts
- user.ts
- api-response-handler.ts
- data-source.ts
- index.ts
- types.ts
- utils.ts
- .dockerignore
- Dockerfile
- package.json
- pm2.json
- tsconfig.json
- yarn.lock
- .dockerignore
- Dockerfile
- index.js
- package.json
- yarn.lock
- main.rs
- .gitignore
- Cargo.lock
- Cargo.toml
- index.ts
- sqli.ts
- sqli_time.ts
- xss.ts
- auth-test-step-gen.ts
- builder.ts
- enums.ts
- generate-auth-tests.ts
- permissions.ts
- sample-request.ts
- types.ts
- index.ts
- test_resource_config.pegjs
- test_resource_config.ts
- assertions.ts
- extractors.ts
- index.ts
- request.ts
- step.ts
- utils.ts
- bola-admin-v1.ts
- bola-multi-tenant-v1.ts
- bola-v1.ts
- broken-authentication-v1.ts
- csp-v1.ts
- generic-v1.ts
- hsts-v1.ts
- index.ts
- sqli-time-v1.ts
- types.ts
- validate-auth-rules-v1.ts
- constants.ts
- context.ts
- enums.ts
- resource_config.ts
- test.ts
- index.ts
- utils.ts
- .npmignore
- package.json
- tsconfig.json
- yarn.lock
- .dockerignore
- .gitignore
- .nvmrc
- .prettierrc
- docker-compose-local.yaml
- docker-compose.yaml
- init.sql
- LICENSE
- Makefile
- manage-deployment.py
- metlo-config.yaml
- README.md
- SECURITY.md
# Installation Guide
git clone https://github.com/metlo-labs/metlo
Downloads the entire project code from GitHub to your computer.
cd metlo
Moves into the project folder you just downloaded.
2. Docker
Easy Recommended- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker compose up -d --build
Builds and starts all defined containers (server, database, etc.) at once, in the background.
3. Maven (Java)
Medium- Git Needed to download the project code from GitHub.
- JDK (Java) Required to build and run Java projects.
- Maven The build tool used for the mvn command.
cd ingestors/java/spring-reactive
This project's files live in a subfolder, so move into it first.
mvn clean install
Installs dependencies and builds the project using Maven.
4. Gradle (Java/Kotlin)
Medium- Git Needed to download the project code from GitHub.
- JDK (Java) Required to build and run Java/Kotlin projects.
- Gradle If the repo includes gradlew (Gradle Wrapper), you don't need to install Gradle separately.
cd ingestors/burp suite
This project's files live in a subfolder, so move into it first.
./gradlew build
Builds the project using Gradle.
5. Node.js
Easycd backend
This project's files live in a subfolder, so move into it first.
npm install
Downloads and installs the libraries listed in package.json.
npm start
Starts the development/run server.
6. Python
Easypip install -r ingestors/test_data/requirements.txt
Installs the Python libraries listed in requirements.txt (or similar).
python <μ€νν νμΌλͺ
>.py # READMEμμ μ νν μ€ν νμΌλͺ
μ νμΈνμΈμ
Runs the Python script (or module).
7. Go
Mediumcd ingestors/golang/gin
This project's files live in a subfolder, so move into it first.
go build ./...
Compiles the Go program into an executable.
go run .
Runs the Go program directly without a separate build step.
8. Rust
Medium- Git Needed to download the project code from GitHub.
- Rust (rustup) Installing via rustup also installs cargo.
cd sample-service/sample-high-perf-service
This project's files live in a subfolder, so move into it first.
cargo build --release
Compiles the Rust project.
cargo run
Builds and then immediately runs the program.
9. Make
Medium- Git Needed to download the project code from GitHub.
- Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
make
Compiles the code based on the generated build configuration to produce an executable.
