aws-sdk-java-v2-core — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited aws-sdk-java-v2-core (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill to set up AWS SDK for Java 2.x clients with production-safe defaults.
It focuses on the decisions that matter most:
Keep SKILL.md focused on setup and delivery flow. Use the references/ files for deeper API details and expanded examples.
S3Client, DynamoDbClient) and async (S3AsyncClient, SqsAsyncClient) clientsS3Client, DynamoDbClient) for request/response flowsS3AsyncClient, SqsAsyncClient) for concurrency, streaming, or backpressureUse DefaultCredentialsProvider with environment-aware defaults:
Override only for multi-account access, test isolation, or profile switching.
Verify: Call StsClient.getCallerIdentity() at startup to confirm credentials resolve.
Set production values explicitly:
Use ApacheHttpClient for sync and NettyNioAsyncHttpClient for async.
Verify: Confirm timeouts and retry behavior under failure conditions.
In Spring Boot:
@Bean singletonsVerify: Check clients are not created inside hot execution paths.
Close custom HTTP clients and SDK clients during shutdown if lifecycle is not managed automatically.
At the boundary layer:
SdkException or service-specific exceptions@PostConstruct in Spring Boot configuration to fail fast on startup if credentials are missingStsClient stsClient = StsClient.builder().build();
GetCallerIdentityResponse identity = stsClient.getCallerIdentity();
// Logs: Successfully authenticated as: {identity.arn()}@Configuration
public class AwsClientConfiguration {
@Bean
S3Client s3Client() {
return S3Client.builder()
.region(Region.of("eu-south-2"))
.credentialsProvider(DefaultCredentialsProvider.create())
.httpClientBuilder(ApacheHttpClient.builder()
.maxConnections(100)
.connectionTimeout(Duration.ofSeconds(3)))
.overrideConfiguration(ClientOverrideConfiguration.builder()
.apiCallAttemptTimeout(Duration.ofSeconds(10))
.apiCallTimeout(Duration.ofSeconds(30))
.build())
.build();
}
}SqsAsyncClient sqsAsyncClient = SqsAsyncClient.builder()
.region(Region.US_EAST_1)
.credentialsProvider(DefaultCredentialsProvider.create())
.httpClientBuilder(NettyNioAsyncHttpClient.builder()
.maxConcurrency(200)
.connectionTimeout(Duration.ofSeconds(3))
.readTimeout(Duration.ofSeconds(20)))
.overrideConfiguration(ClientOverrideConfiguration.builder()
.apiCallTimeout(Duration.ofSeconds(30))
.build())
.build();DefaultCredentialsProvider unless a project requirement says otherwise.references/api-reference.mdreferences/best-practices.mdreferences/developer-guide.mdaws-sdk-java-v2-secrets-manageraws-sdk-java-v2-s3aws-sdk-java-v2-dynamodbaws-sdk-java-v2-bedrock~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.