Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions README.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,18 @@ WARN k.d.s.core.UrlPolicy : ssrf-guard: Host not allowed: evil.com (reason=block

모듈마다 자기 자동설정 보유 — `SsrfGuardRestTemplateAutoConfiguration`, `SsrfGuardWebClientAutoConfiguration`, `SsrfGuardFeignAutoConfiguration`, `SsrfGuardSpringAiAutoConfiguration`. 동일 `UrlPolicy`와 `SsrfGuardMetrics` 빈 공유. 모든 빈이 `@ConditionalOnMissingBean` — 일부만 교체 가능.

## TypeScript / JavaScript 형제 프로젝트 — ssrf-guard-js

같은 보안 모델을 JS 생태계로 포팅한
[`@devslab/ssrf-guard-js`](https://www.npmjs.com/package/@devslab/ssrf-guard-js)
([repo](https://github.com/devslab-kr/ssrf-guard-js) ·
[docs](https://devslab-kr.github.io/ssrf-guard-js/))가 있습니다: URL-time 검증
(`validateUrl`), DNS 검사 + optional `undici` socket pinning이 포함된 guarded
fetch (`safeFetch`, Node — 이 프로젝트의 DNS-time guard에 대응), Cloudflare
Workers/브라우저용 runtime-agnostic guarded fetch (`guardedFetch`), 그리고
`-llm` / `-springai` / `-langchain4j`에 대응하는 LLM tool-input URL guard
(`guardToolInputJson`).

## 요구사항

- Java 21+
Expand Down
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,18 @@ When `ssrf.guard.enabled=true` (the default), the RestClient autoconfig activate

Each module has its own auto-config — `SsrfGuardRestTemplateAutoConfiguration`, `SsrfGuardWebClientAutoConfiguration`, `SsrfGuardFeignAutoConfiguration`, `SsrfGuardSpringAiAutoConfiguration`. They all reuse the same `UrlPolicy` and `SsrfGuardMetrics` beans. Every bean is `@ConditionalOnMissingBean`, so you can swap any piece.

## TypeScript / JavaScript sibling — ssrf-guard-js

The same security model, ported to the JS ecosystem as
[`@devslab/ssrf-guard-js`](https://www.npmjs.com/package/@devslab/ssrf-guard-js)
([repo](https://github.com/devslab-kr/ssrf-guard-js) ·
[docs](https://devslab-kr.github.io/ssrf-guard-js/)): URL-time validation
(`validateUrl`), a guarded fetch with DNS checks and optional `undici` socket
pinning (`safeFetch`, Node — the counterpart of this project's DNS-time
guards), a runtime-agnostic guarded fetch for Cloudflare Workers / browsers
(`guardedFetch`), and the LLM tool-input URL guard (`guardToolInputJson`) —
the JS counterpart of `-llm` / `-springai` / `-langchain4j`.

## Requirements

- Java 21+
Expand Down
1 change: 1 addition & 0 deletions docs/index.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ ssrf:
- **GitHub**: <https://github.com/devslab-kr/ssrf-guard>
- **Maven Central**: <https://central.sonatype.com/artifact/kr.devslab/ssrf-guard>
- **Docs**: <https://ssrf-guard.devslab.kr/>
- **TypeScript / JavaScript 형제 프로젝트**: [`@devslab/ssrf-guard-js`](https://www.npmjs.com/package/@devslab/ssrf-guard-js) — 같은 보안 모델의 Node + edge 런타임 버전 ([repo](https://github.com/devslab-kr/ssrf-guard-js) · [docs](https://devslab-kr.github.io/ssrf-guard-js/))

## 라이선스

Expand Down
1 change: 1 addition & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ Continue to the [Installation guide](getting-started/installation.md) for the fu
- **GitHub**: <https://github.com/devslab-kr/ssrf-guard>
- **Maven Central**: <https://central.sonatype.com/artifact/kr.devslab/ssrf-guard>
- **Docs**: <https://ssrf-guard.devslab.kr/>
- **TypeScript / JavaScript sibling**: [`@devslab/ssrf-guard-js`](https://www.npmjs.com/package/@devslab/ssrf-guard-js) — the same security model for Node and edge runtimes ([repo](https://github.com/devslab-kr/ssrf-guard-js) · [docs](https://devslab-kr.github.io/ssrf-guard-js/))

## License

Expand Down