testing-api-manual
Facilitates manual API testing for pharmaceutical workflows using Docker and Clerk JWT authentication, ensuring efficient job execution.
Install this skill
Security score
The testing-api-manual skill was audited on Feb 28, 2026 and we found 43 security issues across 4 threat categories. Review the findings below before installing.
Categories Tested
Security Issues
Template literal with variable interpolation in command context
| 54 | ```bash |
Template literal with variable interpolation in command context
| 191 | ```bash |
Curl to non-GitHub URL
| 35 | curl http://localhost:8080/health |
Curl to non-GitHub URL
| 80 | curl -X POST http://localhost:8080/jobs \ |
Curl to non-GitHub URL
| 113 | curl http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" |
Curl to non-GitHub URL
| 120 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.status, .gamp_category' |
Curl to non-GitHub URL
| 169 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.' |
Curl to non-GitHub URL
| 175 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.status' |
Curl to non-GitHub URL
| 178 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.gamp_category' |
Curl to non-GitHub URL
| 181 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.result.test_suite' |
Curl to non-GitHub URL
| 184 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.error' |
Curl to non-GitHub URL
| 197 | RESPONSE=$(curl -s -X POST http://localhost:8080/jobs \ |
Curl to non-GitHub URL
| 209 | STATUS=$(curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq -r '.status') |
Curl to non-GitHub URL
| 221 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.' |
Curl to non-GitHub URL
| 233 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.result.test_suite' | head -20 |
Curl to non-GitHub URL
| 373 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.error' |
Curl to non-GitHub URL
| 401 | curl -X POST http://localhost:8080/jobs -H "Authorization: Bearer $TOKEN" -F "file=@datasets/urs_corpus_v2/category_3/URS-020.md" |
Curl to non-GitHub URL
| 404 | curl http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" |
Curl to non-GitHub URL
| 407 | while true; do curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.status, .gamp_category'; sleep 10; done |
Access to .env file
| 39 | 3. **.env.local with Clerk credentials:** |
Access to .env file
| 59 | TOKEN=$(python3 scripts/get_clerk_token.py --user-id user_35KgiAcvIC0tdtFvJUN1vDkrNYc --env-file .env.local) |
Access to .env file
| 193 | TOKEN=$(python3 scripts/get_clerk_token.py --user-id user_35KgiAcvIC0tdtFvJUN1vDkrNYc --env-file .env.local) |
Access to .env file
| 285 | TOKEN=$(python3 scripts/get_clerk_token.py --user-id user_35KgiAcvIC0tdtFvJUN1vDkrNYc --env-file .env.local) |
Access to .env file
| 294 | 3. Check Clerk credentials in .env.local: |
Access to .env file
| 296 | grep CLERK .env.local |
Access to .env file
| 398 | TOKEN=$(python3 scripts/get_clerk_token.py --user-id user_35KgiAcvIC0tdtFvJUN1vDkrNYc --env-file .env.local) |
External URL reference
| 35 | curl http://localhost:8080/health |
External URL reference
| 80 | curl -X POST http://localhost:8080/jobs \ |
External URL reference
| 113 | curl http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" |
External URL reference
| 120 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.status, .gamp_category' |
External URL reference
| 169 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.' |
External URL reference
| 175 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.status' |
External URL reference
| 178 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.gamp_category' |
External URL reference
| 181 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.result.test_suite' |
External URL reference
| 184 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.error' |
External URL reference
| 197 | RESPONSE=$(curl -s -X POST http://localhost:8080/jobs \ |
External URL reference
| 209 | STATUS=$(curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq -r '.status') |
External URL reference
| 221 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.' |
External URL reference
| 233 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.result.test_suite' | head -20 |
External URL reference
| 373 | curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.error' |
External URL reference
| 401 | curl -X POST http://localhost:8080/jobs -H "Authorization: Bearer $TOKEN" -F "file=@datasets/urs_corpus_v2/category_3/URS-020.md" |
External URL reference
| 404 | curl http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" |
External URL reference
| 407 | while true; do curl -s http://localhost:8080/jobs/$JOB_ID -H "Authorization: Bearer $TOKEN" | jq '.status, .gamp_category'; sleep 10; done |